|
|
@@ -13,6 +13,22 @@ static unsigned int nlayouts = 0;
|
|
|
static unsigned int masterw = MASTERWIDTH;
|
|
|
static unsigned int nmaster = NMASTER;
|
|
|
|
|
|
+static void
|
|
|
+ban(Client *c) {
|
|
|
+ if (c->isbanned)
|
|
|
+ return;
|
|
|
+ XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
|
|
|
+ c->isbanned = True;
|
|
|
+}
|
|
|
+
|
|
|
+static void
|
|
|
+unban(Client *c) {
|
|
|
+ if (!c->isbanned)
|
|
|
+ return;
|
|
|
+ XMoveWindow(dpy, c->win, c->x, c->y);
|
|
|
+ c->isbanned = False;
|
|
|
+}
|
|
|
+
|
|
|
static void
|
|
|
tile(void) {
|
|
|
unsigned int i, n, nx, ny, nw, nh, mw, mh, tw, th;
|
|
|
@@ -28,9 +44,7 @@ tile(void) {
|
|
|
|
|
|
for(i = 0, c = clients; c; c = c->next)
|
|
|
if(isvisible(c)) {
|
|
|
- if(c->isbanned)
|
|
|
- XMoveWindow(dpy, c->win, c->x, c->y);
|
|
|
- c->isbanned = False;
|
|
|
+ unban(c);
|
|
|
if(c->isfloating)
|
|
|
continue;
|
|
|
c->ismax = False;
|
|
|
@@ -60,12 +74,9 @@ tile(void) {
|
|
|
resize(c, nx, ny, nw, nh, False);
|
|
|
i++;
|
|
|
}
|
|
|
- else {
|
|
|
- c->isbanned = True;
|
|
|
- XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
|
|
|
- }
|
|
|
- if(!sel || !isvisible(sel))
|
|
|
- focustopvisible();
|
|
|
+ else
|
|
|
+ ban(c);
|
|
|
+ focus(NULL);
|
|
|
restack();
|
|
|
}
|
|
|
|
|
|
@@ -77,20 +88,16 @@ void
|
|
|
floating(void) {
|
|
|
Client *c;
|
|
|
|
|
|
- for(c = clients; c; c = c->next) {
|
|
|
+ for(c = clients; c; c = c->next)
|
|
|
if(isvisible(c)) {
|
|
|
if(c->isbanned)
|
|
|
XMoveWindow(dpy, c->win, c->x, c->y);
|
|
|
c->isbanned = False;
|
|
|
resize(c, c->x, c->y, c->w, c->h, True);
|
|
|
}
|
|
|
- else {
|
|
|
- c->isbanned = True;
|
|
|
- XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
|
|
|
- }
|
|
|
- }
|
|
|
- if(!sel || !isvisible(sel))
|
|
|
- focustopvisible();
|
|
|
+ else
|
|
|
+ ban(c);
|
|
|
+ focus(NULL);
|
|
|
restack();
|
|
|
}
|
|
|
|