Преглед изворни кода

Support mouse scroll

This is limited to libncurses support of full mouse scrolling.
Ref: https://invisible-island.net/ncurses/man/curs_mouse.3x.html#h3-Mouse-events
master
Arun Prakash Jana пре 5 година
родитељ
комит
9b0cf4a2b9
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 измењених фајлова са 22 додато и 0 уклоњено
  1. +22
    -0
      src/nnn.c

+ 22
- 0
src/nnn.c Прегледај датотеку

@@ -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]..."


Loading…
Откажи
Сачувај