X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/b6ad663f87b195b1494798030f826cb2fbc71a23..d37dfa1bedbfadb5d39aa1937e77d4fd44319018:/event.c?ds=sidebyside diff --git a/event.c b/event.c index 5209be3..35cd4f9 100644 --- a/event.c +++ b/event.c @@ -105,20 +105,26 @@ buttonpress(XEvent *e) XButtonPressedEvent *ev = &e->xbutton; if(barwin == ev->window) { - x = 0; - for(a.i = 0; a.i < ntags; a.i++) { - x += textw(tags[a.i]); - if(ev->x < x) { - if(ev->button == Button1) - view(&a); - else if(ev->button == Button3) - toggleview(&a); - return; + if(ev->x < modew) + togglemode(NULL); + else { + x = modew; + for(a.i = 0; a.i < ntags; a.i++) { + x += textw(tags[a.i]); + if(ev->x < x) { + if(ev->button == Button1) + view(&a); + else if(ev->button == Button3) + toggleview(&a); + return; + } } } } else if((c = getclient(ev->window))) { focus(c); + if(CLEANMASK(ev->state) == 0) + return; switch(ev->button) { default: break;