diff options
authorOwen W. Taylor <>2011-11-09 16:00:36 -0500
committerOwen W. Taylor <>2011-11-10 14:29:54 -0500
commite34d84a17341bb82af38fb84c6c070bb58b6d5b5 (patch)
parent039acec20b999688589d7ec4f8b0f805c57915fa (diff)
Patch from Rui Tiago Cação Matos to add a a new _NET_WM_STATE atom that accurately tracks when the window manager shows the window decorations as active or inactive. This allows for better handling of cases where modal dialogs might be shown as a unit with a parent window, or where grabs cause a disjunction between X input focus and the focus displayed to the user.
1 files changed, 25 insertions, 2 deletions
diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 98f9f9b..014b40b 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1,7 +1,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"" [
-<!ENTITY version "Draft version 1.4.draft-2">
-<!ENTITY date "Fri September 29, 2006">
+<!ENTITY version "Draft version 1.5.draft-1">
+<!ENTITY date "Fri November 29, 2011">
<article id="index">
@@ -1117,6 +1117,7 @@ _NET_WM_STATE_FULLSCREEN, ATOM
An implementation MAY add new atoms to this list. Implementations
@@ -1207,6 +1208,20 @@ the window got the required attention (usually, that it got activated).
+_NET_WM_STATE_FOCUSED indicates whether the window's decorations are drawn in an
+active state. Clients MUST regard it as a read-only hint. It cannot be set at
+map time or changed via a _NET_WM_STATE client message. The window given by
+_NET_ACTIVE_WINDOW will usually have this hint, but at times other windows may
+as well, if they have a strong association with the active window and will be
+considered as a unit with it by the user. Clients that modify the appearance of
+internal elements when a toplevel has keyboard focus SHOULD check for the
+availability of this state in _NET_SUPPORTED and, if it is available,
+use it in preference to tracking focus via FocusIn events. By doing so they will
+match the window decorations and accurately reflect the intentions of the Window
+ </para>
+ <para>
To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
client message to the root window:
@@ -2240,6 +2255,14 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<title>Change history</title>
+ <sect2>
+ <title>Changes since 1.4draft</title>
+ <itemizedlist>
+ <listitem><para>
+ </para></listitem>
+ </itemizedlist>
+ </sect2>
<title>Changes since 1.3</title>