Bug 6991

Summary: Неполная поддержка NETWM
Product: Sisyphus Reporter: Sir Raorn <raorn>
Component: wmpagerAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description Sir Raorn 2005-06-02 14:11:13 MSD
Не работают проперти _WIN_WORKSPACE и _WIN_WORKSPACE_NAMES.  Как следствие
отвалился wmpager:

$ wmpager -v
...
[       1] initializing window maker communication
wmpager: couldn't determine current workspace.
Make sure your WindowMaker has Gnome support enabled!
[      15] - 0 worspaces found
[      15] - current workspace is 0 ((null))

Код:

    _xaWinWorkspace= XInternAtom(getDisplay(), XA_WIN_WORKSPACE, False);
    _xaWinWorkspaceNames= XInternAtom(getDisplay(), XA_WIN_WORKSPACE_NAMES, False);
    XGetTextProperty(getDisplay(), getRootWindow(), &tp, _xaWinWorkspaceNames);
    XTextPropertyToStringList(&tp, &_szScreenNames, &_nScreens);
Comment 1 Sir Raorn 2005-06-04 15:38:13 MSD
А вот и нет.  Согласно http://freedesktop.org/wiki/Standards_2fwm_2dspec надо
использовать другие пропертя:

_NET_NUMBER_OF_DESKTOPS, CARDINAL/32

This property SHOULD be set and updated by the Window Manager to indicate the
number of virtual desktops. 

_NET_CURRENT_DESKTOP desktop, CARDINAL/32

The index of the current desktop. This is always an integer between 0 and
_NET_NUMBER_OF_DESKTOPS - 1. This MUST be set and updated by the Window Manager.
If a Pager wants to switch to another virtual desktop, it MUST send a
_NET_CURRENT_DESKTOP client message to the root window: 

_NET_DESKTOP_NAMES, UTF8_STRING[]

The names of all virtual desktops. This is a list of NULL-terminated strings in
UTF-8 encoding [UTF8]. This property MAY be changed by a Pager or the Window
Manager at any time. 

Перевешиваю на wmpager и иду чинить...
Comment 2 Sir Raorn 2005-06-04 15:39:28 MSD
Забираю себе
Comment 3 Sir Raorn 2005-06-15 09:32:11 MSD
Типа, fixed...