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-stable
si 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
class
nell'argomento. Esiste un modo per sapere esattamente a quale classe è associata un'applicazione?
xprop | grep CLASS
nel 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"
xprop
comando le finestre non sono assegnate allo spazio di lavoro desiderato.
for_window [class="Spotify"] move to workspace $ws10
dove si $ws10
trova 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
pidgin
alla 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/config
file:
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 usareexec
sui3-msg
quale sia un comando pensato per eseguire comandi i3. Perché non riesco a scrivere direttamenteworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1
nel mio file di configurazione?