如何在 i3wm 的不同工作区中自动启动多个应用程序

如何在 i3wm 的不同工作区中自动启动多个应用程序

我正在尝试在不同的工作区中启动不同的应用程序不使用类

我已经尝试过该建议i3 启动时在特定工作区启动应用程序 通过包含在i3/config

exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/firefox'
exec --no-startup-id i3-msg 'workspace 2; exec /usr/bin/emacsclient -c'

但它打开了两个都同一工作区中的应用程序(1)。

我怎样才能打开火狐浏览器在工作区 1 和Emacs在工作区 2 中?

  • 不使用类,所以如果我想在不同的工作区中打开同一应用程序的另一个实例,我应该能够做到。

相关但不重复:在特定工作区启动没有类属性的应用程序

答案1

我第一次使用i3时也遇到过类似的问题。我发现最简单的解决方案就是sleep在每个应用程序之间快速添加一个。例如,这是我的启动命令部分的一部分i3/config

exec --no-startup-id sh -c 'sleep 1; i3-msg "workspace 10: <icon>"'
exec --no-startup-id "sh -c 'sleep 2; exec gnome-terminal --working-directory=/media/Data/Music -e ranger'"
exec --no-startup-id sh -c 'sleep 3; i3-msg "splitv"'
exec --no-startup-id sh -c 'sleep 4; exec gnome-terminal -e cava'
exec --no-startup-id sh -c 'sleep 5; i3-msg "focus up"; i3-msg "splith"'
exec --no-startup-id sh -c 'sleep 6; i3-msg "workspace 3: <icon>"'

这会切换到不同的工作区并打开不同的应用程序/终端。

相关内容