Вызывает вставку ctrl-v из приложения pygtk в другое окно (в Linux) - PullRequest
2 голосов
/ 10 февраля 2012

Я использую pygtk, gtk clipboard и keybinder.Вот что я пытаюсь сделать.

  1. поймать нажатие клавиши, когда в другом текстовом поле windows, например в браузере
  2. , всплывают gtk-приложение и обрабатывают пользовательский ввод
  3. копирование полученных данных в буфер обмена GTK
  4. вставка данных в буфер обмена в текстовое поле исходного окна
  5. очистка буфера обмена

Я ловлю нажатия клавиш и нажимаюдо окна хорошо.Я могу скопировать в буфер обмена.Я могу закрыть приложение GTK и вернуть фокус в исходное текстовое поле Windows.Единственная проблема заключается в том, что я не знаю, как выполнить шаг 4. Поскольку сейчас пользователь должен нажать ctrl-v, чтобы вставить его из буфера обмена в текстовое поле, я хотел бы устранить это нажатие клавиши.

1 Ответ

1 голос
/ 23 февраля 2012

Лучшее, что я мог придумать, это использовать python-wnck для получения имени окна, затем скопировать в буфер с помощью gnome-clipboard и затем вызвать подпроцесс для xdotool с командой и именем окна.

paste_cmd = 'ctrl+v'
xdo_cmd = 'xdotool search "%s" windowactivate --sync key --clearmodifiers %s'

Вроде бы работает, но что-то родное было бы лучше.

...