21 votes

Comment fermer, minimiser et maximiser une fenêtre spécifique à partir de Terminal ?

J'utilise Ubuntu GNOME 15.10 avec GNOME 3.18 et je me demande s'il existe un moyen de fermer, minimiser, déminimiser, maximiser et dé-maximiser les fenêtres spécifiées à partir du Terminal ?

Note - J'ai consulté cette question-réponse - Je demande comment le faire à partir du terminal... Pas comment ajouter les boutons... Les boutons sont déjà là, je n'ai pas besoin de les ajouter.

29voto

Jacob Vlijm Points 78990

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 :

    • pour wmctrl supprimer les commandes -i remplacer l'option <window_id> par :ACTIVE:

    • pour xdotool commandes : remplacer <window_id> par $(xdotool getactivewindow)

  • 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 ).

4voto

asdfdsa Points 41

Complétant la réponse de Jacob Vlijm :

xdotool windowactivate $minwinid
xdotool windowraise $minwinid
xdotool windowfocus $minwinid

Fonctionne également pour réduire la taille d'une fenêtre. L'animation est plus rapide pour moi.

0voto

sotobuild Points 1

Complétant la réponse de Jacob Vlijm :

Minimiser une fenêtre avec xdotool par le nom de la fenêtre :

xdotool search -name '<window_name>' windowminimize

Pour obtenir la liste des noms de Windows, utilisez :

wmctrl -l

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X