Получить положение окна относительно рабочей области, в которой оно находится в PyGtk - PullRequest
1 голос
/ 04 сентября 2010

Я пытаюсь улучшить функцию минимизации лотка в каком-либо приложении, и я хочу показать окно при щелчке значка в трее, если оно было свернуто в лоток или помещено не в текущее рабочее пространство.это происходит, когда я пытаюсь показать (не минимизировать) окно приложения, которое видно в рабочей области (скажем, «рабочая область 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.

Так что я буду благодарен за любое другое решение проблемы, а также за информацию о ситуации на других рабочих столах linux (например, считают ли они положение окна относительно текущего рабочего пространства как gnome илинет).

...