我正在尝试在gedit窗口中找到当前正在编辑的整个文本。首先,我试图通过使用Xlib.display找出当前焦点的gedit选项卡。现在我有一个Xlib.display.window对象。现在我想使用这个窗口对象找出该特定窗口/窗口小部件中的文本
我的代码就像这样
import gtk, gobject, Xlib.display
currentFocus=''
def current_focused:
global currentFocus
display = Xlib.display.Display()
window = display.get_input_focus().focus
wmname = window.get_wm_name()
wmclass = window.get_wm_class()
if wmclass is None and wmname is None:
window = window.query_tree().parent
wmname = window.get_wm_name()
if currentFocused!=wmname:
if window.get_wm_class()[0]=='gedit':
print "\nNow you are in : < %s >" % (wmname,)
# Here i have to find the text of the gedit's widget
currentFocused=wmname
return True
gobject.timeout_add(1000, current_focused)
gtk.main()
是否有任何API可以使用Xlib.display.window获取特定小部件的文本 请帮我。我在这个领域是全新的
谢谢
答案 0 :(得分:0)
WM_CLASS / WM_NAME属性仅用于向窗口管理器提供信息(因此WM前缀),通常不在子窗口上设置。如果编辑窗口小部件设置了类似的属性,请检查GTK source code,但通常外部进程无法读取编辑控件文本