if(c->inch)
*h -= *h % c->inch;
/* restore base dimensions */
- *w += c->basew;
- *h += c->baseh;
- *w = MAX(*w, c->minw);
- *h = MAX(*h, c->minh);
+ *w = MAX(*w + c->basew, c->minw);
+ *h = MAX(*h + c->baseh, c->minh);
if(c->maxw)
*w = MIN(*w, c->maxw);
if(c->maxh)
void
focusmon(const Arg *arg) {
- Monitor *m = NULL;
+ Monitor *m;
if(!mons->next)
return;
*c = cz;
c->win = w;
updatetitle(c);
- if(XGetTransientForHint(dpy, w, &trans))
- t = wintoclient(trans);
- if(t) {
+ if(XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
c->mon = t->mon;
c->tags = t->tags;
}
c->h = c->oldh = wa->height;
c->oldbw = wa->border_width;
if(c->w == c->mon->mw && c->h == c->mon->mh) {
- c->isfloating = 1;
+ c->isfloating = True;
c->x = c->mon->mx;
c->y = c->mon->my;
c->bw = 0;
switch (ev->atom) {
default: break;
case XA_WM_TRANSIENT_FOR:
- XGetTransientForHint(dpy, c->win, &trans);
- if(!c->isfloating && (c->isfloating = (wintoclient(trans) != NULL)))
+ if(!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) &&
+ (c->isfloating = (wintoclient(trans))))
arrange(c->mon);
break;
case XA_WM_NORMAL_HINTS:
c->oldstate = c->isfloating;
c->oldbw = c->bw;
c->bw = 0;
- c->isfloating = 1;
+ c->isfloating = True;
resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
XRaiseWindow(dpy, c->win);
}