it-swarm.com.de

i3wm: Starten Sie Anwendungen in bestimmten Arbeitsbereichen, wenn i3 gestartet wird

Wie kann ich Anwendungen in bestimmten Arbeitsbereichen in i3 starten, wenn es gestartet wird?

Warum funktioniert das in meiner Konfigurationsdatei nicht? ::

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

Laut Arch Wiki i3-Seite verwenden Sie i3-msg, Um eine Anwendung in einem bestimmten Arbeitsbereich automatisch zu starten:

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

HINWEIS: Um die Konfiguration anzuwenden, können Sie Folgendes verwenden:

i3-msg reload

14
head-shot

Es ist nur ein Autostart beim Start des Arbeitsbereichs, kein Autostart beim Start von i3, aber ich dachte, es könnte nützlich sein.

Um beispielsweise meinen Webbrowser im genannten zweiten Arbeitsbereich "Web" zu starten, habe ich Folgendes in meiner Konfiguration getan:

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

Wenn ich Taste 2 drücke, wird mein Webbrowser gestartet, aber wenn er bereits geöffnet ist, wurde er nicht neu gestartet, sondern nur zum Web-Arbeitsbereich gewechselt.

Hinweis: Der Layout-Teil kann manchmal ärgerlich sein, ist jedoch keine Voraussetzung.

Für weitere Details siehe my conf

11
tyjak

Ich habe es gerade am Ende meiner ~/.config/i3/config - Datei zum Laufen gebracht:

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

Benutz einfach assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>. Es funktioniert für mich.

1
Tanmoy Nandi