我正在试图弄清楚如何检测当前用户何时在Mono中更改了他们的工作区。我甚至不确定Gnome的工作空间方面是如何运作的。简单介绍一下Monodoc没有改变任何东西,我找不到能给我想要的GConf键。
更新: 如果Compiz未设置为具有虚拟大小,则以下方法将起作用。例如,如果您将Compiz中的桌面数量设置为1,水平虚拟大小为2,则两个工作空间的Gdk.Global.CurrentDesktop将返回0。
当Compiz启用虚拟桌面时,有没有人知道找到工作区是否已更改的方法?
答案 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包装器。