web-dev-qa-db-fra.com

Comment configurer xdotool et gedit pour ouvrir un document et le sauvegarder deux fois?

J'ai besoin d'aide pour créer un script qui effectue les tâches suivantes:

  1. Ouvrez Gedit
  2. Ouvrir un document avec Gedit
  3. Enregistrez le document deux fois
  4. Fermer Gedit

Je me demandais comment puis-je y arriver avec Gedit et xdotool, car xdotool peut simuler la combinaison de touches pour enregistrer un document Ctrl+ S

6
Uri Herrera

La fenêtre doit être focalisée car sinon gedit ignorera les événements X envoyés par xdotool.

Voici ce que votre script devrait être:

 #!/bin/bash 
 
 gedit -s /path/to/document
# -s est autonome, ce qui signifie qu'une nouvelle fenêtre sera ouverte à la place de un onglet dans tout gedit 
 
 sleep 5 # attendez que gedit s'ouvre, modifiez-le si nécessaire 
 
 GEDPID = $! # enregistrer le PID du processus gedit 
 
 dormir 2 # attendre que gedit ouvre réellement le document, ajuster si nécessaire 
 
 GEDWINID = `recherche xdotool --pid $ GEDPID | tail -1` 
 # obtient l'ID de fenêtre de gedit, le troisième "enfant" est la fenêtre réelle 
 
 xdotool windowactivate --sync $ GEDWINID clé --clearmodifiers --delay 100 ctrl + s ctrl + s alt + F4 
 # focus gedit fenêtre, attendez d'avoir focalisé, puis sauvegardez deux fois et quittez 
6
ish