summaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@wmii.de>2006-07-13 12:00:20 +0200
committerAnselm R. Garbe <garbeam@wmii.de>2006-07-13 12:00:20 +0200
commit0a638a4cafb3dd754a596605bb55ac7977fba71e (patch)
tree0b309601028c0588a54feb47a1dab226e86a31a6 /client.c
parent21553f9b4dc80a3afa0a76854dd2ae5ea5e1f4a1 (diff)
added pointer warps on kb-driven/manage-driven focus
Diffstat (limited to 'client.c')
-rw-r--r--client.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/client.c b/client.c
index f92ac26c..5e7321d2 100644
--- a/client.c
+++ b/client.c
@@ -101,6 +101,7 @@ sel(void *aux)
if(!c)
c = stack;
craise(c);
+ XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
focus(c);
}
@@ -235,6 +236,7 @@ focus(Client *c)
draw_client(c);
XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
XFlush(dpy);
+ discard_events(EnterWindowMask);
}
void
@@ -279,6 +281,7 @@ manage(Window w, XWindowAttributes *wa)
XGrabButton(dpy, Button3, Mod1Mask, c->win, False, ButtonPressMask,
GrabModeAsync, GrabModeSync, None, None);
arrange();
+ XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
focus(c);
}