diff options
author | June McEnroe <june@causal.agency> | 2017-08-08 23:33:02 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2017-08-08 23:33:02 -0400 |
commit | a4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c (patch) | |
tree | 494b540d6f7c775215b4636e3fdf2ab94efc0a21 | |
parent | Patch termcap of rxvt-256color as well (diff) | |
download | torus-a4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c.tar.gz torus-a4898b1bd4629cc2ef0e6a3f2e245449ce9d3c8c.zip |
Check COLOR_PAIRS in client
-rwxr-xr-x | client.c | 8 |
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); |