Respuestas:
De acuerdo con la página Arch Wiki i3 , para iniciar automáticamente una aplicación en un espacio de trabajo específico, utiliza i3-msg:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
google-chrome-stablesiempre se abre en el último espacio de trabajo en mi configuración. Por ejemplo, con esta configuración , Chrome se abre en el espacio de trabajo 4 al lado de 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
classargumento. ¿Hay alguna manera de saber exactamente a qué clase está asociada una aplicación?
xprop | grep CLASSen la terminal, el puntero del mouse se convierte en una cruz, hace clic en el programa del que desea obtener la clase y utiliza la segunda variable que aparece en su terminal. Ejemplo de resultado para Chrome:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xpropcomando, las ventanas no están asignadas al espacio de trabajo deseado.
for_window [class="Spotify"] move to workspace $ws10donde $ws10está la variable de su espacio de trabajo.
Es un inicio automático solo en el inicio del espacio de trabajo, no un inicio automático cuando se inicia i3, pero pensé que podría ser útil.
Por ejemplo, para iniciar mi navegador web en el segundo espacio de trabajo llamado "web", esto es lo que hice en mi configuración:
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
Cuando presiono la tecla 2, mi navegador web se inicia pero cuando ya está abierto no lo relanzó, simplemente cambió al espacio de trabajo web.
Nota: la parte del diseño puede ser molesta en algún momento, no es un requisito.
Para más detalles ver mi conf
pidginal 3er espacio de trabajo en cada lanzamiento, tengo en la configuración assign [class="Pidgin"] $tag3.
Acabo de hacerlo trabajando con esto al final de mi ~/.config/i3/configarchivo:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
set $ws1 "Firefox"y luego inserte la siguiente líneafor_window [class="Firefox"] move to workspace $ws1
Solo úsalo assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>. Me esta funcionando.
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'funciona. Sin embargo, creo que es un poco extraño para usarexeceni3-msgque es un comando destinado a ejecutar comandos i3. ¿Por qué no puedo escribir directamenteworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1en mi archivo de configuración?