X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=b0f789aa2e67d5c5e026ff1c3b82b12f5fa77318;hb=20cb425fd31b86febacbc3e80fba94e88f0ef016;hp=f788255cd4665694cc54375ee9a076ddb11261d3;hpb=23f9ae2768f5c57af64890e4695b74fcef7b31d1;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index f788255c..b0f789aa 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -695,7 +695,9 @@ void frame_adjust_area(ObFrame *self, gboolean moved, self->cbwidth_y); /* when the client has StaticGravity, it likes to move around. */ - XMoveWindow(ob_display, self->client->window, 0, 0); + XMoveWindow(ob_display, self->client->window, + -self->client->border_width, + -self->client->border_width); } } @@ -848,7 +850,8 @@ void frame_grab_client(ObFrame *self) */ /* reparent the client to the frame */ - XReparentWindow(ob_display, self->client->window, self->plate, 0, 0); + XReparentWindow(ob_display, self->client->window, self->plate, + -self->client->border_width, -self->client->border_width); /* When reparenting the client window, it is usually not mapped yet, since @@ -1340,13 +1343,14 @@ void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) case SouthEastGravity: case EastGravity: /* the right side of the client will be the right side of the frame */ - *x -= self->size.right + self->size.left; + *x -= self->size.right + self->size.left - + self->client->border_width * 2; break; case ForgetGravity: case StaticGravity: /* the client's position won't move */ - *x -= self->size.left; + *x -= self->size.left - self->client->border_width; break; } @@ -1369,13 +1373,14 @@ void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) case SouthEastGravity: case SouthGravity: /* the bottom of the client will be the bottom of the frame */ - *y -= self->size.bottom + self->size.top; + *y -= self->size.bottom + self->size.top - + self->client->border_width * 2; break; case ForgetGravity: case StaticGravity: /* the client's position won't move */ - *y -= self->size.top; + *y -= self->size.top - self->client->border_width; break; } } @@ -1399,12 +1404,13 @@ void frame_frame_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) case EastGravity: case SouthEastGravity: /* the right side of the client will be the right side of the frame */ - *x += self->size.right + self->size.left; + *x += self->size.right + self->size.left - + self->client->border_width * 2; break; case StaticGravity: case ForgetGravity: /* the client's position won't move */ - *x += self->size.left; + *x += self->size.left - self->client->border_width; break; } @@ -1425,12 +1431,13 @@ void frame_frame_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h) case SouthGravity: case SouthEastGravity: /* the bottom of the client will be the bottom of the frame */ - *y += self->size.bottom + self->size.top; + *y += self->size.bottom + self->size.top - + self->client->border_width * 2; break; case StaticGravity: case ForgetGravity: /* the client's position won't move */ - *y += self->size.top; + *y += self->size.top - self->client->border_width; break; } }