2009-09-01 52 views
0

我想知道如何檢測當前用戶在Mono中更改其工作區的時間。我甚至不確定Gnome的工作空間如何運作。通過Monodoc的簡要介紹沒有發現任何東西,我也找不到一個GConf鍵,它給了我想要的東西。在Gnome中檢測已更改的工作區

更新: 如果Compiz沒有設置爲虛擬大小,下面的方法將僅工作。例如,如果將Compiz中桌面的數量設置爲1,並且水平虛擬大小爲2,則兩個工作區的Gdk.Global.CurrentDesktop都將返回0。

因此,有沒有人知道在Compiz啓用虛擬桌面時查找工作區是否已更改的方法?

回答

1

這實際上是窗口管理器的一個功能,它的工作方式因窗口管理器而異。我不熟悉如何在Mono中訪問xlib,但是您正在尋找根窗口上的_NET_NUMBER_OF_DESKTOPS,_NET_DESKTOP_NAMES,_NET_CURRENT_DESKTOP等X屬性。

FreeDesktop.org的Extended Window Manager Hints specification包含許多細節。

+0

有了這些,我做了更多的挖掘工作,發現GDK中的Global類擁有與您給出的屬性相同的屬性。謝謝! http://www.go-mono.com/docs/[email protected]%3a261%23Global%2fP – marco0009 2009-09-01 05:31:10

1

使用libwnck。我很確定它有一個Mono包裝。