rev |
line source |
al@19790
|
1 diff --git a/openbox/client.c b/openbox/client.c
|
al@19790
|
2 index 8317f4b..5559c03 100644
|
al@19790
|
3 --- a/openbox/client.c
|
al@19790
|
4 +++ b/openbox/client.c
|
al@19790
|
5 @@ -3186,12 +3186,12 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
|
al@19790
|
6 /* for app-requested resizes, always resize if 'resized' is true.
|
al@19790
|
7 for user-requested ones, only resize if final is true, or when
|
al@19790
|
8 resizing in redraw mode */
|
al@19790
|
9 + gboolean app_rq = !user && resized;
|
al@19790
|
10 send_resize_client = ((!user && resized) ||
|
al@19790
|
11 (user && (final ||
|
al@19790
|
12 (resized && config_resize_redraw))));
|
al@19790
|
13 -
|
al@19790
|
14 /* if the client is enlarging, then resize the client before the frame */
|
al@19790
|
15 - if (send_resize_client && (w > oldclient.width || h > oldclient.height)) {
|
al@19790
|
16 + if (!app_rq && send_resize_client && (w > oldclient.width || h > oldclient.height)) {
|
al@19790
|
17 XMoveResizeWindow(obt_display, self->window,
|
al@19790
|
18 self->frame->size.left, self->frame->size.top,
|
al@19790
|
19 MAX(w, oldclient.width), MAX(h, oldclient.height));
|
al@19790
|
20 @@ -3284,7 +3284,8 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
|
al@19790
|
21 both of these resize sections may run, because the top one only resizes
|
al@19790
|
22 in the direction that is growing
|
al@19790
|
23 */
|
al@19790
|
24 - if (send_resize_client && (w <= oldclient.width || h <= oldclient.height))
|
al@19790
|
25 + if ((send_resize_client && (w <= oldclient.width || h <= oldclient.height))
|
al@19790
|
26 + || (app_rq && (w != oldclient.width || h != oldclient.height)))
|
al@19790
|
27 {
|
al@19790
|
28 frame_adjust_client_area(self->frame);
|
al@19790
|
29 XMoveResizeWindow(obt_display, self->window,
|