all repos — openbox @ 01a7a9edb7617f3e0ae09a84207faa0dcdf71306

openbox fork - make it a bit more like ryudo

fix window gravity when there is a border width
Dana Jansens danakj@orodu.net
commit

01a7a9edb7617f3e0ae09a84207faa0dcdf71306

parent

8e19e99ac8e5a4e7e9721b10447c4b90f17c2c8f

2 files changed, 11 insertions(+), 11 deletions(-)

jump to
M openbox/frame.copenbox/frame.c

@@ -1343,13 +1343,13 @@ case NorthEastGravity:

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 @@ case SouthWestGravity:

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 @@ case NorthEastGravity:

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 @@ case SouthWestGravity:

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; } }
M tests/grav.ctests/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 @@ return 0;

} 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 @@

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);