GNOME Bugzilla – Bug 432552
Resizing a nautlius window casues _NET_WM_MOVERESIZE window manager warnings
Last modified: 2011-11-07 21:57:06 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/109156 "Binary package hint: nautilus Description of the problem: Every time a nautilus window is resized a window manager warning is logged in ~/.xsession-errors . Steps to reproduce: 1. Start a gnome-terminal . 2. Type tail -f ~/.xsession-errors . 3. Go to Places -> Desktop. 3. Go to the bottom right hand corner of the "(Desktop - File Browser)" window and click on the grippy. Expected result: No extra messages to appear in ~/.xsession-errors . Actual result: Output like the following is added: Window manager warning: Received a _NET_WM_MOVERESIZE message for 0xc05286 (Desktop - ); these messages lack timestamps and therefore suck. How reproducible is this problem? The problem is reproducible every time. Version information: Ubuntu Feisty nautilus 2.18.1-0ubuntu1"
Still here in Ubuntu Gutsy. Version information: Ubuntu Gutsy (development branch) nautilus 1:2.19.91-0ubuntu1
Still here in Ubuntu Hardy. Version information: Ubuntu 8.04 nautilus 1:2.22.2-0ubuntu3
Confirming and updating fields.
OK, I've done some investigation around this and this is what I found. The problem has nothing to do with nautilus as other has confirmed but in the WM spec. The thing is that _NET_WM_MOVERESIZE does not have a timestamp data post, see [1]. Gtk on the other hand sends the timestamp all the way from the grip to the function that sends the moveresize message. But when we send the message the timestamp is of course not used as it's not part of the spec; From gtk (gdkwindow-x11.c:4741) static void wmspec_moveresize (GdkWindow *window, gint direction, gint root_x, gint root_y, guint32 timestamp) { GdkDisplay *display = GDK_WINDOW_DISPLAY (window); XClientMessageEvent xclient; /* Release passive grab */ gdk_display_pointer_ungrab (display, timestamp); memset (&xclient, 0, sizeof (xclient)); xclient.type = ClientMessage; xclient.window = GDK_WINDOW_XID (window); xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_MOVERESIZE"); xclient.format = 32; xclient.data.l[0] = root_x; xclient.data.l[1] = root_y; xclient.data.l[2] = direction; xclient.data.l[3] = 0; xclient.data.l[4] = 0; XSendEvent (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XROOTWIN (window), False, SubstructureRedirectMask | SubstructureNotifyMask, (XEvent *)&xclient); } In metacity for every _NET_WM_MOVERESIZE we warn about this. From metacity (window.c:5046) x_root = event->xclient.data.l[0]; y_root = event->xclient.data.l[1]; action = event->xclient.data.l[2]; button = event->xclient.data.l[3]; /* FIXME: What a braindead protocol; no timestamp?!? */ timestamp = meta_display_get_current_time_roundtrip (display); meta_warning ("Received a _NET_WM_MOVERESIZE message for %s; these " "messages lack timestamps and therefore suck.\n", window->desc); So, what to do? Either file a bug against the specification (and change all implementations) or just omit the message from metacity as it seems completely useless and just clutter the xsession log. [1] http://standards.freedesktop.org/wm-spec/1.4/ar01s04.html
Created attachment 139724 [details] [review] Small patch against metacity to remove the message
-> metacity Reassigning then.
Still here in Ubuntu Lucid. Version information: Ubuntu 10.04 LTS metacity 1:2.30.1-0ubuntu1
Still here...
Review of attachment 139724 [details] [review]: Seems pretty reasonable. Checking this into master.
-> FIXED
*** Bug 433262 has been marked as a duplicate of this bug. ***