Antworten:
Laut der Arch Wiki i3-Seite verwenden Sie zum automatischen Starten einer Anwendung in einem bestimmten Arbeitsbereich Folgendes i3-msg:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
google-chrome-stableimmer im letzten Arbeitsbereich in meinem Setup geöffnet. Mit dieser Konfiguration wird Chrome beispielsweise in Arbeitsbereich 4 neben "htop" geöffnet.
# 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
classArgument verwendeten Zeichenfolge zusammenhängen . Gibt es eine Möglichkeit, genau zu wissen, welcher Klasse eine Anwendung zugeordnet ist?
xprop | grep CLASSim Terminal, ändert sich Ihr Mauszeiger in ein Fadenkreuz, klicken Sie auf das Programm, dessen Klasse Sie abrufen möchten, und verwenden Sie die zweite Variable, die in Ihrem Terminal angezeigt wird. Beispielergebnis für Chrome:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xpropBefehl werden die Fenster nicht dem gewünschten Arbeitsbereich zugewiesen.
for_window [class="Spotify"] move to workspace $ws10dem $ws10sich Ihre Arbeitsbereichsvariable befindet.
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, wird er nicht neu gestartet, sondern wechselt einfach zum Webarbeitsbereich.
Hinweis: Das Layout kann manchmal ärgerlich sein, es ist keine Voraussetzung.
Weitere Details finden Sie in meinem conf
pidginjedem Start in den dritten Arbeitsbereich zu wechseln , habe ich in der Konfiguration assign [class="Pidgin"] $tag3.
Ich habe es gerade am Ende meiner ~/.config/i3/configDatei zum Laufen gebracht:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
set $ws1 "Firefox"und fügen Sie dann die folgende Zeile einfor_window [class="Firefox"] move to workspace $ws1
Verwenden Sie einfach assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>. Es funktioniert für mich.
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'funktioniert. Aber ich finde es ein wenig seltsam zu verwenden ,execaufi3-msgdem ein Befehl ist gemeint i3 Befehle auszuführen. Warum kann ich nicht direktworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1in meine Konfigurationsdatei schreiben ?