simplify cyclepane logic - sfeed_curses - sfeed curses UI (now part of sfeed, d… | |
git clone git://git.codemadness.org/sfeed_curses | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 18bd36ede3a9d2ea2f8dbad50a3ce0858d272584 | |
parent d4b43904cf55ed616524e241ae5e4b191e1e22d5 | |
Author: Hiltjo Posthuma <[email protected]> | |
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(-) | |
--- | |
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': |