summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-26 15:08:19 +0000
committerDana Jansens <danakj@orodu.net>2003-03-26 15:08:19 +0000
commit1b20f591af578f0b9dea7c13b4de8f15ab1074af (patch)
tree2e9987e2cd0957fca5f92aab274d307863846660
parentf29dd7e0cd0ceef0bfe95c865b6b22d34b065b7b (diff)
use the right data when initially placing the frame. was fucking up the gravity calcs
-rw-r--r--engines/openbox/openbox.c32
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);