O que é Tiling Window Manager e como configurá-lo no Ubuntu com GNOME9 min leitura

Aprenda como utilizar o comportamento do Tiling Window Manager dentro do Ubuntu com GNOME para aproveitar os benefícios de ambos.

Conheci Tiling Window Manager faz mais de 10 anos e quando experimentei o Awesome WM me apaixonei pela eficiência que trazia. De modo bem resumo, o Tiling Window Manager é um gerenciador de janela onde cada programa (janela) abre uma ao lado da outra, em forma de ladrinho, nunca se sobrepondo (não é possível colocar uma janela em cima da outra). Com isto, cada vez que uma nova janela é aberta, ela divide o espaço total da tela, normalmente seguindo um padrão de divisão.

O objetivo principal deste sistema é trazer mais efetividade para o usuário, fazendo automaticamente a divisão das janelas na tela para deixá-las sempre visíveis e aumentar as possibilidades de fazer tudo por teclas de atalho, sem precisar ficar tirando a mão do teclado para utilizar o mouse para gerenciar as janelas dos programas abertos.

O principal motivo para ter parado de utilizar o Awesome WM foi a grande quantidade de tempo que estava me exigindo para mantê-lo configurado para suportar as últimas versões do Ubuntu e os programas que utilizada (especialmente o suporte a bandeja do sistema), assim como facilmente executar algumas operações corriqueiras(trocar imagem de fundo, montar automaticamente um dispositivo externo, …).

Por padrão o Ubuntu vem com duas teclas de atalho para fazer uma janela ocupar a metade da tela (Super+Seta para esquerda ou Super+Seta para direita), mas não é possível facilmente fazer divisões mais complexas, como três janelas ocupando o mesmo espaço horizontal (que é algo extremamente útil para certas de reunião, onde na esquerda tenho um documento de roteiro, no centro o vídeo das câmeras para dar mais a impressão de estar olhando para a câmera e na direita um documento onde faço minhas notas pessoais).

Uma opção que meio era utilizar uma extensão do GNOME, na qual continuava tendo todos os seus benefícios, assim como a efetividade da divisão de tela de um Tiling Window Manager. Só que depois de testar várias extensões, que muitas vezes dava muitos problemas, finalmente encontrei duas opções que funcionaram bem. Veja abaixo quais foram elas.

Atenção: Toda vez que eu citar a tecla Super, estou me referindo a tecla que geralmente tem o símbolo do Windows, localizada no lado inferior do teclado entre as teclas Ctrl e Alt.

Solução Intermediária: Tactile

Tactile é uma solução intermediária que continua mantendo o modo de janelas flutuantes (padrão do GNOME), mas possibilitando criar uma grade (grid) que é ativada por uma tecla de atalho (Super+T) e permite definir quais posições desta grade a janela ativa deve utilizar.

Para o meu caso, configurei dois tipos de grade: uma para ter três janelas horizontais e outro mais genérico que permite diferentes configurações.

Três janelas horizontais

Tela de configurações da grade da extensão Tacticle para GNOME com uma grade horizontal simples com três espaços
Grade horizontal simples com três espaços

Se estou utilizando o primeiro tipo de grade, utilizo as seguintes teclas de atalho:

  1. Super+T e depois Q+Q: para mover a janela para esquerda;
  2. Super+T e depois W+W: para mover a janela para o centro;
  3. Super+T e depois E+E: para mover a janela para o direita;

É necessário digitar a mesma letra duas vezes pois só configurei um eixo (horizontal) e a extensão recebe sempre como entrada dois eixos (horizontal e vertical). Para que uma janela ocupar os dois espaços da esquerda, a tecla de atalho seria: Super+T e depois Q+W.

Grade genérica

Tela de configurações da grade da extensão Tacticle para GNOME com uma grade mais complexa com 3 espaços na horizontal e 3 na vertical
Grade mais complexa com 3 espaços na horizontal e 3 na vertical

Para ativar a segunda grade, utilizo a tecla de atalho padrão para exibir a grade (Super+T) e depois digito o número da grade (neste caso 2) e depois a posição da janela que eu quero (ex: Q+S).

Exemplo

Gravei um vídeo mostrando como utilizei os dois tipos de grades para três janelas, selecionando uma configuração de posição para cada uma delas.

Vídeo mostrando o Tactile com duas grades diferentes

Como instalar a extensão

Se você achou interessante esta opção, expliquei em outro post como instalar o suporte para extensões no GNOME de maneira fácil e sem depender do navegador de internet.

Solução Completa: Pop Shell

