Réponses:
Eh bien, après sudo apt-get install wmctrl-ing, vous pouvez jouer avec ce script bash:
#! /bin/bash
WINTITLE="Mail/News" # Main Thunderbird window has this in titlebar
PROGNAME="mozilla-thunderbird" # This is the name of the binary for t-bird
# Use wmctrl to list all windows, count how many contain WINTITLE,
# and test if that count is non-zero:
if [ `wmctrl -l | grep -c "$WINTITLE"` != 0 ]
then
wmctrl -a "$WINTITLE" # If it exists, bring t-bird window to front
else
$PROGNAME & # Otherwise, just launch t-bird
fi
exit 0
Que j'ai trouvé ici
if ! wmctrl -l | grep -q "$WINTITLE"
                    wmctrla une -ioption, qui prend en charge l'utilisation de la fenêtre avec son identificateur hexadécimal. Et donc vous pouvez le faire wmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai- ce qui ferait quelque chose de similaire
                    Lors de l'utilisation xdotool, il semble difficile de mettre en avant toutes les fenêtres d'une application ou d'une classe donnée en utilisant une seule commande. Je finis par avoir de meilleurs résultats en l'enveloppant dans une forboucle au niveau du shell. Utilisation de Bash:
for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done
Quelques remarques:
xdotool searchrecherchera le modèle (ici Firefox) dans le nom de la fenêtre, la classe et le nom de classe. Si vous souhaitez restreindre votre espace de recherche, utilisez les pertinentes --class, --nameou des --classnameoptions.--desktop 0option limite la recherche au premier bureau. Cela semble être une solution de contournement pour éviter ce qui est XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)mentionné dans certains commentaires.xdotoolprojet est au point mort depuis 2015. Il reste toujours mon outil de choix. Pour des raisons personnelles, Jordan Sissel (l'auteur original) n'est pas aussi actif que par le passé, alors n'hésitez pas à contribuer au projet.
xdotool windowraiseamène la fenêtre à l'avant mais ne donne pas le focus à la fenêtre ou ne passe pas au bureau avec la fenêtre. au lieu de cela,windowactivatefera les trois.