X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=event.c;h=d0716fa842466b0f419b63de4d7f1bf76c451afb;hp=949812fe49814392f418e3575ffa1133961b9e96;hb=2d81b78b853565a3e34a8a9190e2362a6fdde739;hpb=83aa110c6fabbf5f5a14b698a6ca22072cb80629 diff --git a/event.c b/event.c index 949812f..d0716fa 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 * @@ -138,12 +138,8 @@ buttonpress(XEvent *e) { return; } } - if(ev->x < x + blw) - switch(ev->button) { - case Button1: - setlayout(NULL); - break; - } + if((ev->x < x + blw) && ev->button == Button1) + setlayout(NULL); } else if((c = getclient(ev->window))) { focus(c); @@ -225,19 +221,6 @@ configurenotify(XEvent *e) { } static void -createnotify(XEvent *e) { - static XWindowAttributes wa; - XCreateWindowEvent *ev = &e->xcreatewindow; - - if(!XGetWindowAttributes(dpy, ev->window, &wa)) - return; - if(wa.override_redirect) - return; - if(!getclient(ev->window) && (wa.map_state == IsViewable)) - manage(ev->window, &wa); -} - -static void destroynotify(XEvent *e) { Client *c; XDestroyWindowEvent *ev = &e->xdestroywindow; @@ -353,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 */ @@ -363,7 +348,6 @@ void (*handler[LASTEvent]) (XEvent *) = { [ButtonPress] = buttonpress, [ConfigureRequest] = configurerequest, [ConfigureNotify] = configurenotify, - [CreateNotify] = createnotify, [DestroyNotify] = destroynotify, [EnterNotify] = enternotify, [LeaveNotify] = leavenotify,