获取相对于它在PyGtk中放置的工作空间的窗口位置

时间:2010-09-04 16:08:48

标签: gtk position workspace

我正在尝试改进某些应用程序的托盘功能的最小化,我想在托盘图标上显示窗口,如果它被最小化到托盘或不放在当前工作区上。

我遇到了当我尝试显示(取消最小化)工作区中可见的应用程序窗口(比如说'工作区1')而不是当前窗口(“工作区2”)时出现的问题。问题是停留在当前工作区左侧的工作区,应用程序的窗口具有负x坐标,因为窗口位置是相对于当前工作空间计算的。我想得到窗口相对于工作区1的位置(不是当前的位置),并在工作区2(当前的)上显示它。

我现在正在做类似的事情,在当前工作区显示与前一个工作区相同位置的窗口:

# get desktop size
ws_width, ws_height = gtk.gdk.get_default_root_window().get_size()
# get position relative to current workspace
x, y = window.get_position()
# get position relative to the workspace the window is on
x %= ws_width
y %= ws_height
window.move(x, y)
window.show()

但我不喜欢这种解决方法,并且不确定此代码是否会破坏除gnome之外的桌面上的smth。

所以我会感谢问题的任何其他解决方案以及有关其他Linux桌面情况的信息(例如,他们是否将窗口相对于当前工作空间的位置计为gnome)。

0 个答案:

没有答案