aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
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