On Fri, 12 Aug 2005 09:19:21 +0200 Christoph Gysin <[EMAIL PROTECTED]> babbled:

> Carsten Haitzler (The Rasterman) wrote:
> > On Sat, 06 Aug 2005 12:40:36 -0400 Robert May <[EMAIL PROTECTED]>
> > babbled:
> > 
> > 
> >>Whenever I run xscreensaver I receive the following messages:
> >>
> >>xscreensaver: 12:39:27: 0: for window 0x22e (root)
> >>xscreensaver: 12:39:30: 0: unrecognised ClientMessage "WM_PROTOCOLS"
> >>received
> >>xscreensaver: 12:39:30: 0: for window 0x22e (root)
> >>xscreensaver: 12:39:31: 0: unrecognised ClientMessage "WM_PROTOCOLS"
> > 
> > xscreensaver being noisy and not understanding the netwm ping protocol. it
> > should just shut up and ignore it if it doesnt understand it.
> 
> Actually, this is not correct.
> 
> The NetWM spec says:
> 
>  > A Client SHOULD indicate that it is willing to participate in this 
>  > protocol 
> by listing _NET_WM_PING in the WM_PROTOCOLS property of  the client window.
> 
> Quote from Jamie Zawinski, maintainer of xscreensaver:
> "Obviously, xscreensaver has not indicated its desire to participate  in this 
> protocol, so I think it's an Enlightenment bug that these  messages are
> getting  sent."

  then read the wmspec a little more... :)
  
http://standards.freedesktop.org/wm-spec/1.4/ar01s06.html#id2527998

  quote:

A Window Manager can use this protocol at any time by sending a client message
as follows:

type = ClientMessage
window = the respective client window
message_type = WM_PROTOCOLS
format = 32
data.l[0] = _NET_WM_PING
data.l[1] = timestamp
data.l[2] = the respective client window
other data.l[] elements = 0

  indeed this is what E does.. now read the NEXT part of it...

A participating Client receiving this message MUST send it back to the root
window immediately, by setting window = root, and calling XSendEvent with the
same event mask like all other root window messages in this specification use.
The Client MUST NOT alter any field in the event other than the window. This
includes all 5 longs in the data.l[5] array. The Window Manager can uniquely
identify the ping by the timestamp and the data.l[2] field if necessary. Note
that some older clients may not preserve data.l[2] through data.l[4].

  note the client MUST reply by sending this to the ROOT WINDOW. thus if
xscreensaver is busy listening there and getting such client messages happening
on root.. guess what. it's getting the replies to e's PING's to the apps that
say they want a ping. xscreensaver is needlessly complaining about it :)

so sorry jamie - gotta point the finger back at xscreensaver here. no biggie
really - it's just a standard i didn't come up with that xscreensaver has not
been coded to be aware of and that xcsreensaver is complaining about when it
could just as well ignore it as it would make no difference if it just ignored
all such things :)

hey the standard could have made the wm create a window of its won for ping
replies to go to so apps don't chatter back to the root window, but being root
i'd expect it to be a very noisy place for properties and messages... thus
ignoring is likely the best policy for stuff you don't understand :)

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
裸好多                              [EMAIL PROTECTED]
Tokyo, Japan (東京 日本)


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to