Risposte:
Secondo la pagina Arch Wiki i3 , per avviare automaticamente un'applicazione in uno spazio di lavoro specifico, si utilizza i3-msg:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
google-chrome-stablesi apre sempre sull'ultimo spazio di lavoro nella mia configurazione. Ad esempio, con questa configurazione , Chrome si apre nell'area di lavoro 4 accanto a htop.
# 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
classnell'argomento. Esiste un modo per sapere esattamente a quale classe è associata un'applicazione?
xprop | grep CLASSnel terminale, il puntatore del mouse si trasforma in un mirino, fai clic sul programma di cui vuoi ottenere la classe e usi la seconda variabile che compare nel tuo terminale. Esempio di risultato per Chrome:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xpropcomando le finestre non sono assegnate allo spazio di lavoro desiderato.
for_window [class="Spotify"] move to workspace $ws10dove si $ws10trova la tua variabile dell'area di lavoro.
È un avvio automatico solo all'avvio dell'area di lavoro, non un avvio automatico all'avvio di i3 ma ho pensato che potesse essere utile.
Ad esempio, per avviare il mio browser Web nella seconda area di lavoro denominata "web", è ciò che ho fatto nella mia configurazione:
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
Quando premo il tasto 2, il mio browser Web si avvia ma quando è già aperto non lo riavvia, passa semplicemente allo spazio di lavoro Web.
Nota: la parte del layout può essere fastidiosa a volte, non è un requisito.
Per maggiori dettagli vedi la mia conf
pidginalla terza area di lavoro ad ogni suo lancio, ho nella configurazione assign [class="Pidgin"] $tag3.
Ho appena funzionato con questo alla fine del mio ~/.config/i3/configfile:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
set $ws1 "Firefox"e poi inserisci la seguente rigafor_window [class="Firefox"] move to workspace $ws1
Basta usare assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>. Funziona per me.
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'funziona. Ma trovo un po 'strano usareexecsui3-msgquale sia un comando pensato per eseguire comandi i3. Perché non riesco a scrivere direttamenteworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1nel mio file di configurazione?