Root Window Properties (+Related Messages)

_NET_SUPPORTED

_NET_SUPPORTED, ATOM[]/32

This property MUST be set by the Window Manager to indicate which hints it supports. This assumes that backwards incompatible changes will not be made to the hints (without being renamed).

_NET_CLIENT_LIST

_NET_CLIENT_LIST, XA_WINDOW[]/32
_NET_CLIENT_LIST_STACKING, XA_WINDOW[]/32

An array of all X Windows managed by the Window Manager. _NET_CLIENT_LIST has mapping order. _NET_CLIENT_LIST_STACKING has stacking order. This property SHOULD be set and updated by the Window Manager.

_NET_NUMBER_OF_DESKTOPS

_NET_NUMBER_OF_DESKTOPS, CARDINAL/32

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

A Pager can insert or delete a certain desktop by sending a _NET_{INSERT/DELETE}_DESKTOP client message to the root window.

_NET_DESKTOP_GEOMETRY

_NET_DESKTOP_GEOMETRY width,height, CARDINAL[2]/32

Array of two cardinals that defines the width and height of each desktop in pixels. This property SHOULD be set by the Window Manager.

A Pager can change the desktop geometry by sending a _NET_DESKTOP_GEOMETRY client message to the root window

_NET_DESKTOP_VIEWPORT

_NET_DESKTOP_VIEWPORT x,y, CARDINAL[][2]/32

Array of two cardinals that define the top left corner of the current view in pixel, for each desktop. For window managers that don't support paged desktops, this MUST always be set to (0,0).

A Pager can change the viewport for the current desktop by sending a _NET_DESKTOP_VIEWPORT client message to the root window

_NET_CURRENT_DESKTOP

_NET_CURRENT_DESKTOP <desktop>, CARDINAL[1]/32

The index of the current desktop, starts with desktop 0. 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 (type _NET_CURRENT_DESKTOP, format 32, l[0]=<new index>)

_NET_DESKTOP_NAMES

_NET_DESKTOP_NAMES

The names of all virtual desktops in UTF8 encoding. This property MAY be changed by a Pager or the Window Mangaer at any time. When a desktop is added or removed, the Window Manager MUST update this list.

_NET_ACTIVE_WINDOW

_NET_ACTIVE_WINDOW, WINDOW/32

The window handle of the currently active window. This is a read-only property set by the Window Manager. This is a read-only property set by the window manager. If a client (for example, a taskbar) wants to activate another window, it MUST send a _NET_ACTIVE_WINDOW client message to the root window (type _NET_ACTIVE_WINDOW, format 32, l[0]=0 /* may be used later */, window is the respective client window)

_NET_WORKAREA

_NET_WORKAREA, CARDINAL[][4]/32
	

This property MUST be set by WM upon calculating the work area for each desktop (the first quadruple = desktop 1). Contains the left, right, top, bottom co-ordinates for each desktop. Work area SHOULD be used by desktop applications to place desktop icons apropriately.

The window manager SHOULD calculate this space by taking the current page minus space occupied by dock and panel windows, as indicated by the _NET_WM_STRUT property set on client windows.

_NET_SUPPORTING_WM_CHECK

_NET_SUPPORTING_WM_CHECK, XA_WINDOW/32

The Window Manager MUST set this property on the root window to be the ID of a child window created by the WM, to indicate that a compliant WM is active. The child window MUST also have the _NET_SUPPORTING_WM_CHECK property set with the same value. The child window MUST also have the _NET_WM_NAME property set to the name of the Window Manager.

Rationale: The child window is used to guard against stale properties being left on the root window by a crashed WM.

_NET_VIRTUAL_ROOTS

_NET_VIRTUAL_ROOTS, XA_WINDOW[]/32

The Window Manager MUST set this to a list of IDs for windows that are acting as virtual root windows. To implement virtual desktops, some window managers reparent client windows to a child of the root window. The property is present so that Pagers can determine which windows to watch for substructure notifies.