about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ui.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/ui.c b/ui.c
index 430420e..fecd637 100644
--- a/ui.c
+++ b/ui.c
@@ -221,24 +221,34 @@ static struct {
 	struct View *tags[TagsLen];
 } views;
 
+static void uiTitle(const struct View *view) {
+	int unread;
+	char *str;
+	int len = asprintf(
+		&str, "%s%n (%d)", view->tag.name, &unread, view->unread
+	);
+	if (len < 0) err(EX_OSERR, "asprintf");
+	if (!view->unread) str[unread] = '\0';
+	termTitle(str);
+	free(str);
+}
+
 static void uiStatus(void) {
 	wmove(ui.status, 0, 0);
 	int num = 0;
 	for (const struct View *view = views.head; view; view = view->next, ++num) {
 		if (!view->unread && view != ui.view) continue;
+		if (view == ui.view) uiTitle(view);
 		int unread;
 		wchar_t *str;
 		int len = aswprintf(
-			&str, L"%c %d:%s%n(\3%02d%d\3) ",
+			&str, L"%c %d %s %n(\3%02d%d\3) ",
 			(view == ui.view ? IRCReverse : IRCReset),
 			num, view->tag.name,
 			&unread, (view->hot ? IRCYellow : IRCDefault), view->unread
 		);
 		if (len < 0) err(EX_OSERR, "aswprintf");
-		if (!view->unread) {
-			str[unread + 0] = L' ';
-			str[unread + 1] = L'\0';
-		}
+		if (!view->unread) str[unread] = L'\0';
 		addWrap(ui.status, str);
 		free(str);
 	}
@@ -307,7 +317,6 @@ static void viewUnmark(struct View *view) {
 }
 
 static void uiView(struct View *view) {
-	termTitle(view->tag.name);
 	touchwin(view->log);
 	if (ui.view) ui.view->mark = true;
 	viewUnmark(view);
class='nohover-highlight'> Fixes the failing splits test. 2018-09-14Add tests for formatParseJune McEnroe With one currently failing so you know they're worth it. 2018-09-13Preview with nick in input windowJune McEnroe 2018-09-13Never send PRIVMSG to TagStatus or TagVerboseJune McEnroe 2018-09-13Move color selection to format.cJune McEnroe 2018-09-13Fix len for format->split at end of stringJune McEnroe 2018-09-13Avoid uninitialized x in uiReadJune McEnroe 2018-09-13Add IRCDefault to colors enumJune McEnroe 2018-09-13Return a format->split even at the end of the stringJune McEnroe 2018-09-13Fix weird tab-complete after commaJune McEnroe I have no idea why I did this. 2018-09-13Rewrite UI againJune McEnroe The persistent topic is gone and the status line is now at the top. The status formatting still needs to be reworked. I also want to try showing the nick in the input window so it really looks like your next message. 2018-09-12Add note about C-oJune McEnroe Why are there so few well usable ctrl key bindings? 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe Ridiculous. 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe