From 52db51175b12de456979f9c696f66df1e1142249 Mon Sep 17 00:00:00 2001 From: bakkeby Date: Mon, 23 Mar 2020 16:18:18 +0100 Subject: [PATCH] Bug failing to close the last window using the centered floating master layout, ref. #20 --- patch/centeredfloatingmaster.c | 6 ++++-- patch/flextile-deluxe.c | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/patch/centeredfloatingmaster.c b/patch/centeredfloatingmaster.c index 4ceedeb..80168ef 100644 --- a/patch/centeredfloatingmaster.c +++ b/patch/centeredfloatingmaster.c @@ -78,8 +78,10 @@ centeredfloatingmaster(Monitor *m) #else mx += WIDTH(c); #endif - detachstack(c); - attachstack(c); + if (n > 1) { + detachstack(c); + attachstack(c); + } } else { /* stack clients are stacked horizontally */ #if CFACTS_PATCH diff --git a/patch/flextile-deluxe.c b/patch/flextile-deluxe.c index f336e27..2b579e7 100644 --- a/patch/flextile-deluxe.c +++ b/patch/flextile-deluxe.c @@ -1,4 +1,4 @@ -typedef struct { +atypedef struct { void (*arrange)(Monitor *, int, int, int, int, int, int, int); } LayoutArranger; @@ -316,7 +316,8 @@ layout_floating_master_fixed(Monitor *m, int x, int y, int h, int w, int ih, int y = y + (h - mh) / 2; (&flextiles[m->ltaxis[MASTER]])->arrange(m, x, y, mh, mw, ih, iv, n, m->nmaster, 0); - reattachstack(m, m->nmaster, 0); + if (n > 1) + reattachstack(m, m->nmaster, 0); restack(m); }