GNOME Bugzilla – Bug 135024
_NET_ACTIVE_WINDOW messages need timestamps.
Last modified: 2005-07-18 04:37:28 UTC
The _NET_ACTIVE_WINDOW messages need timestamps. This has been added to the wm-spec in CVS but hasn't appeared yet in the generated documents. The button, key, crossing, and motion events provide the necessary timestamps. There may be other messages that also need timestamps. I'm working on related patches for metacity, so it may be a while before I get to this.
Created attachment 25012 [details] [review] timestamp for _NET_ACTIVE_WINDOW, minor cleanups
The patch add the timestamp and source indication needed for the _NET_ACTIVE_WINDOW message and cleans up some other code. XSendEvent ignores (overwrites) serial, display, and send_event fields, so I've removed the lines to set those. I've also zeroed the unused elements in the client message data arrays. There's one place where I don't think the timestamp will be properly set: the motion timeout callback in tasklist.c . I don't know that there's a current GdkEvent when it's called.
2.6.x or 2.7.x material?
Created attachment 30382 [details] [review] Updated to CVS HEAD This is the same as Gregory's original patch, except that: (1) I updated it to CVS HEAD (the patches in bug 118372 and bug 124981 kept it from applying), and (2) I added a fixme comment in test-wnck since the patch sets the timestamp to 0 when it shouldn't. Also, a simple request to teach a newbie: I don't understand why serial, send_event, and display don't need to be set. Is it just because the EWMH doesn't specify those fields?
Sorry for having taken so long to get to this patch. Anyway, most of the patch has been obsoleted/handled by other patches, but I'll apply all the stuff that's obviously correct and that we need. There was no response on the last question in my comment above, so I won't apply that part of the patch. 2005-07-17 Elijah Newren <newren@gmail.com> Patch from Gregory Merchan to zero out unused fields in ClientMessages, as required by the EWMH spec. Fixes what's left of #135024. * libwnck/window.c (wnck_window_activate, wnck_window_activate_transient): improve/fix the documentation * libwnck/xutils.c: (_wnck_close, _wnck_keyboard_move, _wnck_keyboard_size, _wnck_change_state, _wnck_change_workspace, _wnck_change_viewport, _wnck_toggle_showing_desktop): zero out unused fields