diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-12 18:42:30 +0300 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-12 18:42:30 +0300 |
commit | ad4e0425a6860803e5f31a08c349cd99e02e2847 (patch) | |
tree | b6a250c795a2f7331b79e69268ffac2c347ede3d /lib/draw | |
parent | fc08cb9cffce6cdb0ca3aa9f77953e86b2cf1290 (diff) | |
download | bemenu-ad4e0425a6860803e5f31a08c349cd99e02e2847.tar.gz bemenu-ad4e0425a6860803e5f31a08c349cd99e02e2847.tar.bz2 bemenu-ad4e0425a6860803e5f31a08c349cd99e02e2847.zip |
Make page scrolling work like it should. (Shfit+pgup/pgdwn for old
behaviour)
Diffstat (limited to 'lib/draw')
-rw-r--r-- | lib/draw/curses.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/draw/curses.c b/lib/draw/curses.c index 653a07d..b54693f 100644 --- a/lib/draw/curses.c +++ b/lib/draw/curses.c @@ -198,6 +198,12 @@ static void _bmDrawCursesRender(const bmMenu *menu) curses.refresh(); } +static unsigned int _bmDrawCursesDisplayedCount(const bmMenu *menu) +{ + (void)menu; + return (curses.stdscr ? curses.getmaxy(curses.stdscr) : 0); +} + static void _bmDrawCursesEndWin(void) { freopen(TTY, "w", stdout); @@ -258,6 +264,12 @@ static bmKey _bmDrawCursesGetKey(unsigned int *unicode) case KEY_NPAGE: /* Page down */ return BM_KEY_PAGE_DOWN; + case 398: /* S-Page up */ + return BM_KEY_SHIFT_PAGE_UP; + + case 396: /* S-Page down */ + return BM_KEY_SHIFT_PAGE_DOWN; + case 8: /* C-h */ case 127: /* Delete */ case KEY_BACKSPACE: @@ -361,6 +373,7 @@ int _bmDrawCursesInit(struct _bmRenderApi *api) #undef bmLoadFunction + api->displayedCount = _bmDrawCursesDisplayedCount; api->getKey = _bmDrawCursesGetKey; api->render = _bmDrawCursesRender; api->free = _bmDrawCursesFree; |