X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=layout.c;h=0f17b696178ff21d209ade5bd7580478b9da9a5b;hb=598e22907e6a3bcfbc35f913dae24d031d6f9170;hp=259f48971533f5f0376a545e18011789e6d56639;hpb=f7bdb39d9e8f7f9de033b8e4ba187ef34b34a571;p=dwm.git diff --git a/layout.c b/layout.c index 259f489..0f17b69 100644 --- a/layout.c +++ b/layout.c @@ -61,10 +61,8 @@ tile(void) { c->isbanned = True; XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); } - if(!sel || !isvisible(sel)) { - for(c = stack; c && !isvisible(c); c = c->snext); - focus(c); - } + if(!sel || !isvisible(sel)) + focustopvisible(); restack(); } @@ -88,10 +86,8 @@ floating(void) { XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); } } - if(!sel || !isvisible(sel)) { - for(c = stack; c && !isvisible(c); c = c->snext); - focus(c); - } + if(!sel || !isvisible(sel)) + focustopvisible(); restack(); } @@ -193,6 +189,7 @@ restack(void) { XLowerWindow(dpy, c->win); } } + XRaiseWindow(dpy, barwin); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } @@ -221,6 +218,16 @@ setlayout(const char *arg) { } void +togglebar(const char *arg) { + if(bpos == BarOff) + bpos = (BARPOS == BarOff) ? BarTop : BARPOS; + else + bpos = BarOff; + updatebarpos(); + lt->arrange(); +} + +void togglemax(const char *arg) { XEvent ev; @@ -241,13 +248,10 @@ togglemax(const char *arg) { void zoom(const char *arg) { - unsigned int n; Client *c; if(!sel || lt->arrange != tile || sel->isfloating) return; - for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) - n++; if((c = sel) == nexttiled(clients)) if(!(c = nexttiled(c->next))) return;