我找到了以下代码(http://pastebin.com/rNkUj5V8),但我宁愿使用直接查找:
import Xlib
import Xlib.display
def get_window_by_id(winid):
mydisplay = Xlib.display.Display()
root = mydisplay.screen().root # should loop over all screens
inspection_list = [root]
while len(inspection_list) != 0:
awin = inspection_list.pop(0)
if awin.id == winid:
return awin
children = awin.query_tree().children
if children != None:
inspection_list += children
return None
# use xwininfo -tree to click on something (panel was good for me)
# until you find a window with a name, then put that id in here
print get_window_by_id(0x1400003)
print get_window_by_id(0x1400003).get_wm_name()
我尝试过直接实例化一个窗口对象,但是调用get_attributes
失败:
使用
dpy.create_resource_object('window', 0x1400003)
,其中dpy
是一个Display
对象,为具有给定XID的现有窗口在该显示器上获取一个Window
对象。在用法示例:
相关问题 更多 >
编程相关推荐