X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=event.c;h=0fa1081c9dfc9084be1e360c8294d3f887c13561;hb=aa53e39ec0eb39949c5c03d56da08204d14d9ff9;hp=1454b0b767fd243ea8efe045ce8cd973ebe5bbf6;hpb=154497541d1378d3aded02df06029de94d8af586;p=dwm.git diff --git a/event.c b/event.c index 1454b0b..0fa1081 100644 --- a/event.c +++ b/event.c @@ -16,7 +16,7 @@ typedef struct { KEYS -#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) +#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) #define MOUSEMASK (BUTTONMASK | PointerMotionMask) static Client * @@ -135,19 +135,11 @@ buttonpress(XEvent *e) { else toggleview(buf); } - else if(ev->button == Button4) - shiftview("-1"); - else if(ev->button == Button5) - shiftview("1"); return; } } - if(ev->x < x + blw && ev->button == Button1) + if((ev->x < x + blw) && ev->button == Button1) setlayout(NULL); - else if(ev->button == Button4) - focusclient("-1"); - else if(ev->button == Button5) - focusclient("1"); } else if((c = getclient(ev->window))) { focus(c); @@ -224,7 +216,7 @@ configurenotify(XEvent *e) { dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen)); XResizeWindow(dpy, barwin, sw, bh); updatebarpos(); - lt->arrange(); + lt->arrange(NULL); } } @@ -325,7 +317,7 @@ propertynotify(XEvent *e) { case XA_WM_TRANSIENT_FOR: XGetTransientForHint(dpy, c->win, &trans); if(!c->isfloating && (c->isfloating = (getclient(trans) != NULL))) - lt->arrange(); + lt->arrange(NULL); break; case XA_WM_NORMAL_HINTS: updatesizehints(c); @@ -344,8 +336,10 @@ unmapnotify(XEvent *e) { Client *c; XUnmapEvent *ev = &e->xunmap; - if((c = getclient(ev->window))) - unmanage(c); + if((c = getclient(ev->window)) && (ev->event == root)) { + if(ev->send_event || c->unmapped-- == 0) + unmanage(c); + } } /* extern */