--- dwm-4.7/dwm.c 2007-11-21 21:18:41.000000000 +0100 +++ dwm/dwm.c 2007-11-23 04:08:43.000000000 +0100 @@ -313,6 +313,12 @@ if(ev->window == barwin) { x = 0; + if(ev->x == 0) { + switch(ev->button) { + case Button4: setmwfact("-0.1"); break; + case Button5: setmwfact("+0.1"); break; + } + } for(i = 0; i < LENGTH(tags); i++) { x += textw(tags[i]); if(ev->x < x) { @@ -331,8 +337,25 @@ return; } } - if((ev->x < x + blw) && ev->button == Button1) - setlayout(NULL); + if(ev->x < x + blw) + switch(ev->button) { + case Button1: setlayout(NULL); break; +#ifdef NMASTER + case Button3: clientspertag("^1"); break; + case Button4: setnmaster("+1"); break; + case Button5: setnmaster("-1"); break; +#else + case Button3: togglemax(NULL); break; +#endif + } else + if(ev->x > x + blw) + switch(ev->button) { + case Button1: zoom(NULL); break; + case Button2: togglefloating(NULL); break; + case Button3: killclient(NULL); break; + case Button4: focusprev(NULL); break; + case Button5: focusnext(NULL); break; + } } else if((c = getclient(ev->window))) { focus(c);