Existem duas ferramentas importantes para manipular janelas de cli
; xdotool
e wmctrl
. As duas ferramentas se sobrepõem na funcionalidade, mas os comandos mais importantes se referem à sua pergunta:
Em uma visão geral (sem dúvida incompleta), listando os comandos que mais uso:
Fechando uma janela
wmctrl:
wmctrl -ic <window_id>
Minimizando uma janela
xdotool:
xdotool windowminimize <window_id>
Un-minimizando 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, unminimiza e aumenta a janela, mas o comando também faz isso em janelas que não são minimizadas. / p>
Maximizar 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
-
Por padrão,
xdotool
ewmctrl
não estão no seu sistema:sudo apt-get install xdotool wmctrl
-
Para executar qualquer um dos comandos na janela ativa atualmente:
-
para comandos
wmctrl
, remova a opção-i
, substitua<window_id>
por:ACTIVE:
-
para comandos
xdotool
: 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 opção
-i
emwmctrl
indicawmctrl
para usar o id da janela. Eu sugeriria não usando o nome da janela como um identificador, para evitar conflitos de nome. Acontece mais facilmente do que você esperaria. - Da minha própria experiência, usando a maximização em um script;
Usar
wmctrl
para maximizar / não maximizar pode ser um pouco problemático emUnity
eGnome
, enquanto a opçãoxdotool
funciona mais robusta na minha experiência. Na maioria dos scripts, acabo usando uma mistura dewmctrl
exdotool
.
Mais informações sobre man wmctrl e man xdotool (principalmente a seção: COMANDOS DE JANELA ).