diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-04-27 18:45:22 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-04-28 12:58:46 -0400 |
| commit | 0d98c4fa7c29b9dec4da74380f4d0e695be53349 (patch) | |
| tree | 64470fc1b2094f52f096022898c582ac181a0536 /openbox/event.c | |
| parent | b3023ac55b90d63cf8d5b21fb49a124f247f7e34 (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.c | 6 |
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 |
