X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=event.c;h=74ae2767c5b7c836ac28b3b480570d3f237977e1;hb=d2d394eccf2d23eb264a321fe187bb2084beb4b9;hp=e97abadcb4ad61644d16db81a6aa0d30987a9351;hpb=05fbbbd8dc3f990f07fe2055693bef0031fd4623;p=dwm.git diff --git a/event.c b/event.c index e97abad..74ae276 100644 --- a/event.c +++ b/event.c @@ -109,16 +109,17 @@ buttonpress(XEvent *e) for(a.i = 0; a.i < ntags; a.i++) { x += textw(tags[a.i]); if(ev->x < x) { - switch(ev->button) { - case Button1: - view(&a); - break; - case Button2: - toggletag(&a); - break; - case Button3: - toggleview(&a); - break; + if(ev->button == Button1) { + if(ev->state & MODKEY) + tag(&a); + else + view(&a); + } + else if(ev->button == Button3) { + if(ev->state & MODKEY) + toggletag(&a); + else + toggleview(&a); } return; } @@ -130,26 +131,17 @@ buttonpress(XEvent *e) } else if((c = getclient(ev->window))) { focus(c); - if(CLEANMASK(ev->state) != MODKEY) + if(maximized || CLEANMASK(ev->state) != MODKEY) return; - switch(ev->button) { - default: - break; - case Button1: - if(!c->ismax && (arrange == dofloat || c->isfloat)) { - restack(c); - movemouse(c); - } - break; - case Button2: + if(ev->button == Button1 && (arrange == dofloat || c->isfloat)) { + restack(c); + movemouse(c); + } + else if(ev->button == Button2) zoom(NULL); - break; - case Button3: - if(!c->ismax && (arrange == dofloat || c->isfloat)) { - restack(c); - resizemouse(c); - } - break; + else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)) { + restack(c); + resizemouse(c); } } } @@ -181,7 +173,7 @@ configurerequest(XEvent *e) XWindowChanges wc; if((c = getclient(ev->window))) { - if(!c->isfloat && (arrange != dofloat) && c->ismax) { + if((c == sel) && !c->isfloat && (arrange != dofloat) && maximized) { synconfig(c, sx, sy + bh, sw - 2, sh - 2 - bh, ev->border_width); XSync(dpy, False); return; @@ -351,11 +343,11 @@ propertynotify(XEvent *e) arrange(NULL); break; case XA_WM_NORMAL_HINTS: - setsize(c); + updatesize(c); break; } if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { - settitle(c); + updatetitle(c); drawtitle(c); } }