Re: _NET_WM_USER_TIME reconsidered



Matthias/All:

The whole _NET_WM_USER_TIME thing is a continuing problem for accessibility, as it now stands. In an assistive technology setting, there isn't always an X event that corresponds to the "user action" which results in a new window being posted or focus changing. Since X doesn't allow us to get a meaningful answer to "what's the current timestamp", we have serious problems when trying to interact with windows via non-X-device-based user requests.

We really need a solution for this!

Best regards,

Bill

Matthias Clasen wrote:

Since there seem to be no further comments on this,
here is a patch to add _NET_WM_USER_TIME_WINDOW to the EWMH.

I have probably lost my fd.o commit powers since I last did
an EWMH edit, so I can just put the patch here and ask for
somebody else to commit it.

Matthias



------------------------------------------------------------------------

--- wm-spec.xml.orig	2006-09-26 00:45:58.000000000 -0400
+++ wm-spec.xml	2006-09-26 00:53:13.000000000 -0400
@@ -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-1">
-<!ENTITY date "May 13, 2005">
+<!ENTITY version "Draft version 1.4.draft-2">
+<!ENTITY date "September 26, 2006">
]>
<article id="index">
<articleinfo>
@@ -1470,7 +1470,8 @@
window took place.
        </para>
        <para>
-Clients should set this property on every new toplevel window, before mapping
+Clients should set this property on every new toplevel window (or on the window +pointed out by the _NET_WM_USER_TIME_WINDOW property), before mapping
the window, to the timestamp of the user interaction that caused the window to
appear.  A client that only deals with core events, might, for example, use the
timestamp of the last KeyPress or ButtonPress event. ButtonRelease and
@@ -1498,8 +1499,29 @@
event.
        </para>
    </sect2>
+
+	<sect2><title>_NET_WM_USER_TIME_WINDOW</title>
+ <programlisting><![CDATA[ +_NET_WM_USER_TIME_WINDOW WINDOW/32
+]]></programlisting>
+        <para>
+This property contains the XID of a window on which the client sets
+the _NET_WM_USER_TIME property. Clients should check whether the +window manager supports _NET_WM_USER_TIME_WINDOW and fall back to +setting the _NET_WM_USER_TIME property on the toplevel window if it +doesn't. + </para>
+        <para>
+Rationale: Storing the frequently changing _NET_WM_USER_TIME property
+on the toplevel window itself causes every application that is +interested in any of the properties of that window to be woken up +on every keypress, which is particularly bad for laptops running on +battery power.
+        </para>
+	</sect2>
+
	<sect2><title>_NET_FRAME_EXTENTS</title>
-	<programlisting><![CDATA[
+ <programlisting><![CDATA[ _NET_FRAME_EXTENTS, left, right, top, bottom, CARDINAL[4]/32
]]></programlisting>
	<para>
@@ -2136,6 +2158,9 @@
			<listitem><para>
Added note WM_TRANSIENT_FOR for override-redirect windows
			</para></listitem>
+			<listitem><para>
+Added _NET_WM_USER_TIME_WINDOW.
+			</para></listitem>
	        </itemizedlist>
            </sect2>
 	    <sect2>
------------------------------------------------------------------------

_______________________________________________
wm-spec-list mailing list
wm-spec-list gnome org
http://mail.gnome.org/mailman/listinfo/wm-spec-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]