Respostas:
De acordo com a página do Arch Wiki i3 , para iniciar automaticamente um aplicativo em um espaço de trabalho específico, use i3-msg
:
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
google-chrome-stable
sempre é aberto no último espaço de trabalho na minha configuração. Por exemplo, com essa configuração , o Chrome é aberto na área de trabalho 4 ao 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
class
argumento. Existe alguma maneira de saber exatamente a qual classe um aplicativo está associado?
xprop | grep CLASS
no terminal, o ponteiro do mouse muda para uma mira, você clica no programa em que deseja obter a classe e usa a segunda variável que aparece no seu terminal. Exemplo de resultado para o Chrome:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xprop
comando, as janelas não são atribuídas ao espaço de trabalho desejado.
for_window [class="Spotify"] move to workspace $ws10
onde $ws10
está sua variável da área de trabalho.
É um arranque automático apenas no lançamento do espaço de trabalho, não um arranque automático quando o i3 é iniciado, mas achei que poderia ser útil.
Por exemplo, para iniciar meu navegador na segunda área de trabalho nomeada "web", foi o que fiz na minha configuração:
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
Quando eu pressiono a tecla 2, meu navegador é iniciado, mas quando já está aberto, não o reinicia, ele apenas muda para o espaço de trabalho da web.
Nota: a parte do layout pode ser irritante em algum momento, não é um requisito.
Para mais detalhes veja meu conf
pidgin
para a terceira área de trabalho em todos os lançamentos, eu tenho na configuração assign [class="Pidgin"] $tag3
.
Acabei de trabalhar com isso no final do meu ~/.config/i3/config
arquivo:
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
set $ws1 "Firefox"
e insira a seguinte linhafor_window [class="Firefox"] move to workspace $ws1
Apenas use assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>
. Está funcionando para mim.
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'
funciona. Mas, acho que é um pouco estranho para usarexec
noi3-msg
que é um comando destinado a executar i3 comandos. Por que não consigo escrever diretamenteworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1
no meu arquivo de configuração?