diff -r 701f651eaecc dwm.c --- a/dwm.c Sun Jul 24 10:41:43 2011 +0100 +++ b/dwm.c Tue Jul 26 21:58:41 2011 +0300 @@ -433,9 +433,9 @@ } if(ev->window == selmon->barwin) { i = x = 0; - do { + do x += TEXTW(tags[i]); - } while(ev->x >= x && ++i < LENGTH(tags)); + while(ev->x >= x && ++i < LENGTH(tags)); if(i < LENGTH(tags)) { click = ClkTagBar; arg.ui = 1 << i; @@ -720,12 +720,10 @@ if(!(m = selmon->next)) m = mons; } - else { - if(selmon == mons) - for(m = mons; m->next; m = m->next); - else - for(m = mons; m->next != selmon; m = m->next); - } + else if(selmon == mons) + for(m = mons; m->next; m = m->next); + else + for(m = mons; m->next != selmon; m = m->next); return m; } @@ -1010,20 +1008,18 @@ void grabkeys(void) { + unsigned int i, j; + unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask }; + KeyCode code; + updatenumlockmask(); - { - unsigned int i, j; - unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask }; - KeyCode code; - XUngrabKey(dpy, AnyKey, AnyModifier, root); - for(i = 0; i < LENGTH(keys); i++) { - if((code = XKeysymToKeycode(dpy, keys[i].keysym))) - for(j = 0; j < LENGTH(modifiers); j++) - XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, - True, GrabModeAsync, GrabModeAsync); - } - } + XUngrabKey(dpy, AnyKey, AnyModifier, root); + for(i = 0; i < LENGTH(keys); i++) + if((code = XKeysymToKeycode(dpy, keys[i].keysym))) + for(j = 0; j < LENGTH(modifiers); j++) + XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, + True, GrabModeAsync, GrabModeAsync); } void @@ -1031,7 +1027,6 @@ char *def, **missing; int n; - missing = NULL; dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); if(missing) { while(n--) @@ -1311,6 +1306,7 @@ return m; return selmon; } + void quit(const Arg *arg) { running = False; @@ -1415,10 +1411,9 @@ XEvent ev; /* main event loop */ XSync(dpy, False); - while(running && !XNextEvent(dpy, &ev)) { + while(running && !XNextEvent(dpy, &ev)) if(handler[ev.type]) handler[ev.type](&ev); /* call handler */ - } } void