Startup

如何在 i3wm 的不同工作區中自動啟動多個應用程序

  • August 13, 2019

我正在嘗試在不使用 classes的情況下在不同的工作區中啟動不同的應用程序。

當 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 中打開Firefox,在工作區2 中打開**Emacs

  • 不使用類,所以如果我想在不同的工作區中打開同一個應用程序的另一個實例,我應該能夠做到。

相關但不重複:在特定工作區上啟動沒有類屬性的應用程序

我第一次使用 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>"'

這會切換到不同的工作區並打開不同的應用程序/終端。

引用自:https://unix.stackexchange.com/questions/533371