Как установить xdotool и gedit для открытия документа и сохранения его дважды?

6

Мне нужна помощь в создании скрипта, который выполняет следующие действия:

  1. Открыть Gedit
  2. Открыть документ с помощью Gedit
  3. Сохранить документ дважды
  4. Закрыть Gedit

Мне было интересно, как я могу это сделать с Gedit и xdotool, так как xdotool может имитировать комбинацию клавиш для сохранения документа Ctrl + S     

задан Uri Herrera 25.08.2012 в 09:46
источник

1 ответ

6

Окно должно быть сфокусировано, потому что иначе gedit будет игнорировать события X, отправленные xdotool .

Вот ваш сценарий:

#!/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
    
ответ дан izx 25.08.2012 в 10:24
источник