Como iniciar aplicativos em áreas de trabalho específicas no i3 quando ele é iniciado?
Por que isso não está funcionando no meu arquivo de configuração? :
workspace 1; exec firefox; workspace 2; exec chromium; workspace 1
window-manager
startup
i3
Gradiente
fonte
fonte
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?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.fonte
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
fonte
pidgin
para a terceira área de trabalho em todos os lançamentos, eu tenho na configuraçãoassign [class="Pidgin"] $tag3
.Acabei de trabalhar com isso no final do meu
~/.config/i3/config
arquivo:fonte
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.fonte