diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-03-26 15:08:19 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-03-26 15:08:19 +0000 |
| commit | 1b20f591af578f0b9dea7c13b4de8f15ab1074af (patch) | |
| tree | 2e9987e2cd0957fca5f92aab274d307863846660 | |
| parent | f29dd7e0cd0ceef0bfe95c865b6b22d34b065b7b (diff) | |
use the right data when initially placing the frame. was fucking up the gravity calcs
| -rw-r--r-- | engines/openbox/openbox.c | 32 |
1 files changed, 15 insertions, 17 deletions
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); |
