Como posso definir o xdotool e o gedit para abrir um documento e salvá-lo duas vezes?

6

Preciso de ajuda na criação de um script que faça o seguinte:

  1. Abra o Gedit
  2. Abra um documento com o Gedit
  3. Salve o documento duas vezes
  4. Fechar o Gedit

Eu queria saber como posso fazer isso acontecer com o Gedit e xdotool, como xdotool pode simular a combinação de teclas para salvar um documento Ctrl + S     

por Uri Herrera 25.08.2012 / 09:46

1 resposta

6

A janela deve ser focada porque senão gedit irá ignorar X eventos enviados por xdotool .

Veja o que seu script deve ser:

#!/bin/bash

gedit -s /path/to/document
# -s is standalone, meaning a new window will be opened instead of a tab in any existing gedit

sleep 5 # wait for gedit to open, adjust if necessary

GEDPID=$!  # save PID of gedit process

sleep 2 # wait for gedit to actually open document, adjust if necessary

GEDWINID='xdotool search --pid $GEDPID | tail -1'
# gets window ID of gedit, the third "child" is the actual window

xdotool windowactivate --sync $GEDWINID key --clearmodifiers --delay 100 ctrl+s ctrl+s alt+F4
# focus gedit window, wait until focused, then save twice and exit
    
por ish 25.08.2012 / 10:24