diff options
| author | C. McEnroe | 2020-02-10 21:24:30 -0500 | 
|---|---|---|
| committer | C. McEnroe | 2020-02-10 21:24:30 -0500 | 
| commit | 90eff04eda86e0a75b0e81960e2166193c366be7 (patch) | |
| tree | b35bfb3fb04aaacea8c897a36f9a0d8e3a48dfce | |
| parent | 47a0bf7fc2b9a462a6b1d6e76f0b9a137cbef791 (diff) | |
Only write out title on uiDraw
| -rw-r--r-- | ui.c | 22 | 
1 files changed, 15 insertions, 7 deletions
@@ -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) {  | 
