在 i3wm 中,如何在启动时在另一个工作区中打开程序?
In i3wm how can I open programs on another workspace at startup?
我在我的配置文件中尝试了多种方法来让 Chromium 在 $ws2 上打开,但它在启动时一直在 $ws1 上打开。
首先你必须从 xprop 中找到 WM_CLASS(STRING)
。打开 xprop 并单击目标 window 您将看到有关该 window 的信息。找到 WM_CLASS(STRING)
第二个字符串(对于 i3wm)然后转到 i3 wm .config/i3/config
的配置文件并定义这样的规则 for_window [class="Chromium"] move to workspace $ws2 for_window [class="TelegramDesktop"] move to workspace $ws3
这里把class="String"
替换成我们之前用xprop找到的字符串。
或者,按照 4.17 of the i3 User’s Guide 部分中的说明,在您的配置文件中插入一个 assign
声明,例如assign [class="Chromium"] $ws2
。这将直接在指定的工作区上打开程序。但是,对于像 Spotify 这样性能较差的程序,需要 for_window ... move to workspace ...
方法在程序打开后移动程序。
要在启动期间在特定工作区上打开程序(在您的情况下为 chromium)并 return 到您的第一个工作区:
1: 将以下内容添加到您的 ~/.config/i3/config 文件中。
exec --no-startup-id i3-msg 'workspace $ws2; exec PROGRAM; workspace $ws1'
1a: 将示例中的“$ws2”替换为您要使用的工作区的名称。
1b:用 PROGRAM 的任何选项替换 运行(execute) 的程序名称。此部分不需要引号
1c: 将示例中的“$ws1”替换为您想要 return 的工作空间的名称,或者省略“;工作空间 $ws1”以进入 $ws2。
1d:确保你在我将它们包含在示例中的地方有单引号
2:保存编辑(我让编辑器保持打开状态,以防我必须在原地重启后更改文件)
3: 测试:
3a:让 i3 重新读取配置文件(在我的系统上是 mod4+shift+c)
3b:就地重启 i3(在我的系统上是 mod4+shift+r)
注意:我在我的配置中使用 $ws1 $ws2 等,因为一旦这些配置完成,我就可以更轻松地在一个地方更改标题和很棒的图标,而不是在许多地方。无耻地从 i3 和其他人那里偷来的方法是我所有 linux 的知识。 :-)
我在我的配置文件中尝试了多种方法来让 Chromium 在 $ws2 上打开,但它在启动时一直在 $ws1 上打开。
首先你必须从 xprop 中找到 WM_CLASS(STRING)
。打开 xprop 并单击目标 window 您将看到有关该 window 的信息。找到 WM_CLASS(STRING)
第二个字符串(对于 i3wm)然后转到 i3 wm .config/i3/config
的配置文件并定义这样的规则 for_window [class="Chromium"] move to workspace $ws2 for_window [class="TelegramDesktop"] move to workspace $ws3
这里把class="String"
替换成我们之前用xprop找到的字符串。
或者,按照 4.17 of the i3 User’s Guide 部分中的说明,在您的配置文件中插入一个 assign
声明,例如assign [class="Chromium"] $ws2
。这将直接在指定的工作区上打开程序。但是,对于像 Spotify 这样性能较差的程序,需要 for_window ... move to workspace ...
方法在程序打开后移动程序。
要在启动期间在特定工作区上打开程序(在您的情况下为 chromium)并 return 到您的第一个工作区:
1: 将以下内容添加到您的 ~/.config/i3/config 文件中。
exec --no-startup-id i3-msg 'workspace $ws2; exec PROGRAM; workspace $ws1'
1a: 将示例中的“$ws2”替换为您要使用的工作区的名称。
1b:用 PROGRAM 的任何选项替换 运行(execute) 的程序名称。此部分不需要引号
1c: 将示例中的“$ws1”替换为您想要 return 的工作空间的名称,或者省略“;工作空间 $ws1”以进入 $ws2。
1d:确保你在我将它们包含在示例中的地方有单引号
2:保存编辑(我让编辑器保持打开状态,以防我必须在原地重启后更改文件)
3: 测试:
3a:让 i3 重新读取配置文件(在我的系统上是 mod4+shift+c)
3b:就地重启 i3(在我的系统上是 mod4+shift+r)
注意:我在我的配置中使用 $ws1 $ws2 等,因为一旦这些配置完成,我就可以更轻松地在一个地方更改标题和很棒的图标,而不是在许多地方。无耻地从 i3 和其他人那里偷来的方法是我所有 linux 的知识。 :-)