From 4a8ee545c2f001a9d59ce1c7cafd9aa156f1976e Mon Sep 17 00:00:00 2001 From: Michael Mackus Date: Wed, 18 Jul 2018 14:54:22 -0700 Subject: Add support for underlining selected item --- src/tty.c | 4 ++++ src/tty.h | 1 + src/tty_interface.c | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/src/tty.c b/src/tty.c index ed951b3..7271307 100644 --- a/src/tty.c +++ b/src/tty.c @@ -110,6 +110,10 @@ void tty_setinvert(tty_t *tty) { tty_sgr(tty, 7); } +void tty_setunderline(tty_t *tty) { + tty_sgr(tty, 4); +} + void tty_setnormal(tty_t *tty) { tty_sgr(tty, 0); tty->fgcolor = 9; diff --git a/src/tty.h b/src/tty.h index 28c5cad..b949a46 100644 --- a/src/tty.h +++ b/src/tty.h @@ -21,6 +21,7 @@ int tty_input_ready(tty_t *tty); void tty_setfg(tty_t *tty, int fg); void tty_setinvert(tty_t *tty); +void tty_setunderline(tty_t *tty); void tty_setnormal(tty_t *tty); #define TTY_COLOR_BLACK 0 diff --git a/src/tty_interface.c b/src/tty_interface.c index 1af647c..4d4d52f 100644 --- a/src/tty_interface.c +++ b/src/tty_interface.c @@ -46,7 +46,11 @@ static void draw_match(tty_interface_t *state, const char *choice, int selected) } if (selected) +#ifdef TTY_SELECTION_UNDERLINE + tty_setunderline(tty); +#else tty_setinvert(tty); +#endif for (size_t i = 0, p = 0; choice[i] != '\0'; i++) { if (i + 1 < maxwidth) { -- cgit v1.2.3