diff options
author | June McEnroe <june@causal.agency> | 2020-02-10 22:05:02 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-10 22:05:02 -0500 |
commit | bf86a4749f93de47d45309028d97ea3a0b7f0c7a (patch) | |
tree | 5914b74a7a08f1129fc424d4408babdca12ea0bc /ui.c | |
parent | Only write out title if it has changed (diff) | |
download | catgirl-bf86a4749f93de47d45309028d97ea3a0b7f0c7a.tar.gz catgirl-bf86a4749f93de47d45309028d97ea3a0b7f0c7a.zip |
Invalidate title on uiShow
Diffstat (limited to '')
-rw-r--r-- | ui.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/ui.c b/ui.c index dcfb607..6c9606d 100644 --- a/ui.c +++ b/ui.c @@ -168,23 +168,6 @@ static const char *ExitFocusMode = "\33[?1004l"; static const char *EnterPasteMode = "\33[?2004h"; static const char *ExitPasteMode = "\33[?2004l"; -static bool hidden; -static bool waiting; - -void uiShow(void) { - putp(EnterFocusMode); - putp(EnterPasteMode); - fflush(stdout); - hidden = false; -} - -void uiHide(void) { - hidden = true; - putp(ExitFocusMode); - putp(ExitPasteMode); - endwin(); -} - // Gain use of C-q, C-s, C-c, C-z, C-y, C-o. static void acquireKeys(void) { struct termios term; @@ -268,7 +251,11 @@ void uiInit(void) { uiShow(); } +static bool hidden; +static bool waiting; + static char title[256]; +static char prevTitle[sizeof(title)]; void uiDraw(void) { if (hidden) return; @@ -293,18 +280,31 @@ void uiDraw(void) { BOTTOM, RIGHT ); doupdate(); - if (!to_status_line) return; - static char prevTitle[sizeof(title)]; + if (!to_status_line) return; if (!strcmp(title, prevTitle)) return; strcpy(prevTitle, title); - putp(to_status_line); putp(title); putp(from_status_line); fflush(stdout); } +void uiShow(void) { + prevTitle[0] = '\0'; + putp(EnterFocusMode); + putp(EnterPasteMode); + fflush(stdout); + hidden = false; +} + +void uiHide(void) { + hidden = true; + putp(ExitFocusMode); + putp(ExitPasteMode); + endwin(); +} + struct Style { attr_t attr; enum Color fg, bg; |