diff options
author | nicm <nicm> | 2017-06-03 07:15:23 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-06-03 07:15:23 +0000 |
commit | 493a1846d070f647655bed663c1cb444ee132093 (patch) | |
tree | 84e8623b6dbfaba586935f8883dca607368b3afd /tty.c | |
parent | 248aa54bfdef25ff95db3c3426651f9894c652c5 (diff) | |
download | rtmux-493a1846d070f647655bed663c1cb444ee132093.tar.gz rtmux-493a1846d070f647655bed663c1cb444ee132093.tar.bz2 rtmux-493a1846d070f647655bed663c1cb444ee132093.zip |
Foreground colours with the bright attribute set need to use the bright
entries in the palette. GitHub issue 954.
Diffstat (limited to 'tty.c')
-rw-r--r-- | tty.c | 25 |
1 files changed, 17 insertions, 8 deletions
@@ -1841,10 +1841,18 @@ tty_check_fg(struct tty *tty, const struct window_pane *wp, u_int colours; int c; - /* Perform substitution if this pane has a palette */ - if ((~gc->flags & GRID_FLAG_NOPALETTE) && - (c = window_pane_get_palette(wp, gc->fg)) != -1) - gc->fg = c; + /* + * Perform substitution if this pane has a palette. If the bright + * attribute is set, use the bright entry in the palette by changing to + * the aixterm colour. + */ + if (~gc->flags & GRID_FLAG_NOPALETTE) { + c = gc->fg; + if (gc->fg < 8 && gc->attr & GRID_ATTR_BRIGHT) + c += 90; + if ((c = window_pane_get_palette(wp, c)) != -1) + gc->fg = c; + } /* Is this a 24-bit colour? */ if (gc->fg & COLOUR_FLAG_RGB) { @@ -1894,10 +1902,11 @@ tty_check_bg(struct tty *tty, const struct window_pane *wp, u_int colours; int c; - /* Perform substitution if this pane has a palette */ - if ((~gc->flags & GRID_FLAG_NOPALETTE) && - (c = window_pane_get_palette(wp, gc->bg)) != -1) - gc->bg = c; + /* Perform substitution if this pane has a palette. */ + if (~gc->flags & GRID_FLAG_NOPALETTE) { + if ((c = window_pane_get_palette(wp, gc->bg)) != -1) + gc->bg = c; + } /* Is this a 24-bit colour? */ if (gc->bg & COLOUR_FLAG_RGB) { |