diff options
author | lvgx <l@vgx.fr> | 2020-09-29 16:13:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-29 16:13:57 +0200 |
commit | d1d4c4ad22869996e23e0f3206ccc8caa958aa54 (patch) | |
tree | a0cabb26ec113b56867af41b0beb721da36ac00e | |
parent | d9c0c0869888d3d9ade301de3280e0d4570d53e0 (diff) | |
download | nnn-d1d4c4ad22869996e23e0f3206ccc8caa958aa54.tar.gz |
Snap to edges in no rollover multiline scroll mode
-rw-r--r-- | src/nnn.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -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 |