diff -r 32cd156749d1 client.c --- a/client.c Fri Jul 21 21:15:39 2006 +0200 +++ client.c Sun Jul 23 17:32:46 2006 +0200 @@ -244,11 +244,11 @@ manage(Window w, XWindowAttributes *wa) c->next = clients; clients = c; - XGrabButton(dpy, Button1, MODKEY, c->win, False, ButtonPressMask, + XGrabButton(dpy, Button1, MODKEY, c->win, False, ButtonMask, GrabModeAsync, GrabModeSync, None, None); - XGrabButton(dpy, Button2, MODKEY, c->win, False, ButtonPressMask, + XGrabButton(dpy, Button2, MODKEY, c->win, False, ButtonMask, GrabModeAsync, GrabModeSync, None, None); - XGrabButton(dpy, Button3, MODKEY, c->win, False, ButtonPressMask, + XGrabButton(dpy, Button3, MODKEY, c->win, False, ButtonMask, GrabModeAsync, GrabModeSync, None, None); if(!c->isfloat) diff -r 32cd156749d1 dwm.h --- a/dwm.h Fri Jul 21 21:15:39 2006 +0200 +++ dwm.h Sun Jul 23 17:32:46 2006 +0200 @@ -24,6 +24,10 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; /* END CUSTOMIZE */ + +/* mask shorthands, used in event.c and client.c */ +#define ButtonMask (ButtonPressMask | ButtonReleaseMask) +#define MouseMask (ButtonMask | PointerMotionMask) typedef union Arg Arg; typedef struct Client Client; diff -r 32cd156749d1 event.c --- a/event.c Fri Jul 21 21:15:39 2006 +0200 +++ event.c Sun Jul 23 17:32:46 2006 +0200 @@ -7,9 +7,6 @@ #include #include #include - -#define ButtonMask (ButtonPressMask | ButtonReleaseMask) -#define MouseMask (ButtonMask | PointerMotionMask) /* CUSTOMIZE */ @@ -247,7 +244,7 @@ enternotify(XEvent *e) Client *c; XCrossingEvent *ev = &e->xcrossing; - if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) + if(ev->detail == NotifyInferior) return; if((c = getclient(ev->window))) diff -r 32cd156749d1 tag.c --- a/tag.c Fri Jul 21 21:15:39 2006 +0200 +++ tag.c Sun Jul 23 17:32:46 2006 +0200 @@ -67,6 +67,8 @@ dofloat(Arg *arg) higher(sel); focus(sel); } + else + XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); } drawall(); } @@ -130,6 +132,8 @@ dotile(Arg *arg) higher(sel); focus(sel); } + else + XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); } drawall(); }