i3 - Tilling Window Manager

Um Tilling Window Manager é um gerenciador de janelas com uma organização da tela em quadros mutuamente não sobrepostos. O i3 é um gerenciador de janelas baseado no Wmii. Extremamente simples e minimalista, ajusta automaticamente o tamanho e a posição das janelas, não permitindo sobreposição e nem espaço perdido entre as janelas.

[ Hits: 31.728 ]

Por: Fernando em 23/08/2013 | Blog: https://github.com/phoemur/


Editando as configurações



Primeiro, abra o seu arquivo "~/.i3/config" com seu editor de textos favoritos.

Todas as configurações estão neste arquivo, aqui vou descrever as minhas configurações e comentá-las, pra dar uma ideia sobre como proceder:

# Aqui estou utilizando o Alt como tecla modificadora, que é o default.
set $mod Mod1

# Fonte básica para o título das janelas.
# font for window titles. ISO 10646 = Unicode

font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

# Com essa opção você pode mover as janelas com Alt + botão esquerdo do mouse e redimensionar com Alt + botão direito do mouse.
# Use Mouse+$mod to drag floating windows to their wanted position

floating_modifier $mod

# Alt + Enter abre o Xterm, eu prefiro com fundo preto e letra branca...
# start a terminal

bindsym $mod+Return exec i3-sensible-terminal -bg Black -fg White

# Alt + Shift + Q fecha a janela em foco. Você usa isso pra fechar os programas, já que não há um botão de minimizar ou fechar.
# kill focused window

bindsym $mod+Shift+Q kill

# Alt + D abre o dmenu, que é onde você pode executar os programas mais complexos. Enquanto você vai digitando ele procura no PATH os arquivos e te mostra as opções. Você usa isto porque não tem botão de iniciar onde selecionar os aplicativos.
# start dmenu (a program launcher)

bindsym $mod+d exec dmenu_run

# Aqui é o default, pra sair ou recarregar o i3.
# reload/restart/exit

bindsym $mod+Shift+C reload
bindsym $mod+Shift+R restart
bindsym $mod+Shift+E exit

# Atalhos para mudar de janelas.
# change focus

bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
#bindsym $mod+uring focus right
# alternatively, you can use the cursor keys:

bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# Se quiser mudar as janelas de lugar só adicione o Shift.
# alternatively, you can use the cursor keys:

bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# Alt + H ou V para dividir de forma horizontal ou vertical quando for iniciar uma nova janela.
# split in horizontal orientation

bindsym $mod+h split h

# split in vertical orientation
bindsym $mod+v split v

# Essa aqui é bastante útil. Quando, por exemplo, o Firefox estiver pequeno você clica Alt + F e ele fica fullscreen você navega e quando quiser Alt + F volta ele pro seu lugar de novo.
# enter fullscreen mode for the focused container

bindsym $mod+f fullscreen

# Muda o layout do contêiner. Veja a foto para entender: http://i3wm.org/docs/userguide.html#_changing_the_container_layout
# change container layout (stacked, tabbed, default)

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default

# Serve para tirar a janela do seu lugar lado a lado e fazer ser possível arrastá-la como nos window-managers habituais.
# toggle tiling / floating

bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
#bindcode $mod+d focus child


# Cria novas áreas de trabalho virtuais com Alt + <numero>. Alt + Shift + <numeo> desloca a janela para a respectiva área de trabalho
# switch to workspace

bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10

# move focused container to workspace
bindsym $mod+Shift+exclam move container to workspace 1
bindsym $mod+Shift+at move container to workspace 2
bindsym $mod+Shift+numbersign move container to workspace 3
bindsym $mod+Shift+dollar move container to workspace 4
bindsym $mod+Shift+percent move container to workspace 5
bindsym $mod+Shift+dead_diaeresis move container to workspace 6
bindsym $mod+Shift+ampersand move container to workspace 7
bindsym $mod+Shift+asterisk move container to workspace 8
bindsym $mod+Shift+parenleft move container to workspace 9
bindsym $mod+Shift+parenright move container to workspace 10


# reload the configuration file
bindsym $mod+Shift+C reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+R restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+E exit

