summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2010-04-27 18:45:22 -0400
committerDana Jansens <danakj@orodu.net>2010-04-28 12:58:46 -0400
commit0d98c4fa7c29b9dec4da74380f4d0e695be53349 (patch)
tree64470fc1b2094f52f096022898c582ac181a0536 /openbox/event.c
parentb3023ac55b90d63cf8d5b21fb49a124f247f7e34 (diff)
fix XSYNCronization of resizes (especially with two monitors).
1) a ConfigureNotify must always follow a Sync notification 2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows 3) set the sync counter to a value when managing a new window
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 9905d973..cfa3b4e3 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1659,6 +1659,12 @@ static void event_handle_client(ObClient *client, XEvent *e)
}
#ifdef SYNC
else if (msgtype == OBT_PROP_ATOM(NET_WM_SYNC_REQUEST_COUNTER)) {
+ /* if they are resizing right now this would cause weird behaviour.
+ if one day a user reports clients stop resizing, then handle
+ this better by resetting a new XSync alarm and stuff on the
+ new counter, but I expect it will never happen */
+ if (moveresize_client == client)
+ moveresize_end(FALSE);
client_update_sync_request_counter(client);
}
#endif