Re: _NET_WM_PING



On Mon, 2003-06-09 at 10:45, Lubos Lunak wrote:
> On Wednesday 21 of May 2003 20:39, Lubos Lunak wrote:
> > On Wednesday 21 of May 2003 18:34, Lubos Lunak wrote:
> > > On Tuesday 20 of May 2003 14:00, Matthias Clasen wrote:
> > > > >  Hello,
> >
> > [snip]
> >
> > > > It is unfortunate that the EWMH demands to change the window field in
> > > > the event, since that
> > > > is entirely unnecessary. The destination window to which the event is
> > > > sent is a separate XSendEvent parameter. So the most elegant solution
> > > > would be to say that the app should send the ping unmodified to the
> > > > root window. That would be a theoretically incompatible change, but I
> > > > doubt that wms currently do anything with the window field in received
> > > > pings (since it must always be root). We would have to add some advice
> > > > how wms should deal with pings from old clients which have the window
> > > > == root.
> > >
> > >  How about the attached changes?
> >
> >  Bah, wrong, forget it. If the app selects for StructureNotifyMask on the
> > root window, it gets the same event back, and has no way to find out
> > whether it's from the WM or from itself -> infinite loop.
> >
> >  The window will have to be remembered somewhere else in the event.
> > Attached is attempt #2.
> 
>  Since that change is quite simple, unless somebody says something soon, I'll 
> commit it.

The change looks basically OK to me (I just fixed the infinite loop
problem in GTK+, I'd have been unhappy with the first proposed to
change"

+The Client MUST NOT alter the timestamp or any other field in the 
event,
+besides the window. The Window Manager can uniquely identify the ping
by the timestamp
+and the data.l[2] field if necessary.

Would be slightly more grammatical if you said "any field in the 
event other than the window". I might actually be a bit more
specific.

"any field in the event other than the window. This includes all
5 longs in the data.l[5] array. The Window Manager can ...
Note that some older clients may not preserve data.[2] through
data.[4]"

(I don't know of any clients that don't preserve these fields, but
if we add extra requirements to the window manager spec, I think
it's good practice to indicate that they are new)

Regards,
                                 Owen






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