Startup
如何在 i3wm 的不同工作區中自動啟動多個應用程序
我正在嘗試在不使用 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>"'
這會切換到不同的工作區並打開不同的應用程序/終端。