garotosopa

Janelas maximizadas sem borda com o Devilspie

Publicado em linux por garotosopa em Março 23, 2008

Sempre gostei de interfaces minimalistas, e uma coisa que estava me chateando ultimamente era o desperdício de espaço com a barra de título em algumas janelas que eu só utilizo maximizadas. Nada que o Devil’s Pie não resolva.

O Devil’s Pie funciona observando as janelas que são abertas e, pra cada janela que se encaixar em alguma regra predefinida, executa as ações desejadas.

Dentre as opções de ação, é possível maximizar, definir tamanho, colocar a janela em fullscreen, jogar para outra workspace, definir posição, entre outras coisas. O que me interessou foi poder utilizar o recurso undecorate para remover a window decoration, a borda com a barra de título.


O primeiro passo é instalá-lo:
# aptitude install devilspie

O Devil’s Pie lê todos os arquivos com extensão .ds localizados em ~/.devilspie/, então, sem seguida, cria-se um arquivo com as regras e ações.

~/.devilspie/fullscreen.ds
(if
    (and
        (or
            (is (window_class) "Firefox-bin")
            (is (window_class) "Xchat")
        )
        (contains (window_property "_NET_WM_STATE") "_NET_WM_STATE_MAXIMIZED_VERT")
        (contains (window_property "_NET_WM_STATE") "_NET_WM_STATE_MAXIMIZED_HORZ")
    )
    (begin
        (undecorate)
        (unmaximize)
        (maximize)
    )
)

Neste caso o script verifica se a janela é do Firefox ou Xchat e se estão maximizadas vertical e horizontalmente e, caso a janela se enquadre nestes critérios, a decoração é removida e a janela remaximizada.

As ações de unmaximize e maximize são necessárias porque após remover a decoração sobraria um espaço vazio.

Agora basta executar devilspie que as alterações serão feitas e, se for o caso, colocar o comando para ser executado ao iniciar o X.

Firefox maximizado ainda com a barra de título

Antes do Devil’s Pie

Firefox maximizado sem borda com o Devil’s Pie

Depois do Devil’s Pie

Uma forma de descobrir o window_name para utilizar na regra é criando um script qualquer, ~/.devilspie/debug.ds por exemplo, com a ação (debug). Ao executar o devilspie novamente, serão mostrados no terminal alguns detalhes das janelas.

Para conhecer outras regras e ações, recomendo este ótimo artigo sobre o Devil’s Pie.

Etiquetado como:

Deixe uma resposta