起動時にi3の特定のワークスペースでアプリケーションを起動するにはどうすればよいですか?
これが私の設定ファイルで機能しないのはなぜですか? :
workspace 1; exec firefox; workspace 2; exec chromium; workspace 1
Arch Wiki i3ページ によると、特定のワークスペースでアプリケーションを自動起動するには、i3-msg
を使用します。
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
# This is what I use in ie config
# custom variables for workspaces
set $ws1 "1< txt >"
set $ws2 "2> fm "
set $ws3 "3< Web >"
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
##==================================================##
# *** Workspace specific settings *** #
##=================================================##
# Assign Workspaces:
assign [class="Firefox"] $ws3
assign [class="Chromium"] $ws3
assign [class="Google-chrome-beta"] $ws3
assign [class="^Geany"] $ws1
注:設定を適用するには、以下を使用できます。
i3-msg reload
これは、ワークスペースの起動時のみの自動起動であり、i3の起動時の自動起動ではありませんが、便利だと思いました。
たとえば、名前付きの2番目のワークスペース "web"でWebブラウザーを起動するには、次のようにします。
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
キー2を押すとWebブラウザーが起動しますが、既に開いているのに再起動せず、Webワークスペースに切り替わります。
注:レイアウトパーツは煩わしい場合がありますが、必須ではありません。
詳細は my conf を参照してください
私は~/.config/i3/config
ファイルの最後でこれを動作させました:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>
。それは私のために働いています。