2013-11-23 90 views
1

我正在嘗試在gedit窗口中找到當前正在編輯的整個文本。首先,我試圖通過使用Xlib.display來找出當前關注的gedit選項卡。現在我得到了一個Xlib.display.window對象。現在我想找出使用​​該窗口對象如何使用python-xlib獲取窗口小部件/窗口的文本?

是在特定的窗口/插件的文字和我的代碼是這樣的

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

WM_CLASS/WM_NAME特性僅用於提供信息的窗口管理器(WM因此前綴),而不是通常的子窗口設置。檢查GTK source code如果編輯小部件設置了類似的屬性,但通常不可能讓外部進程讀取編輯控制文本

相關問題