about summary refs log tree commit diff
path: root/term.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-08-13 22:54:02 -0400
committerJune McEnroe <june@causal.agency>2018-08-13 22:54:02 -0400
commit11d445b6720d78d4fe847affb1d26ee0a552ea0f (patch)
tree2cdf54a05e04473953eed9c5a7714531d1ebbab3 /term.c
parentDon't ping self (diff)
downloadcatgirl-11d445b6720d78d4fe847affb1d26ee0a552ea0f.tar.gz
catgirl-11d445b6720d78d4fe847affb1d26ee0a552ea0f.zip
Add termTitle
Diffstat (limited to 'term.c')
-rw-r--r--term.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/term.c b/term.c
index c603d32..1266328 100644
--- a/term.c
+++ b/term.c
@@ -17,11 +17,25 @@
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "chat.h"
 
 #define PAIR(a, b) (((short)(a) << 8) | ((short)(b) & 0xFF))
 
+static bool xterm;
+
+void termInit(void) {
+	char *term = getenv("TERM");
+	xterm = term && !strncmp(term, "xterm", 5);
+}
+
+void termTitle(const char *title) {
+	if (!xterm) return;
+	printf("\33]0;%s\33\\", title);
+	fflush(stdout);
+}
+
 static void privateMode(const char *mode, bool set) {
 	printf("\33[?%s%c", mode, (set ? 'h' : 'l'));
 	fflush(stdout);