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,
xdotoolewmctrlnã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
-iemwmctrlindicawmctrlpara 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
wmctrlpara maximizar / não maximizar pode ser um pouco problemático emUnityeGnome, enquanto a opçãoxdotoolfunciona mais robusta na minha experiência. Na maioria dos scripts, acabo usando uma mistura dewmctrlexdotool.
Mais informações sobre man wmctrl e man xdotool (principalmente a seção: COMANDOS DE JANELA ).