From 3168943dec8043969df883ed7b215a2bb3e76894 Mon Sep 17 00:00:00 2001 From: Ciaran Anscomb Date: Sun, 4 Oct 2009 11:33:45 +0000 Subject: [PATCH] Include standards doc in repo --- doc/standards.html | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 doc/standards.html diff --git a/doc/standards.html b/doc/standards.html new file mode 100644 index 0000000..c3ef0d2 --- /dev/null +++ b/doc/standards.html @@ -0,0 +1,225 @@ + + + +evilwm - standards support + + + +

evilwm standards support

+ +

evilwm (1.1 pre-release) supports a subset of the +X Desktop Group's +Extended +Window Manager Hints (EWMH), version 1.3. This page lists what is +supported, what is not yet supported and where ambiguities have not yet been +resolved.

+ + + +

EWMH root window properties (and related messages)

+ +
+ +
_NET_SUPPORTED
+
This property is set on each managed root window, and lists all EWMH atoms +used within evilwm. This includes all the relevant _NET_WM_ACTION atoms, +although I'm not sure it makes sense to include those, as they get listed under +the similar per-client _NET_WM_ALLOWED_ACTIONS property.
+ +
_NET_CLIENT_LIST
+
_NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING are kept up to date.
+ +
_NET_NUMBER_OF_DESKTOPS
+
This is currently always set to 8 (the number of virtual desktops evilwm +has historically supported). Clients cannot yet alter this value, though I +intend to add that ability.
+ +
_NET_DESKTOP_GEOMETRY
+
Set to the display geometry. Modifying not allowed.
+ +
_NET_DESKTOP_VIEWPORT
+
Always set to (0,0).
+ +
_NET_CURRENT_DESKTOP
+
Property is supported, and client messages requesting desktop change are +accepted.
+ +
_NET_ACTIVE_WINDOW
+
Property is supported, and client messages requesting a change of active +window are accepted if their source indication suggests they came as a result +of direct user action.
+ +
_NET_WORKAREA
+
Currently always indicates the entire display as work area (does not +calculate anything based on struts).
+ +
_NET_SUPPORTING_WM_CHECK
+
Will refer to evilwm's supporting window.
+ +
+ +

Other EWMH root window messages

+ +
+ +
_NET_CLOSE_WINDOW
+
Message is respected if source indication suggests it came from direct user +action.
+ +
_NET_MOVERESIZE_WINDOW
+
Message is respected if source indication suggests it came from direct user +action.
+ +
_NET_RESTACK_WINDOW
+
Message is respected if source indication suggests it came from direct user +action.
+ +
_NET_REQUEST_FRAME_EXTENTS
+
evilwm always estimates the configured border width for each frame edge. A +better value could be determined by analysing the window hints in the same way +as creating a new window, but it's only got to be an estimate, so I've not done +that yet.
+ +
+ +

EWMH application window properties

+ +
+ +
_NET_WM_NAME
+
This is set to "evilwm" on the supporting window, but not currently +consulted for client window titles (the title in WM_NAME is used instead).
+ +
_NET_WM_DESKTOP
+
This is maintained on all client windows. On virtual desktop change, +this property is changed for any "fixed" windows to be the new virtual +desktop. It is also accepted as a client message indicating user action +to change a window's current virtual desktop.
+ +
_NET_WM_WINDOW_TYPE
+
These window types affect behaviour: +
+
_NET_WM_WINDOW_TYPE_DOCK
+
Applications that declare themselves to be a dock can have their + visibility toggled with a key combination.
+
+
+ +
_NET_WM_STATE
+
Some states are supported: +
+
_NET_WM_STATE_MAXIMIZED_VERT
+
_NET_WM_STATE_MAXIMIZED_HORZ
+
_NET_WM_STATE_FULLSCREEN
+
Currently, as evilwm does not calculate any sort of "work area", the + fullscreen hint is considered equivalent to having both the vertically and + horizontally maximised hints set. These hints are respected on initial + management of a window, and clients can send _NET_WM_STATE messages + to change them.
+
+
+ +
_NET_WM_ALLOWED_ACTIONS
+
Some actions are allowed: +
+
_NET_WM_ACTION_MOVE
+
_NET_WM_ACTION_RESIZE
+
Listed only if window is capable of being resized (min height != max + height).
+
_NET_WM_ACTION_MAXIMIZE_HORZ
+
_NET_WM_ACTION_MAXIMIZE_VERT
+
_NET_WM_ACTION_FULLSCREEN
+
As noted above, requesting fullscreen is currently equivalent to + requesting both vertical and horizonal maximisation.
+
_NET_WM_ACTION_CHANGE_DESKTOP
+
_NET_WM_ACTION_CLOSE
+
+
+ +
_NET_WM_PID
+
This property is set on the supporting window, but is not consulted when +dealing with client windows. Additionally, the WM_CLIENT_MACHINE property +is not yet set.
+ +
_NET_FRAME_EXTENTS
+
Each frame extent is set to the border width that applies to the +client.
+ +
+ +

Unsupported EWMH properties

+ +
+
_NET_DESKTOP_NAMES
+
_NET_VIRTUAL_ROOTS
+
evilwm does not use virtual root windows.
+
_NET_DESKTOP_LAYOUT
+
_NET_SHOWING_DESKTOP
+
evilwm does not have a "showing the desktop" mode.
+
+ +
+
_NET_WM_MOVERESIZE
+
+ +
+
_NET_WM_VISIBLE_NAME
+
The real WM_NAME is displayed when requested.
+
_NET_WM_ICON_NAME
+
_NET_WM_VISIBLE_ICON_NAME
+
evilwm does not support iconification.
+
_NET_WM_WINDOW_TYPE
+
These window types are unsupported: +
+
_NET_WM_WINDOW_TYPE_DESKTOP
+
_NET_WM_WINDOW_TYPE_TOOLBAR
+
_NET_WM_WINDOW_TYPE_MENU
+
_NET_WM_WINDOW_TYPE_UTILITY
+
_NET_WM_WINDOW_TYPE_SPLASH
+
_NET_WM_WINDOW_TYPE_DIALOG
+
_NET_WM_WINDOW_TYPE_NORMAL
+
+
+
_NET_WM_STATE
+
These states are unsupported: +
+
_NET_WM_STATE_MODAL
+
_NET_WM_STATE_STICKY
+
_NET_WM_STATE_SHADED
+
_NET_WM_STATE_SKIP_TASKBAR
+
_NET_WM_STATE_SKIP_PAGER
+
_NET_WM_STATE_HIDDEN
+
_NET_WM_STATE_ABOVE
+
_NET_WM_STATE_BELOW
+
_NET_WM_STATE_DEMANDS_ATTENTION
+
+
+
_NET_WM_ALLOWED_ACTIONS
+
These actions are unsupported: +
+
_NET_WM_ACTION_MINIMIZE
+
_NET_WM_ACTION_SHADE
+
_NET_WM_ACTION_STICK
+
+
+
_NET_WM_STRUT
+
_NET_WM_STRUT_PARTIAL
+
_NET_WM_ICON_GEOMETRY
+
_NET_WM_ICON
+
_NET_WM_HANDLED_ICONS
+
evilwm does not support iconification.
+
_NET_WM_USER_TIME
+
+ +
+
_NET_WM_PING
+
_NET_WM_SYNC_REQUEST
+
+ + + -- 2.11.4.GIT