> Cette fois-ci je me demande si ce principe pourrait s'appliquer à une apllication graphique sous XFCE… A priori non : une fois l’application lancée elle interagit par évènements X. L’entrée standard stdin ne permet pas (sauf cas étranges) de provoquer ces évènements. > Mais y aurait-il une manière de faire ? > En particulier j'aimerais passer des raccourcis-clavier dans le bloc de commandes. La réponse se nomme xdotool, http://manpages.ubuntu.com/manpages/trusty/man1/xdotool.1.html#description . Un exemple d’utilisation de xdotool est visible ici : https://www.semicomplete.com/projects/xdotool/#example-focus-the-firefox-url-bar . Attention toutefois : pour l’avoir utilisé parfois, l’utilitaire fonctionne à merveille - mais il faut garder de la prudence et insérer quelques « sleep 1 » ici et là de manière heuristique. En effet si (par exemple) Firefox mets 4 secondes à se lancer il faut insérer un sleep 4 avant de lancer la commande xdotool - et si une popup « aimez-vous firefox ? » apparait cela fausse le comportement attendu . En bref xdotool permet bien d’exécuter des appuis de touches, de souris et de focalisation de fenêtres par script, mais les conditions sont parfois hasardeuses. Enfin, au cas ou signalons sikuli pour les cas complexes. Sikuli automatise des actions par détection visuelle, par exemple si « croix.png » contient l’image du bouton de fermeture d’une fenêtre X, alors un script sikuli « if(croix.png) then (click(coordinates)) » fermerait frénétiquement toute fenêtre X dès son 1er rendu (sikuli surveille constamment un screenshot de l’écran, et réagit à toute sous-image détectée - il faut préparer ses sous-images comme des regexp ..) Bonne chance S.
|