# resize window (you can also use the mouse for that)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the windowâ^À^Ùs width.
        # Pressing right will grow the windowâ^À^Ùs width.
        # Pressing up will shrink the windowâ^À^Ùs height.
        # Pressing down will grow the windowâ^À^Ùs height.

        bindsym j resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 ppt
        bindsym ccedilla resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
        bindsym 113 resize shrink width 10 px or 10 ppt
        bindsym 116 resize grow height 10 px or 10 ppt
        bindsym 111 resize shrink height 10 px or 10 ppt
        bindsym 114 resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
}

# Alt + R para redimensionar as janelas
bindsym $mod+r mode "resize"

# Inicia o terminal ao iniciar a sessão
# Execute the terminal emulator urxvt, which is not yet startup-notification aware.

exec --no-startup-id urxvt

# Executa barra de status na tela
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)

bar {
        status_command i3status
}

# O i3 trabalha muito bem com vários monitores. Você pode redirecionar a saída de cada área de trabalho virtual a um monitor diferente, por exemplo:

# workspace screens

workspace 1 output HDMI1
workspace 2 output HDMI1
workspace 3 output HDMI1
workspace 4 output HDMI1
workspace 5 output LVDS1
workspace 6 output LVDS1
workspace 7 output LVDS1
workspace 8 output LVDS1

Conclusão

Espero com este artigo, ter conseguido pelo menos apresentar o i3 Tilling Window Manager, que é extremamente leve e rápido, trabalha muito bem com múltiplos monitores, porém, apresenta uma curva de aprendizado um pouco maior para a sua utilização plena.

Se vale a pena ou não utilizá-lo, vai do gosto e da necessidade de cada um. É um Window Manager para os fuçadores em potencial.

Abraços.

Referências:
Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração básica e utilização
   4. Editando as configurações
Outros artigos deste autor

Wake-on-LAN (WOL) utilizando Netcat - Dissecando o protocolo

Honeypot Kippo 0.8 - Instalação e utilização

ZFS no GNU/Linux

Leitura recomendada

Instalando o IBExpert no Linux e acessando o Firebird

Outro método (rápido/fácil) de instalação e configuração do gdesklets no Slackware 10

Implementando rotas estáticas no Linux com route

Reconstruindo um pacote RPM

Instalando o Nagios 3.0 em distros baseadas em Red Hat

  
Comentários
[1] Comentário enviado por removido em 23/08/2013 - 00:29h

Não conhecia.
Muito interessante!

[2] Comentário enviado por lowbit em 23/08/2013 - 09:43h

Eu ando usando esse i3 há algum tempo, primariamente no trabalho, e às vezes em casa.

Acho muito útil. É leve como o Openbox (que estava usando antes de migrar para ele), e ainda mais prático para quem está acostumado a usar muito o teclado.

As funções que se destacam são o "dmenu", e a possibilidade de poder mover, redimensionar, transferir para outro workspace, fechar e alterar para o modo "fullscreen" qualquer janela, e sempre com os mesmos atalhos.

Para quem usa muitos terminais também é bem legal. Dividir na mesma tela dois terminais, um vídeo, o Skype, etc é bastante interessante. Eu estou acostumado a utilizar fontes bem pequenas no desktop, então ganho ainda mais espaço na tela.

E é leve, de verdade! Já disse isso, mas vale a pena repetir.

[3] Comentário enviado por lcavalheiro em 23/08/2013 - 09:52h

Porra, do [*****] esse i3!

[4] Comentário enviado por phoemur em 23/08/2013 - 10:36h

Eu coloquei aqui no artigo só o básico, mas dá pra fazer muita coisa com o i3, colocar papel de parede, applets de volume e rede, pra quem gosta...
Dá pra fazer quase tudo o que faria em um DE padrão de forma muito mais leve

[5] Comentário enviado por lcavalheiro em 23/08/2013 - 10:43h

Coisas como o i3 são coisa de pinguim doido ou pinguim iluminado (flame wars on: pinguim iluminado = slacker). É a mostra que a comunidade não se rendeu completamente ao combo Redmond (until brain burns ; do next > ; done ; install) e ao crack Apple (aparência é o que importa)

[6] Comentário enviado por removido em 23/08/2013 - 10:56h

Quase que não consigo encerrar a sessão para mudar o ambiente padrão. rsrs

