From: David Herrmann Date: Sun, 5 Oct 2014 13:49:26 +0000 (+0200) Subject: terminal/screen: perform bold->light conversion only on foreground X-Git-Tag: v217~308 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=34dbefceb1377ccd7871e183d7791f76fe879e73;p=elogind.git terminal/screen: perform bold->light conversion only on foreground Bold glyphs always use light colors. However, this color conversion is limited to the foreground color, so skip it for backgrounds. --- diff --git a/src/libsystemd-terminal/term-parser.c b/src/libsystemd-terminal/term-parser.c index 8ec6345d6..d8206a46b 100644 --- a/src/libsystemd-terminal/term-parser.c +++ b/src/libsystemd-terminal/term-parser.c @@ -100,8 +100,8 @@ static uint32_t term_color_to_argb32(const term_color *color, const term_attr *a case TERM_CCODE_BLACK ... TERM_CCODE_LIGHT_WHITE: t = color->ccode - TERM_CCODE_BLACK; - /* bold causes light colors */ - if (t < 8 && attr->bold) + /* bold causes light colors (only for foreground colors) */ + if (t < 8 && attr->bold && color == &attr->fg) t += 8; r = palette[t * 3 + 0];