Existem duas ferramentas importantes para manipular janelas cli
; xdotool
e wmctrl
. As duas ferramentas se sobrepõem na funcionalidade, mas os comandos mais importantes que se referem à sua pergunta:
Em uma visão geral (sem dúvida incompleta), listando os comandos que eu mais uso:
Fechando uma janela
wmctrl:
wmctrl -ic <window_id>
Minimizando uma janela
xdotool:
xdotool windowminimize <window_id>
Desminimizando uma janela
wmctrl:
efetivamente a minimização é feita por:
wmctrl -ia <window_id>
Menciono efetivamente , já que o comando se move para a área de trabalho correspondente, não minimiza e aumenta a janela, mas o comando também faz isso em janelas que não são minimizadas.
Maximizando uma janela
xdotool:
xdotool windowsize <window_id> 100% 100%
wmctrl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Não maximizando uma janela:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Notas
Ambos xdotool
e wmctrl
não estão no seu sistema por padrão:
sudo apt-get install xdotool wmctrl
Para executar qualquer um dos comandos na janela atualmente ativa :
para wmctrl
comandos, remova a -i
opção, substitua <window_id>
por:ACTIVE:
para xdotool
comandos: substitua <window_id>
por$(xdotool getactivewindow)
Em muitos casos, os comandos podem ser executados usando o ID da janela ou o nome da janela . A -i
opção em wmctrl
diz wmctrl
para usar o ID da janela. Eu sugiro não usar o nome da janela como um identificador, para evitar conflitos de nome. Isso acontece mais facilmente do que você esperaria.
- Da minha própria experiência, usando maximizing em um script; Usar
wmctrl
para maximizar / não maximizar pode ser um pouco complicado para ambos Unity
e Gnome
, enquanto a xdotool
opção funciona mais robusta na minha experiência. Na maioria dos scripts, acabo usando uma mistura de ambos wmctrl
e xdotool
.
Mais informações sobre man wmctrl e man xdotool (principalmente a seção: COMANDOS DA JANELA ).