diff options
author | June McEnroe <june@causal.agency> | 2020-02-10 21:24:30 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-10 21:24:30 -0500 |
commit | 90eff04eda86e0a75b0e81960e2166193c366be7 (patch) | |
tree | b35bfb3fb04aaacea8c897a36f9a0d8e3a48dfce /ui.c | |
parent | Manually raise SIGINT from C-c (diff) | |
download | catgirl-90eff04eda86e0a75b0e81960e2166193c366be7.tar.gz catgirl-90eff04eda86e0a75b0e81960e2166193c366be7.zip |
Only write out title on uiDraw
Diffstat (limited to '')
-rw-r--r-- | ui.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/ui.c b/ui.c index 903c4af..297fd7b 100644 --- a/ui.c +++ b/ui.c @@ -268,6 +268,8 @@ void uiInit(void) { uiShow(); } +static char title[256]; + void uiDraw(void) { if (hidden) return; wnoutrefresh(status); @@ -291,6 +293,12 @@ void uiDraw(void) { BOTTOM, RIGHT ); doupdate(); + + if (!to_status_line) return; + putp(to_status_line); + putp(title); + putp(from_status_line); + fflush(stdout); } struct Style { @@ -396,21 +404,21 @@ static void statusUpdate(void) { statusAdd(buf); } wclrtoeol(status); - if (!to_status_line) return; window = windows.active; - putp(to_status_line); - printf("%s %s", self.network, idNames[window->id]); + snprintf(title, sizeof(title), "%s %s", self.network, idNames[window->id]); if (window->mark && window->unreadCount) { - printf( + snprintf( + &title[strlen(title)], sizeof(title) - strlen(title), " (%d%s)", window->unreadCount, (window->heat > Warm ? "!" : "") ); } if (otherUnread) { - printf(" (+%d%s)", otherUnread, (otherHeat > Warm ? "!" : "")); + snprintf( + &title[strlen(title)], sizeof(title) - strlen(title), + " (+%d%s)", otherUnread, (otherHeat > Warm ? "!" : "") + ); } - putp(from_status_line); - fflush(stdout); } static void mark(struct Window *window) { |