From bfa0029f3e734ce5fda6e96dc74ed4f4a96556f6 Mon Sep 17 00:00:00 2001 From: TheJackiMonster Date: Fri, 25 Feb 2022 11:17:36 +0100 Subject: Added simple test menu Signed-off-by: TheJackiMonster --- src/messenger_cli.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/messenger_cli.c b/src/messenger_cli.c index 97ab83d..558170f 100644 --- a/src/messenger_cli.c +++ b/src/messenger_cli.c @@ -49,8 +49,11 @@ run (void *cls, char* const* args, getmaxyx(stdscr, my, mx); WINDOW *win = newwin(15, 30, by + (my - by - 15) / 2, bx + (mx - bx - 30) / 2); - - char c; + keypad(win, TRUE); + + int selected = 0; + + int c; do { getbegyx(stdscr, by, bx); getmaxyx(stdscr, my, mx); @@ -76,8 +79,20 @@ run (void *cls, char* const* args, box(win, 0, 0); wmove(win, 1, 1); - wprintw(win, "%d %d, %d %d", bx, by, mx, my); + wprintw(win, "%d %d, %d %d | %d %d", bx, by, mx, my, c, KEY_DOWN); + + const int attrs_select = A_BOLD; + for (int i = 0; i < 5; i++) { + if (i == selected) wattron(win, attrs_select); + + wmove(win, i+2, 1); + wprintw(win, "Option %d", i+1); + + if (i == selected) wattroff(win, attrs_select); + } + + wmove(win, 7, 1); c = wgetch(win); } else @@ -85,6 +100,9 @@ run (void *cls, char* const* args, c = getch(); } + if (KEY_UP == c) selected = (selected > 0? selected - 1 : 0); + else if (KEY_DOWN == c) selected = (selected < 4? selected + 1 : 4); + clear(); refresh(); } while (c != 'q'); -- cgit v1.2.3