summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-10 05:33:31 -0500
committerJune McEnroe <june@causal.agency>2020-02-10 05:33:31 -0500
commitb9a6d35b659e5eba69897d27cee0091821fbe897 (patch)
tree2a85b8d7abc63679c703f50a9654ad3e938e1386 /ui.c
parentSupport all 99 IRC colors (diff)
downloadcatgirl-b9a6d35b659e5eba69897d27cee0091821fbe897.tar.gz
catgirl-b9a6d35b659e5eba69897d27cee0091821fbe897.zip
Improve color fudging
Prevent fudged colors from ever being pure black. Distribute fudged
colors between normal and bold if COLORS is 8. Fudge colors before
checking if it's a pre-allocated pair.
Diffstat (limited to '')
-rw-r--r--ui.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ui.c b/ui.c
index e36585a..3f730d2 100644
--- a/ui.c
+++ b/ui.c
@@ -133,13 +133,15 @@ static void colorInit(void) {
 }
 
 static attr_t colorAttr(short fg) {
-	return (fg >= COLORS && fg < 16 ? A_BOLD : A_NORMAL);
+	if (fg != COLOR_BLACK && fg % COLORS == COLOR_BLACK) return A_BOLD;
+	if (COLORS > 8) return A_NORMAL;
+	return (fg / COLORS & 1 ? A_BOLD : A_NORMAL);
 }
 
 static short colorPair(short fg, short bg) {
-	if (bg == -1 && fg < 16) return 1 + fg;
 	fg %= COLORS;
 	bg %= COLORS;
+	if (bg == -1 && fg < 16) return 1 + fg;
 	for (short pair = 17; pair < colorPairs; ++pair) {
 		short f, b;
 		pair_content(pair, &f, &b);
='2019-11-07 22:32:37 -0500'>2019-11-07Include path in readlinkat errorJune McEnroe 2019-11-07Call clientConsume before clientRecvJune McEnroe This might reduce the frequency of a client getting its own message back because it was behind in the ring when it sent it. 2019-11-06Use -l:filename in Linux.mkJune McEnroe 2019-11-06Fix compat.h for #defined strlcpyJune McEnroe 2019-11-06Allow unsetting LIBRESSL_PREFIXJune McEnroe 2019-11-06Document calico service configurationJune McEnroe 2019-11-06Document SASL EXTERNAL configuration in more detailJune McEnroe 2019-11-06Document pounce service configurationJune McEnroe 2019-11-06Mention Darwin and GNU/Linux in READMEJune McEnroe 2019-11-06Assume LibreSSL from brew on DarwinJune McEnroe 2019-11-06Remove -DNO_EXPLICIT_BZERO from Darwin.mkJune McEnroe 2019-11-06Don't install rc scripts or dirs on LinuxJune McEnroe