diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-07-30 06:19:15 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-07-30 06:19:15 +0000 |
| commit | 1aa0bc66eb45ba466d1d071d0e6c13631331e091 (patch) | |
| tree | 0ec5e69a17abbe59a0ddab6860c94af620d13e9a /openbox/event.c | |
| parent | b8ba52fabc8d696d7c9e6abb285a4781a6e7aed6 (diff) | |
improved ICCCM compliance!
a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
b) send the corrent coords in the ConfigureNotify, including the border width
c) remove the WM_STATE property when unmanaging a window
Diffstat (limited to 'openbox/event.c')
| -rw-r--r-- | openbox/event.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/openbox/event.c b/openbox/event.c index 8259f002..a7ed67fd 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -758,15 +758,16 @@ static void event_handle_client(ObClient *client, XEvent *e) /* if we are iconic (or shaded (fvwm does this)) ignore the event */ if (client->iconic || client->shaded) return; - if (e->xconfigurerequest.value_mask & CWBorderWidth) - client->border_width = e->xconfigurerequest.border_width; - /* resize, then move, as specified in the EWMH section 7.7 */ if (e->xconfigurerequest.value_mask & (CWWidth | CWHeight | - CWX | CWY)) { + CWX | CWY | + CWBorderWidth)) { int x, y, w, h; ObCorner corner; + if (e->xconfigurerequest.value_mask & CWBorderWidth) + client->border_width = e->xconfigurerequest.border_width; + x = (e->xconfigurerequest.value_mask & CWX) ? e->xconfigurerequest.x : client->area.x; y = (e->xconfigurerequest.value_mask & CWY) ? @@ -802,7 +803,8 @@ static void event_handle_client(ObClient *client, XEvent *e) corner = OB_CORNER_TOPLEFT; } - client_configure(client, corner, x, y, w, h, FALSE, TRUE); + client_configure_full(client, corner, x, y, w, h, FALSE, TRUE, + TRUE); } if (e->xconfigurerequest.value_mask & CWStackMode) { @@ -1032,7 +1034,6 @@ static void event_handle_client(ObClient *client, XEvent *e) client_setup_decor_and_functions(client); } else if (msgtype == prop_atoms.net_wm_strut) { - g_message("strut change"); client_update_strut(client); } else if (msgtype == prop_atoms.net_wm_icon || |