O site de comandos é importante consultar ( http://www.i3wm.org/docs/userguide.html ).

Vou dedicar um tempo para aprendizado. E vale, o ambiente é o mais leve que já testei.

[7] Comentário enviado por removido em 23/08/2013 - 18:30h

nice work!

para o Debian eu sugiro o seguinte:

# apt-get install i3 i3status i3lock dunst dwb suckless-tools

O dunst é um pequena feramenta de notificação, enquanto que o dwb é um excelente e levíssimo navegador, o qual em meus testes do HTML5:

http://gnutwoall.wordpress.com/2013/07/01/testando-o-html5-em-alguns-navegadores/

Obteve um score de quase 400!

* o mesmo não foi incluído nos testes já que o post é anterior à sua data de instalação.

Segue uma imagem do mesmo:

https://www.dropbox.com/s/gi9lahlufajrz50/dwb-3.png

[8] Comentário enviado por lcavalheiro em 26/08/2013 - 12:48h


[8] Comentário enviado por edps em 23/08/2013 - 18:30h:

nice work!

para o Debian eu sugiro o seguinte:

# apt-get install i3 i3status i3lock dunst dwb suckless-tools

O dunst é um pequena feramenta de notificação, enquanto que o dwb é um excelente e levíssimo navegador, o qual em meus testes do HTML5:

http://gnutwoall.wordpress.com/2013/07/01/testando-o-html5-em-alguns-navegadores/

Obteve um score de quase 400!

* o mesmo não foi incluído nos testes já que o post é anterior à sua data de instalação.

Segue uma imagem do mesmo:

https://www.dropbox.com/s/gi9lahlufajrz50/dwb-3.png


Rapaz, deu vontade de escrever agora alguma coisa sobre esse dwb...

[9] Comentário enviado por removido em 26/08/2013 - 13:10h


[9] Comentário enviado por lcavalheiro em 26/08/2013 - 12:48h:


[8] Comentário enviado por edps em 23/08/2013 - 18:30h:

nice work!

para o Debian eu sugiro o seguinte:

# apt-get install i3 i3status i3lock dunst dwb suckless-tools

O dunst é um pequena feramenta de notificação, enquanto que o dwb é um excelente e levíssimo navegador, o qual em meus testes do HTML5:

http://gnutwoall.wordpress.com/2013/07/01/testando-o-html5-em-alguns-navegadores/

Obteve um score de quase 400!

* o mesmo não foi incluído nos testes já que o post é anterior à sua data de instalação.

Segue uma imagem do mesmo:

https://www.dropbox.com/s/gi9lahlufajrz50/dwb-3.png

Rapaz, deu vontade de escrever agora alguma coisa sobre esse dwb...


Acho melhor do que muita coisa por aí, que o diga o fraquíssimo Midori! na imagem em referência nota-se o artigo que eu criei todo ele no dwb, ou seja, não tem frescuras com plugins e além de tudo é levíssimo, o único porém é acostumar-se com os atalhos de teclado (que são muitos por sinal, não que para seu uso normal o sejam necessários):

http://portix.bitbucket.org/dwb/resources/manpage.html

[10] Comentário enviado por lcavalheiro em 26/08/2013 - 13:15h


[10] Comentário enviado por edps em 26/08/2013 - 13:10h:


[9] Comentário enviado por lcavalheiro em 26/08/2013 - 12:48h:


[8] Comentário enviado por edps em 23/08/2013 - 18:30h:

nice work!

para o Debian eu sugiro o seguinte:

# apt-get install i3 i3status i3lock dunst dwb suckless-tools

O dunst é um pequena feramenta de notificação, enquanto que o dwb é um excelente e levíssimo navegador, o qual em meus testes do HTML5:

http://gnutwoall.wordpress.com/2013/07/01/testando-o-html5-em-alguns-navegadores/

Obteve um score de quase 400!

* o mesmo não foi incluído nos testes já que o post é anterior à sua data de instalação.

Segue uma imagem do mesmo:

https://www.dropbox.com/s/gi9lahlufajrz50/dwb-3.png

Rapaz, deu vontade de escrever agora alguma coisa sobre esse dwb...

Acho melhor do que muita coisa por aí, que o diga o fraquíssimo Midori! na imagem em referência nota-se o artigo que eu criei todo ele no dwb, ou seja, não tem frescuras com plugins e além de tudo é levíssimo, o único porém é acostumar-se com os atalhos de teclado (que são muitos por sinal, não que para seu uso normal o sejam necessários):

http://portix.bitbucket.org/dwb/resources/manpage.html


Pois é... o que me chamou a atenção nele mesmo, para ser sincero, é o esquema vi-like dos comandos. Eu já uso o vimperator por praticidade, agora eu vou conhecer o dwb e ver o que sai dessa experiência. Deixa só chegar em casa.

[11] Comentário enviado por lcavalheiro em 26/08/2013 - 18:01h

Cara, não é que esse dwb é um navegador do caralho? Agora eu vou compilar aqui para habilitar coisas legais que os empacotadores do Debian não colocaram, tipo o dwbem..

[12] Comentário enviado por removido em 27/08/2013 - 14:30h

É bem estranho!

[13] Comentário enviado por phoemur em 27/08/2013 - 21:35h

Minhas configurações são todas na mão e costumo instalar alguns programas a mais:


Para daemon de área de transferência eu instalo o parcellite pelos repositórios da distro e coloco no arquivo de configuração ~/.i3/config pra executar ao iniciar assim:
exec --no-startup-id parcellite &

Para daemon de controle de volume eu instalo o volti e utilizo:
exec --no-startup-id volti

Para papel de parede eu instalo o feh ou o nitrogen e utilizo:
exec --no-startup-id feh --bg-scale /home/phoemur/Images/background-1.jpg

Para habilitar transparência das janelas dos terminais você vai precisar de um composite manager, eu uso geralmente xcompmgr ou cairo-compmgr:
exec --no-startup-id cairo-compmgr

Para daemon de notificação tem o dunst e o notification-daemon, entre outros...
Eu não gosto muito do rxvt então costumo instalar outro terminal também, mas vai ao gosto do freguês...

Para configurar a barra de status edite o arquivo /etc/i3status.conf



[14] Comentário enviado por tigmor em 28/08/2013 - 16:52h

Muito bom artigo, quase não tem artigo sobre TWMs em português. Parabéns

Atualmente eu acho o i3 uns dos melhores TWM a disposição. Nos últimos tempos tenho procurado um mais adequado para mim e acabei testando ele, assim como o awesome e o Xmonad. Isso no Slackware e no Arch Linux.

Com o awesome, acho que ele quer fazer demais. Não é ruim, mas realmente parece ser mais "instável" que os outros. O Xmonad é muito bom, mas é em Haskell, e pra mim isso é "dureza" rsrs...mas realmente é muito bem feito e interessante.

Já o i3, foi o meu preferido. Simples e, comparado com os outros, consideravelmente mais fácil de configurar, tanto as funções como tranparência e etc...que fazem ele ficar show rsrs.

Funcinou tranquilamente, tanto no Slackware quanto no Arch, e pra mim é a primeira opção em WM. A única máquina onde não o estou usando é em um netbook de 10" onde uso Slackware com o FLuxbox (para telas pequenas não recomendo TWMs, principalmente se tu for meio cego kkkk).

Abs

[15] Comentário enviado por removido em 30/08/2013 - 20:25h


[11] Comentário enviado por lcavalheiro em 26/08/2013 - 18:01h:

Cara, não é que esse dwb é um navegador do caralho? Agora eu vou compilar aqui para habilitar coisas legais que os empacotadores do Debian não colocaram, tipo o dwbem..


Fiz uma breve dica sobre esse navegador:

http://gnutwoall.wordpress.com/2013/08/30/dwb-um-excelente-navegador-webkit/

[16] Comentário enviado por px em 01/09/2013 - 10:13h

Claro, instrutivo e bem digitado, nota 10!


[5] Comentário enviado por lcavalheiro em 23/08/2013 - 10:43h:

Coisas como o i3 são coisa de pinguim doido ou pinguim iluminado (flame wars on: pinguim iluminado = slacker). É a mostra que a comunidade não se rendeu completamente ao combo Redmond (until brain burns ; do next > ; done ; install) e ao crack Apple (aparência é o que importa)


Nem fale isso meu colega! quer me deixar paranoico logo de manhã?!

[17] Comentário enviado por zezaocapoeira em 13/02/2014 - 22:33h

Salve phoemur .Obrigado pelo excelente artigo ,aderi definitivamente o " i3 wm " como gerenciador da minha máquina http://www.vivaolinux.com.br/screenshot/TWM-Aderi-ao-i3-wm/ .Estou muito satisfeito com o desempenho e a praticidade do " i3 wm " .

Obrigado pela atenção ,salve !!!


Contribuir com comentário