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); |
