From 3e0bea1b90951a510bc5e72632527223c49e390a Mon Sep 17 00:00:00 2001 From: Owain Ainsworth Date: Wed, 19 Mar 2008 00:18:29 +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@. --- app/cwm/client.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/cwm/client.c b/app/cwm/client.c index c01f11bd5..adbd3ab2f 100644 --- a/app/cwm/client.c +++ b/app/cwm/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