void
ban(Client *c) {
- if (c->isbanned)
+ if(c->isbanned)
return;
- XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
+ XUnmapWindow(dpy, c->win);
+ setclientstate(c, IconicState);
c->isbanned = True;
+ c->unmapped++;
}
void
void
focus(Client *c) {
- if((!c && selscreen)|| (c && !isvisible(c)))
+ if((!c && selscreen) || (c && !isvisible(c)))
for(c = stack; c && !isvisible(c); c = c->snext);
if(sel && sel != c) {
grabbuttons(sel, False);
c->isfloating = (rettrans == Success) || c->isfixed;
attach(c);
attachstack(c);
- ban(c);
- XMapWindow(dpy, w);
- setclientstate(c, NormalState);
+ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); /* some windows require this */
+ setclientstate(c, IconicState);
+ c->isbanned = True;
focus(c);
- lt->arrange();
+ lt->arrange(NULL);
}
void
sel->isfloating = !sel->isfloating;
if(sel->isfloating)
resize(sel, sel->x, sel->y, sel->w, sel->h, True);
- lt->arrange();
+ lt->arrange(NULL);
}
void
unban(Client *c) {
- if (!c->isbanned)
+ if(!c->isbanned)
return;
- XMoveWindow(dpy, c->win, c->x, c->y);
+ XMapWindow(dpy, c->win);
+ setclientstate(c, NormalState);
c->isbanned = False;
}
XSync(dpy, False);
XSetErrorHandler(xerror);
XUngrabServer(dpy);
- lt->arrange();
+ lt->arrange(NULL);
}
void