Обнаружение измененного рабочего пространства в Gnome - PullRequest
0 голосов
/ 01 сентября 2009

Я пытаюсь выяснить, как определить, когда текущий пользователь изменил свою рабочую область в Mono. Я даже не совсем уверен, как работает аспект рабочей области Gnome. Краткий взгляд на Monodoc ничего не дал, и я не смог найти ключ GConf, который дал мне то, что я хотел.

Обновление : Приведенный ниже метод будет работать ТОЛЬКО, если у Compiz не установлен виртуальный размер. Например, если вы установите число рабочих столов в Compiz равным 1 с горизонтальным виртуальным размером 2, Gdk.Global.CurrentDesktop вернет 0 для обеих рабочих областей.

Так кто-нибудь знает способ определения, изменилось ли рабочее пространство, когда в Compiz включены виртуальные рабочие столы?

Ответы [ 2 ]

1 голос
/ 05 октября 2009

Используйте libwnck. Я почти уверен, что для него есть Mono-обертка.

1 голос
/ 01 сентября 2009

Это на самом деле особенность оконного менеджера, и как именно он работает, зависит от оконных менеджеров. Я не знаком с тем, как получить доступ к xlib в Mono, но вы ищете свойства _NET_NUMBER_OF_DESKTOPS, _NET_DESKTOP_NAMES, _NET_CURRENT_DESKTOP и т. Д. X в корневом окне.

Спецификация FreeDesktop.org Расширенные подсказки оконного менеджера содержит множество деталей.

...