From cc09aae7348b01d59555a18f666a9e3231cf0984 Mon Sep 17 00:00:00 2001 From: Reginald Kennedy Date: Sun, 28 Apr 2013 05:30:59 +0800 Subject: [PATCH] Fix positioning issue on flipped layouts with a multi-column/row stack. --- spectrwm.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/spectrwm.c b/spectrwm.c index 1e20562..5bf74b1 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -4259,20 +4259,24 @@ stack_master(struct workspace *ws, struct swm_geometry *g, int rot, int flip) colno = (winno - mwin) / stacks; if (s <= (winno - mwin) % stacks) colno++; - split = split + colno; - hrh = (r_g.h / colno); + split += colno; + hrh = r_g.h / colno; extra = r_g.h - (colno * hrh); - if (flip) - win_g.x = r_g.x; - else + + if (!flip) win_g.x += win_g.w + 2 * border_width + tile_gap; + win_g.w = (r_g.w - msize - (stacks * (2 * border_width + tile_gap))) / stacks; if (s == 1) win_g.w += (r_g.w - msize - (stacks * (2 * border_width + tile_gap))) % stacks; + + if (flip) + win_g.x -= win_g.w + 2 * border_width + + tile_gap; s--; j = 0; } -- 1.7.10.4