Re: Focus stealing prevention
- From: Lubos Lunak <l lunak suse cz>
- To: wm-spec-list gnome org
- Subject: Re: Focus stealing prevention
- Date: Wed, 8 Oct 2003 13:53:48 +0200
On Monday 06 of October 2003 18:41, Lubos Lunak wrote:
> Hello,
>
> - net_restack_window.patch - as a part of focus stealing prevention, KWin
> also doesn't allow raising inactive windows on top if they do
> XRaiseWindow() etc. In order to recongnize configure requests from pagers,
> a new message is needed, instead of plain ConfigureRequest.
Updated patch for this attached, as Rob Adams pointed out that I forgot to
change some texts after doing copy&paste from _NET_CLOSE_WINDOW.
--
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o. e-mail: l lunak suse cz , l lunak kde org
Drahobejlova 27 tel: +420 2 9654 2373
190 00 Praha 9 fax: +420 2 9654 2374
Czech Republic http://www.suse.cz/
--- wm-spec.xml.sav 2003-10-06 18:11:34.000000000 +0200
+++ wm-spec.xml 2003-10-06 18:14:10.000000000 +0200
@@ -760,6 +760,35 @@ _NET_WM_MOVERESIZE
terminate the operation, e.g. by pressing the ESC key.
</para>
</sect2>
+ <sect2><title>_NET_RESTACK_WINDOW</title>
+ <programlisting><![CDATA[
+_NET_RESTACK_WINDOW
+]]></programlisting>
+ <para>
+ Pagers wanting to restack a window SHOULD send a _NET_RESTACK_WINDOW client
+ message request to the root window:
+ </para>
+<programlisting><![CDATA[
+_NET_RESTACK_WINDOW
+ window = window to restack
+ message_type = _NET_RESTACK_WINDOW
+ format = 32
+ data.l[0] = source indication
+ data.l[1] = sibling window
+ data.l[2] = detail
+ other data.l[] elements = 0
+]]></programlisting>
+ <para>
+ This request is similar to ConfigureRequest with CWSibling and CWStackMode flags. It should be used only by pagers,
+ applications can use normal ConfigureRequests. The source indication field should be therefore set to 1,
+ see <xref linkend="sourceindication"/> for details.
+ </para>
+ <para>
+ Rationale: A Window Manager may put restrictions on configure requests from applications, for example it may
+ under some conditions refuse to raise a window. This request makes it clear it comes from a pager or similar
+ tool, and therefore the Window Manager should always obey it.
+ </para>
+ </sect2>
</sect1>
<sect1>
<title>Application Window Properties</title>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]