From aa557f6e5121c3fd1988883be90eb4ee74d76bfa Mon Sep 17 00:00:00 2001 From: Ivan Kanakarakis Date: Sun, 5 Aug 2012 21:04:23 +0300 Subject: on FLOAT mode do not mark tiled clients as floating this results in instant tiling of non-floating clients when switching mode away from FLOAT. this seems to be more expected. reference: https://bbs.archlinux.org/viewtopic.php?pid=1142030#p1142030 --- monsterwm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'monsterwm.c') diff --git a/monsterwm.c b/monsterwm.c index b6d71de..4673e84 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -1070,10 +1070,8 @@ void swap_master(void) { */ void switch_mode(const Arg *arg) { Desktop *d = &desktops[currdeskidx]; - if (d->mode == arg->i && d->mode != FLOAT) - for (Client *c = d->head; c; c = c->next) c->isfloat = False; - if ((d->mode = arg->i) == FLOAT) - for (Client *c = d->head; c; c = c->next) c->isfloat = True; + if (d->mode != arg->i) d->mode = arg->i; + else if (d->mode != FLOAT) for (Client *c = d->head; c; c = c->next) c->isfloat = False; if (d->head) { tile(d); focus(d->curr, d); } desktopinfo(); } -- cgit v1.3.1