X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/37e062b0ed475fb6d9030f05b353c4fb79b7c6e5..6ee8e3e93b79b7c92246d7d520d5a24be59e5807:/layout.c?ds=sidebyside diff --git a/layout.c b/layout.c index 26e9de6..abdf30f 100644 --- a/layout.c +++ b/layout.c @@ -198,11 +198,9 @@ setlayout(const char *arg) { int i; if(!arg) { - for(i = 0; i < nlayouts && lt != &layout[i]; i++); - if(i == nlayouts - 1) - lt = &layout[0]; - else - lt = &layout[++i]; + lt++; + if(lt == layout + nlayouts) + lt = layout; } else { i = atoi(arg); @@ -218,7 +216,10 @@ setlayout(const char *arg) { void togglebar(const char *arg) { - bpos = (bpos == BarOff) ? BARPOS : BarOff; + if(bpos == BarOff) + bpos = (BARPOS == BarOff) ? BarTop : BARPOS; + else + bpos = BarOff; updatebarpos(); lt->arrange(); } @@ -246,7 +247,7 @@ void zoom(const char *arg) { Client *c; - if(!sel || lt->arrange != tile || sel->isfloating) + if(!sel || lt->arrange == floating || sel->isfloating) return; if((c = sel) == nexttiled(clients)) if(!(c = nexttiled(c->next)))