|
|
simplify cyclepane logic - sfeed_curses - sfeed curses UI (now part of sfeed, development is in sfeed) |
|
|
 |
git clone git://git.codemadness.org/sfeed_curses (git://git.codemadness.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
 |
commit 18bd36ede3a9d2ea2f8dbad50a3ce0858d272584 |
|
|
 |
parent d4b43904cf55ed616524e241ae5e4b191e1e22d5 |
|
|
 |
Author: Hiltjo Posthuma <hiltjo@codemadness.org> (mailto://) |
application/vnd.lotus-organizer |
|
|
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': |
|