diff options
author | nicm <nicm> | 2022-08-15 08:54:03 +0000 |
---|---|---|
committer | nicm <nicm> | 2022-08-15 08:54:03 +0000 |
commit | 03149bf7f62e2c92d0e60087c52604d2dd51794f (patch) | |
tree | f7983fc30be68d04d49b36e14c12d22391946f51 | |
parent | 497021d0db40790cc9a98bb1d70ae091d170831e (diff) | |
download | rtmux-03149bf7f62e2c92d0e60087c52604d2dd51794f.tar.gz rtmux-03149bf7f62e2c92d0e60087c52604d2dd51794f.tar.bz2 rtmux-03149bf7f62e2c92d0e60087c52604d2dd51794f.zip |
Add a Nobr terminfo capability to tell tmux the terminal does not use
bright colours for bold (makes a difference to how tmux applies palette
differences). From Damien Tardy-Panis in GitHub issue 3301.
-rw-r--r-- | tmux.1 | 4 | ||||
-rw-r--r-- | tmux.h | 1 | ||||
-rw-r--r-- | tty-term.c | 1 | ||||
-rw-r--r-- | tty.c | 8 |
4 files changed, 11 insertions, 3 deletions
@@ -6430,6 +6430,10 @@ These are set automatically if the capability is present. .It Em \&Hls Set or clear a hyperlink annotation. +.It Em \&Nobr +Tell +.Nm +that the terminal does not use bright colors for bold display. .It Em \&Rect Tell .Nm @@ -514,6 +514,7 @@ enum tty_code_code { TTYC_KUP6, TTYC_KUP7, TTYC_MS, + TTYC_NOBR, TTYC_OL, TTYC_OP, TTYC_RECT, @@ -247,6 +247,7 @@ static const struct tty_term_code_entry tty_term_codes[] = { [TTYC_KUP6] = { TTYCODE_STRING, "kUP6" }, [TTYC_KUP7] = { TTYCODE_STRING, "kUP7" }, [TTYC_MS] = { TTYCODE_STRING, "Ms" }, + [TTYC_NOBR] = { TTYCODE_STRING, "Nobr" }, [TTYC_OL] = { TTYCODE_STRING, "ol" }, [TTYC_OP] = { TTYCODE_STRING, "op" }, [TTYC_RECT] = { TTYCODE_STRING, "Rect" }, @@ -2690,12 +2690,14 @@ tty_check_fg(struct tty *tty, struct colour_palette *palette, /* * 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. + * attribute is set and Nobr is not present, use the bright entry in + * the palette by changing to the aixterm colour */ if (~gc->flags & GRID_FLAG_NOPALETTE) { c = gc->fg; - if (c < 8 && gc->attr & GRID_ATTR_BRIGHT) + if (c < 8 && + gc->attr & GRID_ATTR_BRIGHT && + !tty_term_has(tty->term, TTYC_NOBR)) c += 90; if ((c = colour_palette_get(palette, c)) != -1) gc->fg = c; |