X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fframe.c;h=a4843d6ff9f577f5407c57e1120f2cf18f07855b;hb=6377d2ee581c6fbc6a29f7e3c94de8a7324b9e7e;hp=55a28413275dd8098b3c1d999be730bee741fceb;hpb=4e0ba65d30f537cb223a402e44c5bdd976f47f2a;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index 55a28413..a4843d6f 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -758,9 +758,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved, frame_client_gravity. */ self->area.x = self->client->area.x; self->area.y = self->client->area.y; - frame_client_gravity(self, &self->area.x, &self->area.y, - self->client->area.width, - self->client->area.height); + frame_client_gravity(self, &self->area.x, &self->area.y); } if (!fake) { @@ -1401,7 +1399,7 @@ ObFrameContext frame_context(ObClient *client, Window win, gint x, gint y) return OB_FRAME_CONTEXT_NONE; } -void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) +void frame_client_gravity(ObFrame *self, gint *x, gint *y) { /* horizontal */ switch (self->client->gravity) { @@ -1464,7 +1462,7 @@ void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) } } -void frame_frame_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) +void frame_frame_gravity(ObFrame *self, gint *x, gint *y) { /* horizontal */ switch (self->client->gravity) { @@ -1525,7 +1523,7 @@ void frame_rect_to_frame(ObFrame *self, Rect *r) { r->width += self->size.left + self->size.right; r->height += self->size.top + self->size.bottom; - frame_client_gravity(self, &r->x, &r->y, r->width, r->height); + frame_client_gravity(self, &r->x, &r->y); } static void flash_done(gpointer data) @@ -1674,8 +1672,11 @@ void frame_end_iconify_animation(ObFrame *self) XUnmapWindow(ob_display, self->window); else { /* Send a ConfigureNotify when the animation is done, this fixes - KDE's pager showing the window in the wrong place. */ - client_reconfigure(self->client); + KDE's pager showing the window in the wrong place. since the + window is mapped at a different location and is then moved, we + need to send the synthetic configurenotify, since apps may have + read the position when the client mapped, apparently. */ + client_reconfigure(self->client, TRUE); } /* we're not animating any more ! */