长话短说:
如何在 i3wm 中实现 no_focus 指令以及如何根据我键入绑定以打开程序的工作区动态地将程序分配到工作区(即,我按下按键绑定,即使我的焦点已打开,workspace n
它也会打开)workspace n
更改为workspace n + 1
程序完全加载之前)?
语境:我在 i3wm 中有一些我使用的键绑定(具体来说是 Arch 上的 i3-gaps),例如
bindsym $mod+Shift+W exec chromium
bindsym $mod+Shift+I exec chromium --incognito
bindsym $mod+Shift+F exec firefox
但我不喜欢新打开的窗口的焦点窃取,尤其不喜欢我所在的行为workspace n
,跳转到workspace n + 1
点击我的键绑定,跳回继续workspace n
在终端中执行某些任务,同时等待程序加载,并且,lo ,程序加载到我当前的位置workspace n
,而不是workspace n + 1
我点击按键绑定的位置。
我已经发现这个解释在 i3wm 文档中,确切地讨论了我在窗口聚焦方面想要的内容,但找不到我可以修改的单个示例命令:no_focus [window_role="pop-up"]
,他们给出的示例对我来说没有意义。我尝试过exec no_focus chromium
一些no_focus exec chromium
不太明智的组合,但它们似乎都不起作用:我不知道如何执行该命令。
我也不确定,一旦我让它工作,在工作空间上键入绑定是否会强制程序在该工作空间上打开,而不是跟随我到我的新工作空间。我知道工作区分配(从未实现过,但这是另一个问题),但更喜欢有一个动态工作区分配,就像我详细介绍的那样:基于执行键绑定的工作区的工作区分配。