summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2011-11-09 16:00:36 -0500
committerOwen W. Taylor <otaylor@fishsoup.net>2011-11-10 14:29:54 -0500
commite34d84a17341bb82af38fb84c6c070bb58b6d5b5 (patch)
treeea00b584857040c50a3b74d9be4c09e1cfc1c5d2
parent039acec20b999688589d7ec4f8b0f805c57915fa (diff)
Add _NET_WM_STATE_FOCUSED
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.
-rw-r--r--wm-spec/wm-spec.xml27
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"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!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">
<articleinfo>
@@ -1117,6 +1117,7 @@ _NET_WM_STATE_FULLSCREEN, ATOM
_NET_WM_STATE_ABOVE, ATOM
_NET_WM_STATE_BELOW, ATOM
_NET_WM_STATE_DEMANDS_ATTENTION, ATOM
+_NET_WM_STATE_FOCUSED, ATOM
]]></programlisting>
<para>
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).
</para>
<para>
+_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
+Manager.
+ </para>
+
+ <para>
To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
client message to the root window:
</para>
@@ -2240,6 +2255,14 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</sect1>
<sect1>
<title>Change history</title>
+ <sect2>
+ <title>Changes since 1.4draft</title>
+ <itemizedlist>
+ <listitem><para>
+Added _NET_WM_STATE_FOCUSED.
+ </para></listitem>
+ </itemizedlist>
+ </sect2>
<sect2>
<title>Changes since 1.3</title>
<itemizedlist>