Il existe deux outils importants pour manipuler Windows à partir de cli
; xdotool
y wmctrl
. Les deux outils ont des fonctionnalités communes, mais les commandes les plus importantes se rapportent à votre question :
Dans une vue d'ensemble (sans doute incomplète), la liste des commandes que j'utilise le plus :
Fermeture d'une fenêtre
wmctrl :
wmctrl -ic <window_id>
Réduire une fenêtre
xdotool :
xdotool windowminimize <window_id>
Annuler la réduction d'une fenêtre
wmctrl :
efficacement un- minimisation est effectuée par :
wmctrl -ia <window_id>
Je mentionne efficacement La commande permet de se déplacer vers le bureau correspondant, d'annuler la minimisation et de relever la fenêtre, mais la commande également le fait sur les fenêtres qui ne sont pas réduites.
Agrandir une fenêtre
xdotool :
xdotool windowsize <window_id> 100% 100%
wmctrl :
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Annuler l'agrandissement d'une fenêtre :
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Notes
-
Les deux xdotool
y wmctrl
ne sont pas présentes par défaut sur votre système :
sudo apt-get install xdotool wmctrl
-
Pour exécuter l'une des commandes de l'application en cours activo fenêtre :
-
Dans de nombreux cas, les commandes peuvent être exécutées en utilisant soit la commande Identifiant de la fenêtre ou le nom de la fenêtre . Les -i
dans l'option wmctrl
raconte wmctrl
pour utiliser l'identifiant de la fenêtre. Je suggérerais no en utilisant le nom de la fenêtre comme identifiant, afin d'éviter les conflits de noms. Cela se produit plus facilement qu'on ne le pense.
-
D'après ma propre expérience, l'utilisation de la maximisation dans un script ; En utilisant wmctrl
pour maximiser / dé-maximiser peut être un peu bogué sur les deux Unity
y Gnome
, tandis que le xdotool
fonctionne de manière plus robuste d'après mon expérience. Dans la plupart des scripts, je finis par utiliser un mélange de ces deux options wmctrl
y xdotool
.
Plus d'informations sur homme wmctrl y man xdotool (principalement la section : COMMANDES DE FENÊTRE ).