all repos — openbox @ 1b20f591af578f0b9dea7c13b4de8f15ab1074af

openbox fork - make it a bit more like ryudo

use the right data when initially placing the frame. was fucking up the gravity calcs
Dana Jansens danakj@orodu.net
commit

1b20f591af578f0b9dea7c13b4de8f15ab1074af

parent

f29dd7e0cd0ceef0bfe95c865b6b22d34b065b7b

1 files changed, 15 insertions(+), 17 deletions(-)

jump to
M engines/openbox/openbox.cengines/openbox/openbox.c

@@ -471,23 +471,6 @@ } else

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,

@@ -514,6 +497,21 @@ self->frame.size.left + self->frame.size.right,

(self->frame.client->shaded ? TITLE_HEIGHT + self->bwidth*2: 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);