default:
break;
case Button1:
- if(!c->ismax && (arrange == dofloat || c->isfloat)) {
- higher(c);
- movemouse(c);
+ if(!c->ismax) {
+ if(arrange == dofloat || c->isfloat) {
+ higher(c);
+ movemouse(c);
+ }
+ else
+ zoom(NULL);
}
break;
- case Button2:
- lower(c);
- break;
case Button3:
if(!c->ismax && (arrange == dofloat || c->isfloat)) {
higher(c);
Client *c;
XCrossingEvent *ev = &e->xcrossing;
- if(ev->detail == NotifyInferior)
+ if(ev->mode != NotifyNormal || ev->detail == NotifyInferior)
return;
if((c = getclient(ev->window)) || (c = getctitle(ev->window)))
for(i = 0; i < len; i++) {
code = XKeysymToKeycode(dpy, key[i].keysym);
- /* normal */
- XUngrabKey(dpy, code, key[i].mod, root);
XGrabKey(dpy, code, key[i].mod, root, True,
GrabModeAsync, GrabModeAsync);
- /* capslock */
- XUngrabKey(dpy, code, key[i].mod | LockMask, root);
XGrabKey(dpy, code, key[i].mod | LockMask, root, True,
GrabModeAsync, GrabModeAsync);
- /* numlock */
- XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root);
XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True,
GrabModeAsync, GrabModeAsync);
- /* capslock & numlock */
- XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root);
XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True,
GrabModeAsync, GrabModeAsync);
}