X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=b027a3eee03ec4e1c019c912d80c43d7066f6840;hb=e7fa504c3e095db65853afd39d2d1324d439dcf4;hp=5ff6b911d8df91848c0a9ce80172228bf522b9f8;hpb=8b59083eb13c0712e04d9a5b6d7bf4af5913c442;p=dwm.git diff --git a/event.c b/event.c index 5ff6b91..b027a3e 100644 --- a/event.c +++ b/event.c @@ -4,12 +4,13 @@ */ #include +#include #include #include #include #include -#include "wm.h" +#include "dwm.h" /* local functions */ static void buttonpress(XEvent *e); @@ -37,20 +38,15 @@ void (*handler[LASTEvent]) (XEvent *) = { [UnmapNotify] = unmapnotify }; -void -discard_events(long even_mask) -{ - XEvent ev; - while(XCheckMaskEvent(dpy, even_mask, &ev)); -} - static void buttonpress(XEvent *e) { XButtonPressedEvent *ev = &e->xbutton; Client *c; - if((c = getclient(ev->window))) { + if(barwin == ev->window) + barclick(ev); + else if((c = getclient(ev->window))) { craise(c); switch(ev->button) { default: @@ -87,8 +83,9 @@ configurerequest(XEvent *e) if(ev->value_mask & CWHeight) c->h = ev->height; if(ev->value_mask & CWBorderWidth) - c->border = ev->border_width; + c->border = 1; gravitate(c, False); + resize(c, True); } wc.x = ev->x; @@ -179,6 +176,7 @@ static void propertynotify(XEvent *e) { XPropertyEvent *ev = &e->xproperty; + Window trans; Client *c; if(ev->state == PropertyDelete) @@ -192,9 +190,10 @@ propertynotify(XEvent *e) switch (ev->atom) { default: break; case XA_WM_TRANSIENT_FOR: - XGetTransientForHint(dpy, c->win, &c->trans); + XGetTransientForHint(dpy, c->win, &trans); + if(!c->floating && (c->floating = (trans != 0))) + arrange(NULL); break; - update_size(c); case XA_WM_NORMAL_HINTS: update_size(c); break;