X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=inline;f=view.c;h=2f2d42a2cde19d27946491e210d8b12b49f11157;hb=1d4a24dae02cfb3a3241c3d293e96dba910317bd;hp=503f1c2ba46377e2fad3b60d2332b0c5fc320ad4;hpb=e9cfae7aba1c8eafd827854705bf0d11d2de2dfb;p=dwm.git diff --git a/view.c b/view.c index 503f1c2..2f2d42a 100644 --- a/view.c +++ b/view.c @@ -2,6 +2,7 @@ * See LICENSE file for license details. */ #include "dwm.h" +#include /* static */ @@ -149,10 +150,15 @@ focusprev(Arg *arg) { void incnmaster(Arg *arg) { - if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) + if((arrange == dofloat) || (nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) return; nmaster += arg->i; - arrange(); + snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); + bmw = textw(mtext); + if(sel) + arrange(); + else + drawstatus(); } Bool @@ -218,6 +224,8 @@ togglefloat(Arg *arg) { void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; + snprintf(mtext, sizeof mtext, arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, nmaster); + bmw = textw(mtext); if(sel) arrange(); else @@ -260,14 +268,14 @@ zoom(Arg *arg) { for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) n++; - c = sel; - if((arrange != dofloat) && c != nexttiled(clients)) { - detach(c); - if(clients) - clients->prev = c; - c->next = clients; - clients = c; - focus(c); - arrange(); - } + if((c = sel) == nexttiled(clients)) + if(!(c = nexttiled(c->next))) + return; + detach(c); + if(clients) + clients->prev = c; + c->next = clients; + clients = c; + focus(c); + arrange(); }