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-stable
immer 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
class
Argument verwendeten Zeichenfolge zusammenhängen . Gibt es eine Möglichkeit, genau zu wissen, welcher Klasse eine Anwendung zugeordnet ist?
xprop | grep CLASS
im 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"
xprop
Befehl werden die Fenster nicht dem gewünschten Arbeitsbereich zugewiesen.
for_window [class="Spotify"] move to workspace $ws10
dem $ws10
sich 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
pidgin
jedem 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/config
Datei 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 ,exec
aufi3-msg
dem ein Befehl ist gemeint i3 Befehle auszuführen. Warum kann ich nicht direktworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1
in meine Konfigurationsdatei schreiben ?