i3 (Português)
i3 é um gerenciador de janela tiling dinâmico inspirado no wmii que visa principalmente a desenvolvedores e usuários avançados.
Os objetivos estabelecidos para o i3 incluem documentação clara, suporte adequado a vários monitores, uma estrutura em árvore para janelas e modos diferentes, como no vim.
Instalação
O i3 pode ser instalado com o pacote i3-wm.
O i3 é um grupo de pacotes e também está disponível. Inclui o gerenciador de janelas, um programa bloqueador de tela e dois programas que escrevem uma linha de status para o i3bar através da sua saída (stdout).
Iniciando
Pelo tty
Execute i3
com xinit.
Gerenciador de exibição
i3-wm inclui um arquivo i3.desktop
no Xsession que o inicia. i3-with-shmlog.desktop
habilita logs (útil para depuração). i3-gnomeAUR integra o i3 ao GNOME.
Uso
Veja a documentação oficial para mais informações, principalmente o Guia do usuário i3.
Atalhos
No i3, os comandos são chamados com uma chave modificadora, referida como $mod
. Isto é Alt
(Mod1) por padrão, com Super
(Mod4) sendo uma alternativa popular. Super é a tecla geralmente representada em um teclado como um ícone do Windows ou em um teclado da Apple como uma tecla de comando.
Veja a Carta de referência do i3 e Usando o i3 para as configurações padrão. Veja Keyboard bindings para adição de novos atalhos.
Usuários de layouts de teclado que não sejam Qwerty podem querer contornar o "assistente de configuração" como Descrito abaixo.
Se alternar entre vários gerenciadores de janelas ou ambientes de desktop, considere usar sxhkd ou outro programa que não depende do ambiente para gerenciar atalhos. Mais informações podem ser encontradas em Atalhos de teclado#Xorg.
Contêineres e layouts
O i3 gerencia janelas em uma estrutura de árvore, com contêineres como blocos de construção. Essa estrutura se ramifica com divisões horizontais ou verticais. Os contêineres são lado a lado por padrão, mas podem ser definidos como tabbed or stacking layouts, bem como flutuante (como para janelas de diálogo). Janelas flutuantes estão sempre no topo.
Veja i3 Tree e Containers and the tree data structure para detalhes.
Iniciador de aplicativos
O i3 usa dmenu como iniciador de aplicativos, associado por padrão a $mod+d
. Como é uma dependência opcional dmenu deve primeiro ser instalado antes que esta funcionalidade possa ser usada.
O pacote i3-wm contém i3-dmenu-desktop, Perl wrapper para dmenu que usa entradas de desktop para criar uma lista de todos os aplicativos instalados. Como alternativa, o pacote j4-dmenu-desktop-gitAUR pode ser usado.
rofi é um popular substituto do dmenu, além de também listar entradas desktop.
KRunner como iniciador de aplicativos no KDE Plasma/i3
É possível ter executar o i3 junto com o KDE Plasma como visto aqui: KDE#Usar um gerenciador de janela diferente
Ao executar o Plasma com KDEWM=/usr/bin/i3
, pode-se definir o KRunner como lançador de aplicativos alternativo com $mod+d
adicionando o seguinte na configuração do i3 :
~/.config/i3/config
set $menu --no-startup-id qdbus org.kde.krunner /App display bindsym $mod+d exec $menu
Configuração
Veja Configurando o i3 para detalhes. O restante deste artigo pressupõe que o arquivo de configuração do i3 está na pasta ~/.config/
.
Assistente de configuração e layouts de teclado alternativos
Quando o i3 é iniciado pela primeira vez, ele oferece a execução do assistente de configuração i3-config-wizard. Essa ferramenta cria ~/.config/i3/config
reescrevendo um arquivo de configuração de modelo em /etc/i3/config.keycodes
. Faz duas modificações no modelo padrão:
- Ele solicita ao usuário que escolha uma chave modificadora padrão, que será adicionada ao modelo como uma única linha, como
set $mod Mod1
; e - ele substitui todas as linhas bindcode por linhas bindsym correspondentes ao layout de teclado atual do usuário.
Step 2 foi projetado para garantir que os quatro atalhos de navegação, j
, k
, l
e ;
em um teclado Qwerty, serão mapeados para as keysyms de teclado com o mesmo local, por exemplo h
, t
, n
, s
em um teclado Dvorak. O efeito colateral dessa mágica é que até quinze outras keysyms de teclado podem ser remapeadas de maneira a interromper a mnemônica - de modo que, para um usuário do Dvorak, "reiniciar" esteja associado a $mod1+p
ao invés de $mod1+r
, "dividir horizontalmente" está associado a $mod1+d
ao invés de $mod1+h
, e assim por diante.
Portanto, os usuários de layouts de teclado alternativos que desejam atalhos de teclas que correspondam àqueles fornecidos nos tutoriais, podem preferir contornar o "assistente de configuração". Isso pode ser feito apenas copiando /etc/i3/config
para dentro do ~/.config/i3/config
(ou ~/.i3/config
), e editando esse arquivo.
Observe que também é possível uma configuração baseada em código, por exemplo, para usuários que frequentemente alternam entre layouts de teclado, mas desejam que os atalhos do i3 permaneçam os mesmos.
Inicialização automática
Adicione um comando exec
no arquivo ~/.config/i3/config
para executar um comando na inicialização. Por exemplo:
exec terminator
Usando um comando exec_always
garantirá que o comando também seja executado sempre que o i3 for reiniciado.
Alternativamente, você pode usar XDG Autostart.
i3bar
Além de mostrar informações do workspace, o i3bar pode atuar como uma entrada para o i3status ou uma alternativa, como as mencionadas na próxima seção. Por exemplo:
~/.config/i3/config
bar { output LVDS1 status_command i3status position top mode hide workspace_buttons yes tray_output none font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 colors { background #000000 statusline #ffffff focused_workspace #ffffff #285577 active_workspace #ffffff #333333 inactive_workspace #888888 #222222 urgent_workspace #ffffff #900000 } }
Veja o Configurando o i3bar para detalhes.
Alternativas ao i3bar
Alguns usuários podem preferir painéis como os fornecidos pelas Ambientes de desktop. Isso pode ser realizado dentro do i3 iniciando o aplicativo de painel escolhido durante a inicialização.
Por exemplo, para usar o painel do Xfce (xfce4-panel), adicione a seguinte linha em qualquer lugar ~/.config/i3/config
:
exec --no-startup-id xfce4-panel --disable-wm-check
O i3bar pode ser desativado comentando o bar{ }
dentro da ~/.config/i3/config
, ou definindo um atalho de teclado para alternar a barra:
~/.config/i3/config
# alternador da barra, esconde e mostra bindsym $mod+m bar mode toggle
Substituições independentes do ambiente de desktop estão listadas abaixo:
- polybar — Uma ferramenta rápida e fácil de usar para criar barras de status.
- excalibar — Barra de status leve e personalizável, escrita em C.
i3status
Copie os arquivos de configuração padrão para o diretório inicial:
$ cp /etc/i3status.conf ~/.config/i3status/config
Nem todos os plug-ins estão definidos na configuração padrão e alguns valores de configuração podem ser inválidos para o seu sistema, portanto, eles precisam ser atualizados de acordo. Veja i3status(1) para detalhes.
Alternativas ao i3status
- conky — Monitor de sistema altamente extensível. Para uso com o i3bar, veja esse tutorial
- i3blocks — Extensível via scripts de shell. Ele pode manipular eventos de clique, interrupções e definição de intervalos de atualização por bloco.
- i3pystatus — Barra de status extensível do Python 3 com muitos plugins e opções de configuração por padrão.
- j4status — Fornece uma linha de status, configurável via plugins e escrita em C. Plugins extras são fornecidos por j4status-plugins-gitAUR.
- goi3bar — Substituição do i3status escrita em Go. Arquivo de configuração controlado por vários plugins, opções de simultaneidade e suporte avançado a plugins.
- goblocks — Substituição rápida e leve do i3status, escrita em Go.
- bumblebee-status — Gerador de barra de status Python com capacidade de tema.
- ty3status — Substituição do i3status escrita em TypeScript. Construído com suporte de primeira classe para blocos javascript.
- i3status-rust — Substituição altamente eficiente e rica em recursos, escrita em Rust. Pode lidar com atualizações push, intervalos de atualização individuais, eventos temáticos e de clique
- Barista — Barista é um substituto do i3status escrito em Go.
- https://github.com/soumya92/barista || not packaged? search in AUR
Wrappers do i3status
- i3cat — Baseado em go wrapper que pode concatenar entradas de várias fontes externas. Ele pode manipular eventos de clique e encaminhar sinais especificados pelo usuário para seus subprocessos.
- py3status — Um wrapper extensível do i3status escrito em Python.
- YaGoStatus — Mais uma substituição do i3status escrita em Go.
Fontes icônicas na barra de status
O suporte para fontes icônicas é integrado desde i3 versão 4.20.
- ttf-font-awesome — Ícones vetoriais escaláveis que podem ser personalizados com CSS. Uma folha de dicas mostra o ponto Unicode para cada glifo.
- ttf-font-icons — Mix sem sobreposição e de tamanho consistente de Awesome e Ionicons. Isso também evita pequenas sobreposições entre DejaVu Sans e Awesome.
- ttf-ionicons — A fonte de ícone premium para o Ionic Framework.
Para combinar fontes, defina uma sequência de fallback de fontes no seu arquivo de configuração, separando fontes com ,
igual a:
~/.config/i3/config
bar { ... font pango:DejaVu Sans Mono, Icons 8 ... }
Em concordância com sintaxe do pango, o tamanho da fonte é especificado apenas uma vez, no final da lista separada por vírgula de famílias de fontes. Definir um tamanho para cada fonte faria com que todos, exceto a última, fossem ignorados.
Adicione ícones às strings de formato em ~/.config/i3status/config
usando os números unicode fornecidos nas folhas de dicas acima. O método de entrada varia entre os editores de texto. Por exemplo, para inserir o ícone do "coração" (unicode número f004):
- em vários editores de texto GUI (por exemplo. gedit, Leafpad) e terminais (por exemplo. GNOME Terminal, xfce4-terminal):
Ctrl+Shift+u
,f004
,Enter
- no Emacs:
C-x
,8
,RET
,f004
,RET
- no Vim (no modo de inserção):
Ctrl+v
,uf004
- no urxvt: enquanto aguarda
Ctrl+Shift
, digitef004
Emulador de terminal
Por padrão, ao pressionar $mod+Enter
lança o i3-sensible-terminal
que é um script que chama um terminal. Veja i3-sensible-terminal(1) para os terminais do pedido são chamados.
Para iniciar um terminal da sua escolha, modifique esta linha em ~/.config/i3/config
:
bindsym $mod+Return exec i3-sensible-terminal
Como alternativa, defina a variável de ambiente $TERMINAL
.
Desativar clique no título
Adicione bindsym button1 nop
para não selecionar uma janela quando você clica em seu quadro de título. Útil se o seu layout padrão estiver com guias e você frequentemente perder as guias do i3 em vez de algo em um aplicativo.
Dicas e truques
Ir para a janela aberta
- quickswitch-i3 — Utilitário Python para alterar rapidamente e localizar janelas no i3
- i3-wm-scripts — Procure e pule para janelas com nomes específicos correspondentes a regexp
- https://github.com/yiuin/i3-wm-scripts || not packaged? search in AUR
- rofi — Pesquise e pule para abrir a janela do scratchpad
- i3-easyfocus — Focar e selecionar janelas no i3
- wmfocus — Focar e selecionar janelas no i3 e outros gerenciadores de janelas
- i3-cycle-focus — Fornece uma funcionalidade Alt+Tab para o i3
- https://github.com/acrisci/i3ipc-python/blob/master/examples/i3-cycle-focus.py || not packaged? search in AUR
- i3-winmotion — Focar e selecionar janelas visíveis em i3
- https://github.com/iiKoe/i3-winmotion || not packaged? search in AUR
Ir para a janela urgente
Adicione ao ~/.config/i3/config
: [1]
bindsym $mod+x [urgent=latest] focus
Salvar e restaurar o layout da janela
A partir da versão 4.8, o i3 pode salvar e restaurar layouts de workspace. Para fazer isso, são necessários os seguintes pacotes: perl-anyevent-i3 e perl-json-xs.
Salvar o layout atual da janela de um único workspace
Para salvar o layout atual da janela, siga estas etapas:
- Primeiro, execute vários comandos para abrir janelas em um workspace preferido e redimensione-as, se necessário. Certifique-se de anotar cada comando executado para cada janela.
- Agora, em um novo workspace, abra um terminal e execute o seguinte:
$ i3-save-tree --workspace N > ~/.config/i3/workspace_N.json
onde N é o número do workspace preferido. Isso salvará o layout atual do workspace N no arquivo~/.config/i3/workspace_N.json
. - O arquivo recém-criado precisa ser editado. Isso pode ser feito automaticamente com o seguinte comando:
$ sed -i 's|^\(\s*\)// "|\1"|g; /^\s*\/\//d' ~/.config/i3/workspace_N.json
Restaurar o layout da janela do workspace
Há duas maneiras de restaurar o layout de workspace: escrevendo um script ou editando ~/.config/i3/config
para carregar automaticamente o layout. Nesta seção, apenas o primeiro caso será considerado, consulte a documentação oficial para o segundo caso.
Para restaurar o layout salvo na seção anterior, escreva um arquivo chamado load_layout.sh
com o seguinte conteúdo:
- As linhas de partida:
~/load_layout.sh
#!/bin/sh i3-msg "workspace M; append_layout ~/.config/i3/workspace_N.json"
onde M é o número do workspace na qual você deseja carregar o layout salvo anteriormente e N é o número do workspace salvo na seção anterior.
- E os comandos usados na seção anterior para obter as janelas preferidas, mas entre parênteses e com um e comercial acrescentado antes dos últimos parênteses.
Por exemplo, se o layout salvo conter três janelas uxterm
:
~/load_layout.sh
#!/bin/sh # Primeiro adicionamos o layout salvo do workspace N para o workspace M i3-msg "workspace M; append_layout ~/.config/i3/workspace_N.json" # E finalmente preenchemos os containers com os programas que eles tinham (uxterm &) (uxterm &) (uxterm &)
Em seguida, defina o arquivo como executável. Finalmente, o layout do workspace N pode ser carregado no workspace M executando:
$ ~/load_layout.sh
bindsym $mod+g exec ~/load_layout.sh
ao ~/.config/i3/config
e reiniciar o i3 vai atribuir o Mod+g para executação do script acima.~/.config/i3/workspace_N.json
precisa ser editado manualmente.Contêineres do scratchpad
Por padrão, scratchpads contêm apenas uma única janela. No entanto, contêineres também podem ser transformados em um scratchpad.
Crie um novo contêiner (por exemplo, Mod+Enter
), divida-o (Mod+v
) e crie outro contêiner. Selecione o contêiner pai (Mod+a
), divida na direção oposta (Mod+h
) e crie um container novamente.
Foque no primeiro contêiner (selecionando o contêiner pai caso necessário), faça a janela flutuar (Mod+Shift+Space
) e mova para o scratchpad (Mod+Shift+-
). Agora você pode dividir contêineres conforme preferência.
Veja também [2] para vários scratchpads.
Proteção de tela e gerenciamento de energia
Com o Gestão de energia#xss-lock você pode registrar um bloqueador de tela para o sua sessão do i3. A opção -time
com xautolock bloqueia a tela após um determinado período de tempo:
xautolock -time 10 -locker "i3lock -i 'background_image.png'" &
Um arquivo de serviço do systemd pode ser usado para bloquear a tela antes que o sistema seja enviado para o estado de suspensão ou hibernação. Veja Suspender e hibernar#Units do systemd customizáveis. Observe que o i3lock exige que o tipo de serviço seja forking
.
Veja também DPMS.
Outra opção é usar xidlehookAUR com betterlockscreenAUR ou outro protetor de tela. xidlehook é um substituto do xautolock escrito em Rust, mas com algumas funcionalidades adicionais. Incluindo a opção para desabilitar o travamento da tela quando o som está tocando ou quando a tela está no modo tela cheia. A opção --timer
é dada em segundos:
xidlehook --not-when-audio --not-when-fullscreen --timer 360 "betterlockscreen -l dim" "" &
Desligar, reiniciar e bloquear a tela
Combinações de teclas para desligar, reiniciar e bloquear a tela podem ser adicionadas ao ~/.config/i3/config
. O exemplo abaixo supõe que você tenha polkit instalado para permitir que usuários sem privilégios executem comandos de gerenciamento de energia.
set $Locker i3lock && sleep 1 set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id $Locker, mode "default" bindsym e exec --no-startup-id i3-msg exit, mode "default" bindsym s exec --no-startup-id $Locker && systemctl suspend, mode "default" bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default" bindsym r exec --no-startup-id systemctl reboot, mode "default" bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default" # de volta ao normal: Enter ou Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Pause mode "$mode_system"
Depois de concluído, você receberá um aviso sempre que pressionar $mod+pause
. Para um comportamento mais complexo, use um script separado e consulte-o no modo [3]
Para uma lista de bloqueadores de tela alternativos, veja List of applications/Security#Screen lockers.
Engolir a janela do terminal
Parecido com o dwm, i3 pode "engolir" (swallow) a janela atual do terminal com a nova janela GUI lançada a partir dele. Isto pode ser feito com o uso do pacote i3-swallow-gitAUR.
Por exemplo, para deixar o mpv engolir o terminal que o abriu:
$ swallow mpv video.mp4
Alternativamente, a ação de enngolir do terminal pode ser simulada usando um container em tabbed ou stacked para ocultar a janela do terminal quando você não estiver usando. No entanto, isso vem com a desvantagem de sempre ter uma lista de janelas na parte superior do contêiner.
Gerenciamento manual de monitores externos
Graças ao xrandr existem várias maneiras de gerenciar facilmente os monitores dos sistemas. O exemplo abaixo o integra no arquivo de configuração do i3, e se comporta como na seção Gerenciamento de energia acima.
Aqui, um laptop com saídas VGA e HDMI usará uma seleção de menu para ativar/desativar:
## Gerenciamento manual de monitores externos # Defina os atalhos e o que eles fazem set $mode_display Ext Screen (v) VGA ON, (h) HDMI ON, (x) VGA OFF, (y) HDMI OFF mode "$mode_display" { bindsym v exec --no-startup-id xrandr --output VGA1 --auto --right-of LVDS1, mode "default" bindsym h exec --no-startup-id xrandr --output HDMI1 --auto --right-of LVDS1, mode "default" bindsym x exec --no-startup-id xrandr --output VGA1 --auto --off, mode "default" bindsym y exec --no-startup-id xrandr --output HDMI1 --auto --off, mode "default" # de volta ao normal: Enter ou Escape bindsym Return mode "default" bindsym Escape mode "default" } # Declare aqui o atalho para exibir o menu de seleção de exibição bindsym $mod+x mode "$mode_display"
Qualquer janela que ainda esteja aberta em uma tela desligada retornará automaticamente à tela ativa restante.
A maneira mais simples de determinar os nomes dos seus dispositivos é conectar o dispositivo que você deseja usar e executar:
$ xrandr --query
que produzirá os dispositivos reconhecidos disponíveis e seus nomes no sistema para definir seu arquivo de configuração adequadamente.
Consulte a página página de manual do xrandr para obter a lista completa de opções disponíveis, o userguide do i3 e/ou o FAQ do i3 no reddit para mais informações.
Alguns navegadores da Web intencionalmente não implementam guias, pois o gerenciamento de guias é considerado uma tarefa do gerenciador de janelas, não uma tarefa do navegador.
Para deixar o i3 gerenciar seu navegador da web sem guias, neste exemplo para o uzbl, adicione a seguinte linha ao seu ~/.config/i3/config
for_window [class="Uzbl-core"] focus child, layout stacking, focus
Isso é para navegação na Web empilhada, o que significa que as janelas serão mostradas verticalmente. A vantagem sobre a navegação com guias é que os títulos das janelas são totalmente visíveis, mesmo que muitas janelas do navegador estejam abertas.
Se preferir a navegação com guias, com as janelas na direção horizontal ('tabs'), use
for_window [class="Uzbl-core"] focus child, layout tabbed, focus
Variáveis de workspaces
Como os workspaces são definidos várias vezes no i3, atribuir variáveis de workspaces pode ser útil. Por exemplo:
set $WS1 term set $WS2 web set $WS3 misc set $WS4 media set $WS5 code
Em seguida, substitua os nomes do workspace por suas variáveis correspondentes:
bindsym $mod+1 workspace $WS1 ... bindsym $mod+Shift+1 move container to workspace $WS1
Veja Changing named workspaces para mais informações.
Manuseio correto de diálogos flutuantes
Enquanto o diálogo deve abrir no modo flutuante por padrão [6], muitos ainda abrem no modo lado a lado. Para alterar esse comportamento, verifique a caixa de diálogo WM_WINDOW_ROLE
com xorg-xprop e adicione as regras corretas para ~/.i3/config
(usando pcre syntax):
for_window [window_role="pop-up"] floating enable for_window [window_role="task_dialog"] floating enable
Você também pode usar regras de título e expressões regulares:
for_window [title="Preferences$"] floating enable
ou WM_CLASS
:
for_window [class="(?i)mplayer"] floating enable
Velocidade de download/upload da rede na barra de status
Você pode adaptar esse script da upstream. Para isso,
- renomeie as duas placas de rede de acordo com o seu sistema (use
ip addr
) - encontre-os em
/sys/devices
substitua-os adequadamente:
$ find /sys/devices -name network_interface
/sys/class/net/interface/statistics/
não depender da localização do PCI.Agora, basta salvar o script em um local adequado (por exemplo, ~/.config/i3
) e aponte seu programa de status para ele.
Alternar automaticamente a orientação de divisão horizontal/vertical da janela
O pacote autotiling pode ser usado para alternar automaticamente a orientação de janela horizontal/vertical, resultando em um comportamento semelhante ao lado a lado em espiral do bspwm. Após a instalação, adicione o seguinte ao seu ~/.config/i3/config
e recarregue o i3.
exec_always --no-startup-id autotiling
Solução de problemas
Geral
Em muitos casos, os bugs são corrigidos nas versões de desenvolvimento i3-gitAUR e i3status-gitAUR, e o upstream solicitará a reprodução de erros nesta versão. [7] Veja também Debugging/Getting traces#Compilation options.
Nova instalação exibe apenas texto ilegível
Certifique-se de que você instalou um conjunto de fontes TrueType após a instalação.
Os botões na barra de mensagens do i3 não funcionam
Botões como "Edit config" no i3-nagbar
chamam o i3-sensible-terminal
, então verifique se o seu emulador de terminal é reconhecido pelo i3.
Linha defeituosa envolve no terminal lado a lado
O i3 v4.3 e versões posteriores ignoram sugestões de incremento de tamanho para janelas lado a lado [8]. Isso pode fazer com que terminais enrolem as linhas prematuramente, entre outros problemas. Como uma solução alternativa, deixe a janela incorreta flutuando antes de colocá-la novamente em mosaico.
O cursor do mouse permanece no modo de espera
Ao iniciar um script ou aplicativo que não suporta notificações de inicialização, o cursor do mouse permanece no modo ocupado/relógio/relógio por 60 segundos.
Para resolver isso para um aplicativo específico, use o parâmetro --no-startup-id
, por exemplo:
exec --no-startup-id ~/script bindsym $mod+d exec --no-startup-id dmenu_run
Para desativar esta animação globalmente, veja Temas de cursor#Crie links para cursores faltando.
Atalhos que não respondem
Algumas ferramentas como o scrot podem não funcionar quando usados com um atalho comum (executado após pressionar a tecla). Nesses casos, execute comandos após o soltar a tecla com o argumento --release
[9]:
bindsym --release Print exec --no-startup-id scrot bindsym --release Shift+Print exec --no-startup-id scrot -s
Tearing
O i3 não implementa adequadamente o buffer duplo [10] portanto, tearing ou tremulações podem ocorrer. Veja picom.
Ícones invisíveis na barra de status
A diretiva tray_output primary
pode exigir a configuração de uma saída primária com o xrandr, especificando a saída explicitamente ou simplesmente removendo esta diretiva. [11] Veja xrandr (Português) para detalhes. A configuração padrão criada pelo i3-config-wizard não adiciona mais essa diretiva à configuração do i3 4.12.
Workspace padrão para o Spotify
Para atribuir um workspace padrão para janelas do spotify você não pode usar o comando padrão assign
, você deve usar um comando for_window
, como
~/.config/i3/config
... for_window [class="Spotify"] move container to workspace $ws10
Para garantir que for_window
não mova a janela se já estiver em $ws10
, pode-se usar move --no-auto-back-and-forth
.
Veja também
- Site oficial
- Funtoo:I3 Tiling Window Manager
- Código-fonte do i3
- i3-extras - Coleção de scripts e patches
- i3ipc-glib - Uma bibilioteca para extensões do i3
- i3ipc-ruby - Uma biblioteca melhorada para extensões do i3 em Ruby
- j4tools - Ferramentas não oficiais projetadas para funcionar com i3
Fóruns do Arch Linux
- The i3 thread - Uma discussão geral sobre o i3
- i3 desktop screenshots and config sharing
Screencasts