diff options
author | C. McEnroe | 2020-02-04 20:46:16 -0500 |
---|---|---|
committer | C. McEnroe | 2020-02-04 20:46:16 -0500 |
commit | 55757243f48da0f0c6d2382ffe57d364c7b803c9 (patch) | |
tree | 24fb2f153839ecb919d4541e2e4d3c6fd066d559 | |
parent | de4c9df0748f8f3792f4dfc4db4eb7853679646d (diff) |
Call inputUpdate when switching windows
Because changing windows (to <network> or <debug>) will affect the prompt.
-rw-r--r-- | ui.c | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/ui.c b/ui.c index 568df8d..172120b 100644 --- a/ui.c +++ b/ui.c @@ -325,27 +325,6 @@ static void unmark(void) { statusUpdate(); } -static void windowShow(struct Window *window) { - touchwin(window->pad); - windows.other = windows.active; - windows.active = window; - windows.other->mark = true; - unmark(); -} - -void uiShowID(size_t id) { - windowShow(windowFor(id)); -} - -void uiShowNum(size_t num) { - struct Window *window = windows.head; - for (size_t i = 0; i < num; ++i) { - window = window->next; - if (!window) return; - } - windowShow(window); -} - static int wordWidth(const char *str) { size_t len = strcspn(str, " "); int width = 0; @@ -462,6 +441,7 @@ static void inputUpdate(void) { NULL ); if (self.nick) { + // TODO: Check if input is command or action. waddch(input, '<'); waddstr(input, self.nick); waddstr(input, "> "); @@ -476,6 +456,28 @@ static void inputUpdate(void) { wmove(input, y, x); } +static void windowShow(struct Window *window) { + touchwin(window->pad); + windows.other = windows.active; + windows.active = window; + windows.other->mark = true; + inputUpdate(); + unmark(); +} + +void uiShowID(size_t id) { + windowShow(windowFor(id)); +} + +void uiShowNum(size_t num) { + struct Window *window = windows.head; + for (size_t i = 0; i < num; ++i) { + window = window->next; + if (!window) return; + } + windowShow(window); +} + static void keyCode(int code) { switch (code) { break; case KEY_RESIZE:; // TODO |