0

我试图弄清楚如何检测当前用户何时更改了 Mono 中的工作区。我什至不确定 Gnome 的工作区方面是如何运作的。通过 Monodoc 的简短浏览并没有发现任何问题,而且我也找不到给我想要的 GConf 密钥。

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

那么有没有人知道在 Compiz 启用虚拟桌面时查找工作区是否已更改的方法?

4

2 回答 2

1

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

FreeDesktop.org 的扩展窗口管理器提示规范包含许多细节。

于 2009-09-01T04:59:35.960 回答
1

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

于 2009-10-04T22:29:32.617 回答