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

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

i3の起動時に特定のワークスペースでアプリケーションを起動する方法は?

私の設定ファイルでこれがうまくいかないのはなぜですか? :

workspace 1; exec firefox; workspace 2; exec chromium; workspace 1

答え1

~によるとアーチウィキi3ページ、特定のワークスペースでアプリケーションを自動的に起動するには、次のものを使用できますi3-msg

exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'

答え2

# 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

答え3

私はi3が起動するのではなく、ワークスペースが起動したときにのみ自動的に起動しますが、役に立つかもしれないと思いました。

たとえば、「web」という2番目のワークスペースでWebブラウザを起動するには、設定で次の手順を実行します。

bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s

キー2を押すとWebブラウザが起動しますが、すでに開いているときに再起動するのではなくWebワークスペースに切り替えます。

注:レイアウト部分は時々迷惑になることがありますが、必ずしもそうではありません。

詳細については、次を参照してください。私の会議

答え4

ただ使用してくださいassign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>

関連情報