summary refs log tree commit diff
diff options
context:
space:
mode:
authorC. McEnroe2020-02-10 05:33:31 -0500
committerC. McEnroe2020-02-10 05:33:31 -0500
commitb9a6d35b659e5eba69897d27cee0091821fbe897 (patch)
tree2a85b8d7abc63679c703f50a9654ad3e938e1386
parent218bfbac3257f8484e62d2f047b46417be7aff94 (diff)
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.
-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);