simplify cyclepane logic - sfeed_curses - sfeed curses UI (now part of sfeed, development is in sfeed)
 (HTM) git clone git://git.codemadness.org/sfeed_curses
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 18bd36ede3a9d2ea2f8dbad50a3ce0858d272584
 (DIR) parent d4b43904cf55ed616524e241ae5e4b191e1e22d5
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Wed, 10 Mar 2021 17:18:50 +0100
       
       simplify cyclepane logic
       
       The behaviour of switching panes if the sidebar is hidden is different now. It
       will be addressed in an upcoming commit implementing layouts.
       
       Diffstat:
         M sfeed_curses.c                      |      47 +++++--------------------------
       
       1 file changed, 7 insertions(+), 40 deletions(-)
       ---
 (DIR) diff --git a/sfeed_curses.c b/sfeed_curses.c
       @@ -816,43 +816,6 @@ pane_draw(struct pane *p)
                        pane_row_draw(p, y + pos, (y + pos) == p->pos);
        }
        
       -/* Cycle visible pane in a direction, but don't cycle back. */
       -void
       -cyclepanen(int n)
       -{
       -        int i;
       -
       -        if (n < 0) {
       -                n = -n; /* absolute */
       -                for (i = selpane; n && i - 1 >= 0; i--) {
       -                        if (panes[i - 1].hidden)
       -                                continue;
       -                        n--;
       -                        selpane = i - 1;
       -                }
       -        } else if (n > 0) {
       -                for (i = selpane; n && i + 1 < LEN(panes); i++) {
       -                        if (panes[i + 1].hidden)
       -                                continue;
       -                        n--;
       -                        selpane = i + 1;
       -                }
       -        }
       -}
       -
       -/* Cycle visible panes. */
       -void
       -cyclepane(void)
       -{
       -        size_t i;
       -
       -        i = selpane;
       -        cyclepanen(+1);
       -        /* reached end, cycle back to first most-visible */
       -        if (i == selpane)
       -                cyclepanen(-PaneLast);
       -}
       -
        void
        updategeom(void)
        {
       @@ -1952,14 +1915,18 @@ keydown:
                                break;
        keyleft:
                        case 'h':
       -                        cyclepanen(-1);
       +                        if (selpane == PaneFeeds)
       +                                break;
       +                        selpane = PaneFeeds;
                                break;
        keyright:
                        case 'l':
       -                        cyclepanen(+1);
       +                        if (selpane == PaneItems)
       +                                break;
       +                        selpane = PaneItems;
                                break;
                        case '\t':
       -                        cyclepane();
       +                        selpane = selpane == PaneFeeds ? PaneItems : PaneFeeds;
                                break;
        startpos:
                        case 'g':