Как получить выделенный текст в настольном приложении, используя python-dbus? - PullRequest
2 голосов
/ 16 ноября 2009

Например, я открываю файл PDF или веб-страницу в gnome, дважды щелкаю мышью по некоторому тексту, чтобы выбрать слово, как я могу получить это слово в фоновом запущенном демоне, написанном с помощью python-dbus?

Некоторые простые, но рабочие части сценария очень ценятся.

Спасибо!

Ответы [ 2 ]

7 голосов
/ 16 ноября 2009

Вам не нужна D-Bus, просто слушайте изменения в буфере обмена (щелчком) по среднему щелчку, например, Gtk:

import gtk

def _clipboard_changed(clipboard, event):
    text = clipboard.wait_for_text()

clip = gtk.clipboard_get(gtk.gdk.SELECTION_PRIMARY)
clip.connect("owner-change", _clipboard_changed)
0 голосов
/ 16 ноября 2009

Gnome Do имеет несколько плагинов, которые используют выделенный текст. Я не уверен, как это реализовано (и если он использует DBus), но код должен раскрыть все. :)

...