Descobri esta alternativa através do vídeo WM-esque tiling and stacking on GNOME-based distros! (11min) e adorei as funcionalidades dela. Desenvolvida originalmente para o Pop!_OS, uma distribuição Linux baseada no Ubuntu, é possível também utilizá-la em outras distribuições que utilizam o GNOME.

processo de instalação do Pop Shell exige baixar o repositório Git do projeto e compilá-lo, mas acabou sendo bem simples. Durante a instalação ele pergunta se você deseja substituir os atalhos de teclado padrão e uma vez confirmado, é só reiniciar sua sessão do GNOME.

Importante: Esta substituição de atalhos desativa vários dos atalhos padrão do Ubuntu, principalmente os referentes ao gerenciamento de janelas, como o Super+Setas de navegação. Caso você quiser voltar à configuração inicial, é possível utilizar o botão Redefinir todos... na tela de Atalho de teclado.

Depois da instalação precisei reconfigurar as teclas de atalho para mudar as áreas de trabalho, que no Ubuntu são horizontais e no Pop!_OS são verticais.

Tela de configurações de atalhos de teclado do GNOME filtrando resultados por "mover para área"
Atalhos de teclado que precisei definir novamente no GNOME

Uma das funcionalidades mais interessantes é que é possível facilmente ativa ou desativar esta funcionalidade através de um ícone na bandeja do sistema, ou pela tecla de atalho Super+Y. Isto traz bastante flexibilidade, principalmente para quem está começando a utilizar este modo. Também é possível configurar o espaçamento entre as janelas (Gaps) e ativar uma borda que identifica a janela ativa (Show Active Hint), assim como a cor desta borda.

Opções do ícone de bandeja do Pop Shell
Opções do Pop Shell

Teclas de atalho que mais utilizo

Seguem abaixo as teclas de atalho que mais utilizo:

  • Super+Setas de navegação: navegar entre as janelas abertas da área de trabalho atual;
  • Super+M: maximizar a janela ativa ou voltar ao modo anterior;
  • Ctrl+Alt+Shift+Seta para direita ou esquerda: mover a janela ativa para a área de trabalho da esquerda ou direita;

Janelas sempre flutuantes

Parte da flexibilidade desta solução é poder configurar algumas janelas como sempre flutuantes. Para fazer isso, clique no ícone da bandeja do Pop Shell, selecione Floating Window Exceptions, clique no botão Select e selecione a janela que sempre deve ficar flutuante. No meu caso, configurei a janela do Pomatez (meu aplicativo preferido de Pomodoro),

Captura de tela do Pop Shell com quatro janelas abertas, sendo que uma delas é flutuante
Captura de tela do Pop Shell com quatro janelas abertas, sendo que uma delas (Pomatez) é flutuante

Empilhar janelas

Outra funcionalidade muito útil é poder empilhar janelas em um mesmo espaço, como se fossem abas. Para fazer isto, selecione a janela que está ocupando a divisão que você deseja empilhar, depois use o atalho Super+S e depois arraste com o mouse a outra janela para o espaço de empilhamento. Ainda preciso descobrir se é possível fazer isto somente pelo teclado.

Corrigindo o conflito com a tecla Super+Q

O comportamento do atalho Super+Q estava bem inconstante, parando de funcionar depois de um tempo. Para corrigir este problema, abra o terminal e executo o comando o comando abaixo:

gsettings set org.gnome.shell.extensions.dash-to-dock hot-keys false
Code language: Bash (bash)

Achei a solução acima no AskUbuntu.

Outras opções

Se você quiser ter a experiência completa de um Tiling Window Manager, recomendo ver esta tabela comparativa no wiki do ArchLinux e este post no blog do Diolinux, que inclusive tem opções para Windows e Mac. Recentemente um amigo do trabalho me recomendou o Regolith Desktop que pareceu bem interessante, mas ainda não testei.

Conclusão

Utilizar um Tiling Window Manager não é uma mudança pequena, exige um esforço inicial considerável para se acostumar com este novo jeito de utilizar as janelas e de utilizar os atalhos de teclado para navegar entre elas. Mas é uma mudança que me trouxe muito mais efetividade ao usar o computador e que pode fazer o mesmo para você. Minha escolha no momento é o Pop Shell, pois ele automaticamente faz a divisão das telas, mas também permite desabilitar esta funcionalidade quando necessário. Confesso que isto está me fazendo pensar em trocar o Ubuntu pelo Pop!_OS.

Se você tiver alguma outra dica de como utilizar o Pop Shell, outra extensão do GNOME ou até um outro Tiling Window Manager, deixe um comentário que vou adorar conhecer.

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo