J'ai une application qui est construite en utilisant GTK +. L'application a une interface très simple. Au démarrage, la même fenêtre s'ouvre toujours, avec quelques contrôles d'entrée.
Nous voulons écrire un script pour remplir du texte dans quelques champs, cochez une case, puis cliquez sur un bouton. Assez simple et serait facile à faire si une version en ligne de commande de l'application était disponible (mais ce n'est pas le cas).
Quelle est la meilleure façon d'aborder l'interaction avec une application X par programme?
xdotool
ne devrait être envisagée que dans les cas d'urgence réels! Scénariser quelque chose de sérieuxxdotool
est plus une douleur qu'un plaisir. Avant d'essayer,xdotool
demandez au développeur si l'application possède unedbus
interface. Cela rendrait votre plan beaucoup plus simple.xdotool
pour diverses tâches sans problème. Je ne sais pas sur quoi repose plus exactement une douleur qu'un plaisir .xte
, une partie de xautomation est un autre outil que vous pouvez utiliser pour générer de fausses entrées X11 à l'aide de l'extension XTest.Depuis la page d'accueil:
la source
Xte fonctionne mais il est vraiment vieux. xdotool est au moins en développement actif.
J'ai fait beaucoup d'études sur la génération d'événements X Windows, nominalement pour développer un programme de macros de clavier qui peut taper des chaînes, ou le presse-papiers dans des applications qui normalement ne vous permettent pas d'utiliser le collage.
Remarques sur la gestion des événements X Window ... http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt
Macro de clavier (en utilisant xte ou xdotool http://www.ict.griffith.edu.au/anthony/software/#keyboard_macro
la source