J'ai besoin de maximiser la fenêtre d'une application lorsqu'elle est réduite à l'aide de la ligne de commande uniquement.
Alors, comment faire cela en connaissant l'identifiant du processus.
En travaillant sur la commande wmctrl
, j'ai l'erreur suivante:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x6718
Serial number of failed request: 11
Current serial number in output stream: 11
Cela devrait fonctionner:
xdotool windowactivate `xdotool search --pid YOUR_PID_HERE | tail -1`
xdootool signale pas mal d'identifiants de fenêtre lors de la recherche par pid, alors j'ai "ajusté" la sortie pour obtenir uniquement le dernier identifiant de fenêtre. Pour moi, cela fonctionnait bien avec Firefox et gnome-calculator. Si xdotool ne signale qu'un seul identifiant de fenêtre pour votre pid, le tuyau d'échappement est bien entendu inutile.
Vous pouvez utiliser wmctrl
( page de manuel ) pour manipuler les fenêtres à partir de la ligne de commande.
Sudo apt-get install wmctrl
ou tout autre gestionnaire de paquets avec lequel vous vous sentez à l'aise.wmctrl -lp
liste toutes les fenêtres existantes avec leur ID de fenêtre dans la première et le PID dans la deuxième colonne de la sortie.wmctrl -iR <window ID>
ou wmctrl -ia <window ID>
, selon que vous souhaitez basculer vers son bureau ou le déplacer vers le bureau actuel.Cela devrait le faire:
awk '$3 == 17213 {print $1}' <(wmctrl -lp) | xargs -i% sh -c "xwit -id % -pop -raise; wmctrl -i -r % -b add,maximized_vert,maximized_horz"
Vous devrez modifier l'ID dans l'instruction awk
, mais cela maximisera et activera la fenêtre. Vous aurez également besoin d'installer xwit
(Sudo apt-get install xwit
) pour que la suppression de minimisation fonctionne.
La raison pour laquelle cela est si compliqué est qu’aucun outil ne fait tout ce dont vous avez besoin et que ceux qui sont légèrement capables ont des problèmes terminaux:
xdotool
ne peut pas rechercher par PID (bien qu'il s'agisse d'une fonctionnalité annoncée)wmctrl
ne sait pas comment minimiser et maximiser les chosesxwit
ne peut pas changer astuces de fenêtre, mais cela peut annuler la minimisationIdéalement, c'est quelque chose que vous devriez être capable de faire avec juste xdotool
ou wmctrl
, mais leurs recherches de PID ne fonctionnent ni n'existent, respectivement.