X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=a47bc25286bdec51e555a498a4e7a3b84258f3ec;hb=2a0fc84c4af2257d79c4c7cb37131c4acb763162;hp=ad4a16b87fc85db0f40bb657440735cef036d4d6;hpb=b9da4b082eb658b4142b61c149212f414f7653b6;p=dwm.git diff --git a/event.c b/event.c index ad4a16b..a47bc25 100644 --- a/event.c +++ b/event.c @@ -79,15 +79,13 @@ configurerequest(XEvent *e) ev->value_mask &= ~CWSibling; if((c = getclient(ev->window))) { if(ev->value_mask & CWX) - c->r[RFloat].x = ev->x; + c->x = ev->x; if(ev->value_mask & CWY) - c->r[RFloat].y = ev->y; + c->y = ev->y; if(ev->value_mask & CWWidth) - c->r[RFloat].width = ev->width; + c->w = ev->width; if(ev->value_mask & CWHeight) - c->r[RFloat].height = ev->height; - if(ev->value_mask & CWBorderWidth) - c->border = ev->border_width; + c->h = ev->height; } wc.x = ev->x; @@ -145,9 +143,12 @@ static void expose(XEvent *e) { XExposeEvent *ev = &e->xexpose; + Client *c; if(ev->count == 0) { - if(ev->window == barwin) + if((c = gettitle(ev->window))) + draw_client(c); + else if(ev->window == barwin) draw_bar(); } } @@ -181,7 +182,6 @@ static void propertynotify(XEvent *e) { XPropertyEvent *ev = &e->xproperty; - long msize; Client *c; if(ev->state == PropertyDelete) @@ -197,20 +197,17 @@ propertynotify(XEvent *e) case XA_WM_TRANSIENT_FOR: XGetTransientForHint(dpy, c->win, &c->trans); break; + update_size(c); case XA_WM_NORMAL_HINTS: - if(!XGetWMNormalHints(dpy, c->win, &c->size, &msize) - || !c->size.flags) - c->size.flags = PSize; - if(c->size.flags & PMinSize && c->size.flags & PMaxSize - && c->size.min_width == c->size.max_width - && c->size.min_height == c->size.max_height) - c->fixedsize = True; - else - c->fixedsize = False; + 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); } } }