floating toggle1.直截了当bindsym

floating toggle1.直截了当bindsym

我在 Manjaro 上安装了 i3。我试图让某些键绑定以浮动方式启动某些东西,而其他键绑定则不启动。到目前为止,我尝试了几种方法:

floating toggle1.直截了当bindsym

# in i3/config
bindsym $mod+p          exec $term -e python
bindsym $mod+Shift+p            exec $term -e python; floating toggle

不幸的是,这会以正常(拆分/选项卡/堆叠)模式启动 Python,而我在启动 Python 之前一直关注的都是这个模式。

2. 将每个 Python 启动到bindsym浮动

# in i3/config
for_window [title="python"] floating toggle
bindsym $mod+p          exec $term -e python

这实际上可以自动以浮动模式启动 Python!然而,任何和每一个Python 窗口以bindsym浮动模式启动...

3.自定义窗口标题

# in i3/config
for_window [title="[.*]_floating"] floating toggle
bindsym $mod+p          exec --title "python_floating" $term -e python

不幸的是,exec似乎没有标志,--title所以bindsym根本不起作用。

我尝试阅读文档man i3到目前为止还没有找到任何有用的信息。这个问题似乎还没有解决。我在谷歌上找到的 3 个类似帖子[1] [2] [3]看起来像我的解决方案#2;

鉴于我建议的解决方案并未完全解决这个问题,我该如何启动只有某些bindsym以浮动模式启动的东西?

答案1

你的第三个选项非常接近。正如 i3 FAQ 中提到的这里乌尔希终端您可以使用-name参数。然后可以根据以下条件定义它是否浮动:实例

例如你的浮动/非浮动python可以像这样完成:

set $term urxvt

# floating python
for_window  [class="URxvt" instance="floating"] floating toggle resize set 1500 1000, move position 100 200
bindsym $mod+Shift+P exec $term -name 'floating' -e python

# not floating
bindsym $mod+Shift+O exec $term -name 'not' -e python

相关内容