Bugzilla – Bug 152402
compiz Window Manager Spec implementattion incorrect/incomplete
Last modified: 2006-03-02 14:16:53 UTC
compiz's implementation of fdo's Extendend Window Manager Hints specification is incorrect/incomplete, eg. it always returns 1 in _NET_NUMBER_OF_DESKTOPS atom, 0 for _NET_CURRENT_DESKTOP and also doesn't listen to them or _NET_SHOWING_DESKTOP for example. This makes compiz not work together with specification compliant pagers like kpager or kicker's minipager applet.
Compiz doesn't support multiple desktop yet so _NET_NUMBER_OF_DESKTOPS should always be 1 and _NET_NUMBER_OF_DESKTOPS should always be 0. However, compiz support virtual desktops, _NET_DESKTOP_GEOMETRY and _NET_DESKTOP_VIEWPORT hints can be used to control that. _NET_SHOWING_DESKTOP should be working, I've only tested it on gnome yet, though.
I think you misread the spec: _NET_NUMBER_OF_DESKTOPS, _NET_CURRENT_DESKTOP are about *virtual* desktops.
I'm pretty sure I got the spec right. _NET_NUMBER_OF_DESKTOPS and_NET_CURRENT_DESKTOP are used for when you have multiple virtual desktops. Each virtual desktop can be larger than the screen size. The size of the each virtual desktop can be set with _NET_DESKTOP_GEOMETRY and the current viewport in each desktop can be set with _NET_DESKTOP_VIEWPORT. Multiple desktops (also called workspaces) are missing in compiz. It's in the TODO file.
_NET_NUMBER_OF_DESKTOPS should be 1 and _NET_CURRENT_DESKTOP should always be 0 until compiz supports multiple desktops. _NET_SHOWING_DESKTOP is working fine for me.