From: Dana Jansens Date: Wed, 26 Mar 2003 15:08:19 +0000 (+0000) Subject: use the right data when initially placing the frame. was fucking up the gravity calcs X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=1b20f591af578f0b9dea7c13b4de8f15ab1074af;p=chaz%2Fopenbox use the right data when initially placing the frame. was fucking up the gravity calcs --- diff --git a/engines/openbox/openbox.c b/engines/openbox/openbox.c index f7113c87..69888b42 100644 --- a/engines/openbox/openbox.c +++ b/engines/openbox/openbox.c @@ -471,23 +471,6 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) XUnmapWindow(ob_display, self->handle); } - if (moved) { - /* find the new coordinates */ - self->frame.area.x = self->frame.client->area.x; - self->frame.area.y = self->frame.client->area.y; - frame_client_gravity((Frame*)self, - &self->frame.area.x, &self->frame.area.y); - } - - /* move and resize the top level frame. - shading can change without being moved or resized */ - XMoveResizeWindow(ob_display, self->frame.window, - self->frame.area.x, self->frame.area.y, - self->width, - (self->frame.client->shaded ? TITLE_HEIGHT : - self->innersize.top + self->innersize.bottom + - self->frame.client->area.height)); - if (resized) { /* move and resize the plate */ XMoveResizeWindow(ob_display, self->frame.plate, @@ -515,6 +498,21 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) self->frame.client->area.height + self->frame.size.top + self->frame.size.bottom)); + if (moved) { + /* find the new coordinates, done after setting the frame.size, for + frame_client_gravity. */ + self->frame.area.x = self->frame.client->area.x; + self->frame.area.y = self->frame.client->area.y; + frame_client_gravity((Frame*)self, + &self->frame.area.x, &self->frame.area.y); + } + + /* move and resize the top level frame. + shading can change without being moved or resized */ + XMoveResizeWindow(ob_display, self->frame.window, + self->frame.area.x, self->frame.area.y, + self->width, self->frame.area.height - self->bwidth * 2); + if (resized) { render(self);