diff --git a/dvtm.c b/dvtm.c index e337061..42809ad 100644 --- a/dvtm.c +++ b/dvtm.c @@ -220,6 +220,7 @@ extern Screen screen; static unsigned int waw, wah, wax, way; static Client *clients = NULL; static char *title; +static KeyCombo keys; #include "config.h" @@ -345,6 +346,15 @@ drawbar(void) { attrset(TAG_NORMAL); addstr(layout->symbol); + if(keys) { + unsigned int keycount = 0; + while (keycount < MAX_KEYS && keys[keycount]) + if (keys[keycount] < ' ') + printw("^%c", 'a' - 1 + keys[keycount++]); + else + printw("%c", keys[keycount++]); + } + getyx(stdscr, y, x); (void)y; int maxwidth = screen.w - x - 2; @@ -1710,7 +1720,6 @@ parse_args(int argc, char *argv[]) { int main(int argc, char *argv[]) { - KeyCombo keys; unsigned int key_index = 0; memset(keys, 0, sizeof(keys)); sigset_t emptyset, blockset; @@ -1797,6 +1806,9 @@ main(int argc, char *argv[]) { memset(keys, 0, sizeof(keys)); keypress(code); } + drawbar(); + if (is_content_visible(sel)) + wnoutrefresh(sel->window); } if (r == 1) /* no data available on pty's */ continue;