summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/frame.c16
-rw-r--r--tests/grav.c6
2 files changed, 11 insertions, 11 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 780bc23d..b6b6ac93 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1343,13 +1343,13 @@ 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;
}
@@ -1372,13 +1372,13 @@ 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;
}
}
@@ -1402,12 +1402,12 @@ 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;
}
@@ -1428,12 +1428,12 @@ 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;
}
}
diff --git a/tests/grav.c b/tests/grav.c
index a8dcdc31..5ce3cfb7 100644
--- a/tests/grav.c
+++ b/tests/grav.c
@@ -24,7 +24,7 @@ int main () {
Display *display;
Window win;
XEvent report;
- int x=10,y=10,h=100,w=400;
+ int x=10,y=10,h=100,w=400,b=10;
XSizeHints *hints;
display = XOpenDisplay(NULL);
@@ -35,7 +35,7 @@ int main () {
}
win = XCreateWindow(display, RootWindow(display, 0),
- x, y, w, h, 10, CopyFromParent, CopyFromParent,
+ x, y, w, h, b, CopyFromParent, CopyFromParent,
CopyFromParent, 0, NULL);
hints = XAllocSizeHints();
@@ -49,7 +49,7 @@ int main () {
XMapWindow(display, win);
XFlush(display);
- XMoveResizeWindow(display, win, 1172-600, 668-150, 600, 150);
+ XMoveResizeWindow(display, win, 1172-600-b*2, 668-150-b*2, 600, 150);
XFlush(display);
sleep(1);
XResizeWindow(display, win, 900, 275);