diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-26 23:09:34 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-26 23:09:34 +0000 |
| commit | 5883164b197e81a8e76a316344f5edea57252612 (patch) | |
| tree | 4530dbd8a6ebaaffcbea6840607adb40c60bc69c /openbox | |
| parent | 2e529e3ff3db902cdf0c7b1fbf796ea2372a299b (diff) | |
fix for not changing clients' border widths on them
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/openbox/client.c b/openbox/client.c index 39cd27dc..b69df9e0 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -2819,9 +2819,16 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b, /* if the client is enlarging, then resize the client before the frame */ if (send_resize_client && (w > oldw || h > oldh)) { - XMoveResizeWindow(ob_display, self->window, - -self->border_width, -self->border_width, - MAX(w, oldw), MAX(h, oldh)); + XWindowChanges changes; + changes.x = -self->border_width; + changes.y = -self->border_width; + changes.width = MAX(w, oldw); + changes.height = MAX(h, oldh); + changes.border_width = self->border_width; + XConfigureWindow(ob_display, self->window, + (moved ? CWX|CWY : 0) | + (resized ? CWWidth|CWHeight|CWBorderWidth : 0), + &changes); /* resize the plate to show the client padding color underneath */ frame_adjust_client_area(self->frame); } @@ -2878,10 +2885,18 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b, /* resize the plate to show the client padding color underneath */ frame_adjust_client_area(self->frame); - if (send_resize_client) - XMoveResizeWindow(ob_display, self->window, - -self->border_width, -self->border_width, - w, h); + if (send_resize_client) { + XWindowChanges changes; + changes.x = -self->border_width; + changes.y = -self->border_width; + changes.width = w; + changes.height = h; + changes.border_width = self->border_width; + XConfigureWindow(ob_display, self->window, + (moved ? CWX|CWY : 0) | + (resized ? CWWidth|CWHeight|CWBorderWidth : 0), + &changes); + } } XFlush(ob_display); |
