检测Gnome中的更改工作区

时间:2009-09-01 04:46:18

标签: mono gnome workspace compiz

我正在试图弄清楚如何检测当前用户何时在Mono中更改了他们的工作区。我甚至不确定Gnome的工作空间方面是如何运作的。简单介绍一下Monodoc没有改变任何东西,我找不到能给我想要的GConf键。

更新: 如果Compiz未设置为具有虚拟大小,则以下方法将起作用。例如,如果您将Compiz中的桌面数量设置为1,水平虚拟大小为2,则两个工作空间的Gdk.Global.CurrentDesktop将返回0。

当Compiz启用虚拟桌面时,有没有人知道找到工作区是否已更改的方法?

2 个答案:

答案 0 :(得分:1)

这实际上是窗口管理器的一个功能,它的工作原理在窗口管理器之间有所不同。我不熟悉如何在Mono中访问xlib,但您正在根窗口中查找_NET_NUMBER_OF_DESKTOPS_NET_DESKTOP_NAMES_NET_CURRENT_DESKTOP等X属性。

FreeDesktop.org的Extended Window Manager Hints specification包含许多细节。

答案 1 :(得分:1)

使用libwnck。我很确定它有一个Mono包装器。