如何使用python-dbus获取桌面应用程序中的选中文本?

2 投票
2 回答
2318 浏览
提问于 2025-04-15 16:04

比如,我在gnome环境下打开一个pdf文件或网页,双击鼠标选中一些文字,这样就选中了一个单词。我想知道如何在一个用python-dbus写的后台程序中获取这个单词。

如果能给我一个简单但有效的脚本示例,我会非常感激。

谢谢!

2 个回答

0

Gnome Do 有一些插件可以使用你选中的文本。我不太确定它是怎么实现的(以及是否使用了DBus),不过代码应该能揭示一切。:)

7

你不需要用到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)

撰写回答