2024-05-19 23:02:43 发布
网友
我将创建一个Python脚本来搜索具有特定标题的窗口并将其置于顶部。 我发现了如何在当前工作区中执行此操作: http://ubuntuforums.org/showthread.php?t=1254376
但我想在所有的工作区都这样做。我该怎么做?在
老问题,但我也面临同样的问题。 答案是,要获取所有工作区上的窗口列表,不应测试窗口是否可见(删除地图状态属性==X.IsViewable“部分)。在
display = Display() root = display.screen().root winid_list = root.get_full_property(self.NET_CLIENT_LIST_ATOM, X.AnyPropertyType).value for winid in winid_list: win = self.display.create_resource_object('window', winid) transient_for = win.get_wm_transient_for() wmname = win.get_wm_name() if transient_for == None: if wmname != None and name in wmname: break
该代码在查询树中搜索窗口,并获取窗口对象,该对象稍后可用于查询所需的属性:
disp = Display() root = disp.screen().root children = root.query_tree().children for win in children: try: WinName = getProp(disp,win,'NAME') # or win.get_wm_name() PIDs = getProp(disp,win,'PID') WinPID = newPIDs[0] if WinName and WinName == DESIRED_NAME: print("found the window with pid: {} winName: {} winId: {}".format(pid, newWinName,win.id)) # Code to bringToTop print except Xlib.error.BadWindow: print("BadWindow error") def getProp(disp,win, prop): p = win.get_full_property(disp.intern_atom('_NET_WM_' + prop), 0) return [None] if (p is None) else p.value
老问题,但我也面临同样的问题。 答案是,要获取所有工作区上的窗口列表,不应测试窗口是否可见(删除地图状态属性==X.IsViewable“部分)。在
该代码在查询树中搜索窗口,并获取窗口对象,该对象稍后可用于查询所需的属性:
相关问题 更多 >
编程相关推荐