web-dev-qa-db-fra.com

Comment utiliser wmctrl pour détecter si une fenêtre est présente?

Je fais une certaine automatisation de l'interface utilisateur et je veux effectuer une tâche en fonction de la fenêtre présente. La fenêtre ne s'ouvre que dans les mêmes cas. La commande que je veux utiliser est:

wmctrl -a "Confirm New Extension"; xdotool key Left space

mais je veux exécuter la commande xdotool uniquement s'il y a une nouvelle fenêtre appelée "Confirm New Extension". Je ne sais pas si wmctrl retourne quelque chose pour faire quelque chose comme

if [ wmctrl -a "Confirm New Extension" ]; then
    xdotool key Left space
fi

Quelqu'un peut-il m'aider avec cela?

1
TheRookierLearner

Après un peu d'expérimentation, j'ai pu le gérer à l'aide du script suivant:

if test $(wmctrl -l | grep "Confirm New Extension" 2>&1 | wc -l) -eq 1; then 
    wmctrl -vxa "Confirm New Extension"
    xdotool key Left space 
fi

J'espère que cela aide quelqu'un.

1
TheRookierLearner