Comment puis-je démarrer des applications sur des espaces de travail spécifiques dans i3 au démarrage?
Pourquoi cela ne fonctionne-t-il pas dans mon fichier de configuration? :
workspace 1; exec firefox; workspace 2; exec chromium; workspace 1
Selon la page Arch Wiki i , pour démarrer automatiquement une application sur un espace de travail spécifique, vous utilisez i3-msg
:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
# 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
REMARQUE: pour appliquer la configuration, vous pouvez utiliser:
i3-msg reload
C'est un démarrage automatique sur le lancement de l'espace de travail uniquement, pas un démarrage automatique lorsque i3 démarre, mais j'ai pensé que cela pourrait être utile.
Par exemple, pour lancer mon navigateur Web dans le deuxième espace de travail nommé "Web", voici ce que j'ai fait dans ma configuration:
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
Lorsque j'appuie sur la touche 2, mon navigateur Web démarre mais lorsqu'il est déjà ouvert, il ne l'a pas relancé, il passe simplement à l'espace de travail Web.
Remarque: la partie mise en page peut parfois être ennuyeuse, ce n'est pas une exigence.
Pour plus de détails, voir ma conf
Je viens de le faire travailler avec ça à la fin de mon ~/.config/i3/config
fichier:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
Utilisez simplement assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>
. Ça marche pour moi.