diff options
| author | C. McEnroe | 2020-02-10 05:33:31 -0500 | 
|---|---|---|
| committer | C. McEnroe | 2020-02-10 05:33:31 -0500 | 
| commit | b9a6d35b659e5eba69897d27cee0091821fbe897 (patch) | |
| tree | 2a85b8d7abc63679c703f50a9654ad3e938e1386 | |
| parent | 218bfbac3257f8484e62d2f047b46417be7aff94 (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.c | 6 | 
1 files changed, 4 insertions, 2 deletions
@@ -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);  | 
