From 1aa0bc66eb45ba466d1d071d0e6c13631331e091 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 30 Jul 2003 06:19:15 +0000 Subject: 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 --- openbox/event.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'openbox/event.c') 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 || -- cgit v1.2.3