diff options
author | nicm <nicm> | 2017-01-12 00:30:41 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-01-12 00:30:41 +0000 |
commit | 9b6aeacdc0118d97c35e822c958e925f12b513ed (patch) | |
tree | adeb0bca7aab6fcaf09f86d7cce2f79444896ae1 | |
parent | 0752fdaf6aaba298bdb7e4ba241d481c531c2b64 (diff) | |
download | rtmux-9b6aeacdc0118d97c35e822c958e925f12b513ed.tar.gz rtmux-9b6aeacdc0118d97c35e822c958e925f12b513ed.tar.bz2 rtmux-9b6aeacdc0118d97c35e822c958e925f12b513ed.zip |
aixterm colours can be used if -2 is given, as well as if TERM tells us
the terminal has >=16 colours.
-rw-r--r-- | tty.c | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -1625,13 +1625,17 @@ tty_check_fg(struct tty *tty, const struct window_pane *wp, } else return; } - colours = tty_term_number(tty->term, TTYC_COLORS); + + /* How many colours does this terminal have? */ + if ((tty->term->flags|tty->term_flags) & TERM_256COLOURS) + colours = 256; + else + colours = tty_term_number(tty->term, TTYC_COLORS); /* Is this a 256-colour colour? */ if (gc->fg & COLOUR_FLAG_256) { /* And not a 256 colour mode? */ - if (!(tty->term->flags & TERM_256COLOURS) && - !(tty->term_flags & TERM_256COLOURS)) { + if (colours != 256) { gc->fg = colour_256to16(gc->fg); if (gc->fg & 8) { gc->fg &= 7; @@ -1674,7 +1678,12 @@ tty_check_bg(struct tty *tty, const struct window_pane *wp, } else return; } - colours = tty_term_number(tty->term, TTYC_COLORS); + + /* How many colours does this terminal have? */ + if ((tty->term->flags|tty->term_flags) & TERM_256COLOURS) + colours = 256; + else + colours = tty_term_number(tty->term, TTYC_COLORS); /* Is this a 256-colour colour? */ if (gc->bg & COLOUR_FLAG_256) { @@ -1683,8 +1692,7 @@ tty_check_bg(struct tty *tty, const struct window_pane *wp, * palette. Bold background doesn't exist portably, so just * discard the bold bit if set. */ - if (!(tty->term->flags & TERM_256COLOURS) && - !(tty->term_flags & TERM_256COLOURS)) { + if (colours != 256) { gc->bg = colour_256to16(gc->bg); if (gc->bg & 8) { gc->bg &= 7; |