X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=e85e11f9054a18094f4134e3020a3c54b137ca7f;hb=86d9851427710ca0f3ab95ae9b6c20361b56e516;hp=37196d1fdffa3d987787552339fd6ad011de063d;hpb=b1701adf75297747c52e0c3ed2c314cd10129907;p=dwm.git diff --git a/event.c b/event.c index 37196d1..e85e11f 100644 --- a/event.c +++ b/event.c @@ -9,7 +9,7 @@ #include #include -#include "wm.h" +#include "dwm.h" /* local functions */ static void buttonpress(XEvent *e); @@ -51,7 +51,7 @@ buttonpress(XEvent *e) Client *c; if((c = getclient(ev->window))) { - raise(c); + craise(c); switch(ev->button) { default: break; @@ -89,6 +89,7 @@ configurerequest(XEvent *e) if(ev->value_mask & CWBorderWidth) c->border = ev->border_width; gravitate(c, False); + resize(c, True); } wc.x = ev->x; @@ -126,7 +127,7 @@ enternotify(XEvent *e) if((c = getclient(ev->window))) focus(c); else if(ev->window == root) - sel_screen = True; + issel = True; } static void @@ -135,7 +136,7 @@ leavenotify(XEvent *e) XCrossingEvent *ev = &e->xcrossing; if((ev->window == root) && !ev->same_screen) - sel_screen = True; + issel = True; } static void @@ -147,8 +148,6 @@ expose(XEvent *e) if(ev->count == 0) { if((c = gettitle(ev->window))) draw_client(c); - else if(ev->window == barwin) - draw_bar(); } } @@ -181,6 +180,7 @@ static void propertynotify(XEvent *e) { XPropertyEvent *ev = &e->xproperty; + Window trans; Client *c; if(ev->state == PropertyDelete) @@ -194,19 +194,17 @@ 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; } if(ev->atom == XA_WM_NAME || ev->atom == net_atom[NetWMName]) { update_name(c); - if(c == stack) - draw_bar(); - else - draw_client(c); + draw_client(c); } } }