diff options
-rw-r--r-- | src/nnn.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -911,7 +911,12 @@ static bool initcurses(void) nonl(); //intrflush(stdscr, FALSE); keypad(stdscr, TRUE); +#if NCURSES_MOUSE_VERSION <= 1 mousemask(BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED | BUTTON2_CLICKED, NULL); +#else + mousemask(BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED | BUTTON2_CLICKED + | BUTTON4_PRESSED | BUTTON5_PRESSED, NULL); +#endif mouseinterval(400); curs_set(FALSE); /* Hide cursor */ start_color(); @@ -3355,6 +3360,23 @@ nochange: goto begin; } +#if NCURSES_MOUSE_VERSION > 1 + if (event.bstate == BUTTON4_PRESSED || event.bstate == BUTTON5_PRESSED) + { + /* Scroll up */ + if (event.bstate == BUTTON4_PRESSED && ndents) { + move_cursor((cur + ndents - 1) % ndents, 0); + break; + } + + /* Scroll down */ + if (event.bstate == BUTTON5_PRESSED && ndents) { + move_cursor((cur + 1) % ndents, 0); + break; + } + } +#endif + // Handle clicking on a context at the top: if (event.y == 0) { // Get context from: "[1 2 3 4]..." |