From 7644f9dcec63b407725bbc5ab484870e1b8da794 Mon Sep 17 00:00:00 2001 From: oga Date: Wed, 19 Mar 2008 00:18:28 +0000 Subject: As mentioned in my last commit, there was an issue where the switching code would always assume that the number of windows to switch to was three if there were more windows hidden. Check for CLIENT_HIDDEN when we count. Now it counts correctly. ok simon@. --- client.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'client.c') diff --git a/client.c b/client.c index c01f11b..adbd3ab 100644 --- a/client.c +++ b/client.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: client.c,v 1.11 2008/01/16 11:39:20 oga Exp $ + * $Id: client.c,v 1.12 2008/03/19 00:18:28 oga Exp $ */ #include "headers.h" @@ -642,17 +642,21 @@ client_cyclenext(int reverse) void client_cycleinfo(struct client_ctx *cc) { +#define LISTSIZE 3 int w, h, nlines, i, n, oneh, curn = -1, x, y, diff; - struct client_ctx *ccc, *list[3]; + struct client_ctx *ccc, *list[LISTSIZE]; struct screen_ctx *sc = CCTOSC(cc); struct fontdesc *font = DefaultFont; memset(list, 0, sizeof(list)); nlines = 0; - TAILQ_FOREACH(ccc, &sc->mruq, mru_entry) - nlines++; - nlines = MIN(nlines, 3); + TAILQ_FOREACH(ccc, &sc->mruq, mru_entry) { + if (!ccc->flags & CLIENT_HIDDEN) { + if (++nlines == LISTSIZE) + break; + } + } oneh = font_ascent(font) + font_descent(font) + 1; h = nlines*oneh; -- cgit v1.2.3-2-gb3c3