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 > > _______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org http://mail.gnome.org/mailman/listinfo/wm-spec-list