aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar lvgx <l@vgx.fr>2020-09-29 16:13:57 +0200
committerGravatar GitHub <noreply@github.com>2020-09-29 16:13:57 +0200
commitd1d4c4ad22869996e23e0f3206ccc8caa958aa54 (patch)
treea0cabb26ec113b56867af41b0beb721da36ac00e
parentd9c0c0869888d3d9ade301de3280e0d4570d53e0 (diff)
downloadnnn-d1d4c4ad22869996e23e0f3206ccc8caa958aa54.tar.gz
Snap to edges in no rollover multiline scroll mode
-rw-r--r--src/nnn.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/nnn.c b/src/nnn.c
index f97ad21..de671f3 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5972,15 +5972,21 @@ nochange:
}
#if NCURSES_MOUSE_VERSION > 1
/* Scroll up */
- if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur >= scroll_lines)) {
- move_cursor((cur + ndents - scroll_lines) % ndents, 0);
+ if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) {
+ if(!cfg.rollover && cur < scroll_lines)
+ move_cursor(0,0);
+ else
+ move_cursor((cur + ndents - scroll_lines) % ndents, 0);
break;
}
/* Scroll down */
if (event.bstate == BUTTON5_PRESSED && ndents
- && (cfg.rollover || (cur + scroll_lines < ndents))) {
- move_cursor((cur + scroll_lines) % ndents, 0);
+ && (cfg.rollover || (cur != ndents - 1))) {
+ if(!cfg.rollover && cur >= ndents - scroll_lines)
+ move_cursor(ndents-1, 0);
+ else
+ move_cursor((cur + scroll_lines) % ndents, 0);
break;
}
#endif