我在 Manjaro 上安装了 i3。我试图让某些键绑定以浮动方式启动某些东西,而其他键绑定则不启动。到目前为止,我尝试了几种方法:
floating toggle
1.直截了当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