web-dev-qa-db-ja.com

i3wm:i3の起動時に特定のワークスペースでアプリケーションを起動します

起動時にi3の特定のワークスペースでアプリケーションを起動するにはどうすればよいですか?

これが私の設定ファイルで機能しないのはなぜですか? :

workspace 1; exec firefox; workspace 2; exec chromium; workspace 1
61
Gradient

Arch Wiki i3ページ によると、特定のワークスペースでアプリケーションを自動起動するには、i3-msgを使用します。

exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
65
jasonwryan
# 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

14
head-shot

これは、ワークスペースの起動時のみの自動起動であり、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 を参照してください

11
tyjak

私は~/.config/i3/configファイルの最後でこれを動作させました:

for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
7
robru

assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>。それは私のために働いています。

1
Tanmoy Nandi