2
我有一个gtk应用程序,它具有一个托盘图标,如果用户单击该图标,窗口的可见性在与窗口位于同一工作区时切换。当他在另一个工作区时,窗口移动到另一个工作区。GTK/GDK如何找出一个窗口是否被另一个窗口覆盖?
现在,如果应用程序和用户在同一个屏幕上,并且应用程序完全被另一个屏幕覆盖,我想提升窗口的顶部,而不是先隐藏它,然后放在下一个托盘图标上再次点击显示。
我迄今为止代码:
def inOverlayed(self):
windows = self.window.get_screen().get_toplevel_windows()
win = self.window.get_window()
x, y, w, h, b = win.get_geometry()
for i in windows:
if win != i:
x2, y2, w2, h2, b2 = i.get_geometry()
if x >= x2 and x + w <= x2 + w2:
if y >= y2 and y + h <= y2 + h2:
return True
return False
最大的问题是似乎没有办法确定一个窗口的Z级,但没有一个分不清如果窗口只是里面一个又一个或如果它被一个重叠覆盖。
所以我的问题是,我怎么找了一个窗口的Z级(该文档不说这事),或者是有这个问题