about summary refs log tree commit diff homepage
path: root/client.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2017-08-08 23:33:02 -0400
committerJune McEnroe <june@causal.agency>2017-08-08 23:33:02 -0400
commita4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c (patch)
tree494b540d6f7c775215b4636e3fdf2ab94efc0a21 /client.c
parentPatch termcap of rxvt-256color as well (diff)
downloadtorus-a4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c.tar.gz
torus-a4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c.zip
Check COLOR_PAIRS in client
Diffstat (limited to 'client.c')
-rwxr-xr-xclient.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/client.c b/client.c
index 8761f04..fa49950 100755
--- a/client.c
+++ b/client.c
@@ -337,10 +337,16 @@ static void initColors(void) {
     if (!has_colors()) {
         endwin();
         fprintf(stderr, "Sorry, your terminal doesn't support colors!\n");
-        fprintf(stderr, "I only need 16, I promise.\n");
+        fprintf(stderr, "If you think it does, check TERM.\n");
         exit(EX_CONFIG);
     }
     start_color();
+    if (COLOR_PAIRS < 103) { // I don't know why, but that's what works.
+        endwin();
+        fprintf(stderr, "Sorry, your terminal doesn't support enough color pairs!\n");
+        fprintf(stderr, "You probably just need to set TERM=$TERM-256color.\n");
+        exit(EX_CONFIG);
+    }
     for (int bg = COLOR_BLACK; bg < COLOR_BRIGHT; ++bg) {
         for (int fg = COLOR_BLACK; fg < COLOR_BRIGHT; ++fg) {
             init_pair(bg << 4 | fg, fg, bg);