From: Dana Jansens Date: Fri, 1 Jun 2007 04:54:42 +0000 (+0000) Subject: less configurenotify spam X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=9b5770277db2dec6e3864b5ba3482897ab936862;p=chaz%2Fopenbox less configurenotify spam --- diff --git a/openbox/client.c b/openbox/client.c index d3db024b..0de93f1f 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -2867,7 +2867,9 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, /* if the client is enlarging, then resize the client before the frame */ if (send_resize_client && (w > oldw || h > oldh)) { - XResizeWindow(ob_display, self->window, MAX(w, oldw), MAX(h, oldh)); + XMoveResizeWindow(ob_display, self->window, + self->frame->size.left, self->frame->size.top, + MAX(w, oldw), MAX(h, oldh)); frame_adjust_client_area(self->frame); } @@ -2925,7 +2927,15 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, */ if (send_resize_client && (w <= oldw || h <= oldh)) { frame_adjust_client_area(self->frame); - XResizeWindow(ob_display, self->window, w, h); + XMoveResizeWindow(ob_display, self->window, + self->frame->size.left, self->frame->size.top, w, h); + } + + if (!resized) { + /* when the client has StaticGravity, it likes to move around. + also this correctly positions the client when it maps */ + XMoveWindow(ob_display, self->window, + self->frame->size.left, self->frame->size.top); } XFlush(ob_display); diff --git a/openbox/frame.c b/openbox/frame.c index 0192943f..a8391e48 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -764,10 +764,6 @@ void frame_adjust_area(ObFrame *self, gboolean moved, self->area.width, self->area.height); - /* when the client has StaticGravity, it likes to move around. */ - XMoveWindow(ob_display, self->client->window, - self->size.left, self->size.top); - if (resized) { framerender_frame(self); frame_adjust_shape(self);