GNOME Bugzilla – Bug 143333
Support update counter spec
Last modified: 2004-12-22 21:47:04 UTC
The update counter spec will be official when I get added to the icccm-extensions group. Here is a patch to make metacity support it. The patch also fixes the remaining problems from bug 109362, ie. the one about queuing a resize when we otherwise woudln't ignore one.
Created attachment 28121 [details] [review] The patch
Comment on attachment 28121 [details] [review] The patch I added you to icccm-extensions now. Patch is good to commit, but we have to branch metacity first, there's no GNOME 2.7 branch at the moment.
I'll commit to HEAD for now. If the gtk+ patch is accepted into the 2.4 branch, then I'll commit to stable for metacity as well. Sat Jun 19 02:21:08 2004 Soeren Sandmann <sandmann@daimi.au.dk> Fix bug 143333, support for update counter spec, and 109362, schedule compensation events when events are ignored. * src/display.c (meta_display_open): Add _NET_WM_SYNC_REQUEST and _NET_WM_SYNC_REQUEST_COUNTER atoms. Remove the old METACITY_SYNC_COUNTER stuff. (meta_display_begin_op): Setup the sync counter * src/xprops.c, src/xprops.h, src/window-props.c, src/display.h: Add new atoms. * src/window.c (send_sync_request): new function. (meta_window_move_resize_internal): send a sync request before resizing. (check_move_resize_frequence): Rework logic to also check the SYNC case. If an event is ignored return the remaining time. (update_resize_timeout): Timeout that gets called when a compensation event is scheduled. (uddate_resize): schedule compensation events when an event is ignored. (meta_window_handle_mouse_grap_op_event): When an alarm is received and sync was turned off, turn it back on. * src/window.h (struct MetaWindow) Add some variables