diff options
Diffstat (limited to 'patch/warp.c')
| -rw-r--r-- | patch/warp.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/patch/warp.c b/patch/warp.c new file mode 100644 index 0000000..0989de7 --- /dev/null +++ b/patch/warp.c @@ -0,0 +1,21 @@ +void +warp(const Client *c) +{ + int x, y; + + if (!c) { + XWarpPointer(dpy, None, root, 0, 0, 0, 0, selmon->wx + selmon->ww/2, selmon->wy + selmon->wh/2); + return; + } + + if (!getrootptr(&x, &y) || + (x > c->x - c->bw && + y > c->y - c->bw && + x < c->x + c->w + c->bw*2 && + y < c->y + c->h + c->bw*2) || + (y > c->mon->by && y < c->mon->by + bh) || + (c->mon->topbar && !y)) + return; + + XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2); +}
\ No newline at end of file |
