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