mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Fix the logic so that transition from a 256 colour to default works properly.
This commit is contained in:
parent
cd9b1b1fd3
commit
a775107f5f
10
tty.c
10
tty.c
@ -1253,19 +1253,21 @@ tty_colours(struct tty *tty, const struct grid_cell *gc, u_char *attr)
|
|||||||
tty_reset(tty);
|
tty_reset(tty);
|
||||||
else {
|
else {
|
||||||
if (fg_default &&
|
if (fg_default &&
|
||||||
fg != tc->fg && !(tc->flags & GRID_FLAG_FG256)) {
|
(tc->fg != 8 || tc->flags & GRID_FLAG_FG256)) {
|
||||||
if (have_ax)
|
if (have_ax)
|
||||||
tty_puts(tty, "\033[39m");
|
tty_puts(tty, "\033[39m");
|
||||||
else if (tc->fg != 7)
|
else if (tc->fg != 7 ||
|
||||||
|
tc->flags & GRID_FLAG_FG256)
|
||||||
tty_putcode1(tty, TTYC_SETAF, 7);
|
tty_putcode1(tty, TTYC_SETAF, 7);
|
||||||
tc->fg = 8;
|
tc->fg = 8;
|
||||||
tc->flags &= ~GRID_FLAG_FG256;
|
tc->flags &= ~GRID_FLAG_FG256;
|
||||||
}
|
}
|
||||||
if (bg_default &&
|
if (bg_default &&
|
||||||
bg != tc->bg && !(tc->flags & GRID_FLAG_BG256)) {
|
(tc->bg != 8 || tc->flags & GRID_FLAG_BG256)) {
|
||||||
if (have_ax)
|
if (have_ax)
|
||||||
tty_puts(tty, "\033[49m");
|
tty_puts(tty, "\033[49m");
|
||||||
else if (tc->bg != 0)
|
else if (tc->bg != 0 ||
|
||||||
|
tc->flags & GRID_FLAG_BG256)
|
||||||
tty_putcode1(tty, TTYC_SETAB, 0);
|
tty_putcode1(tty, TTYC_SETAB, 0);
|
||||||
tc->bg = 8;
|
tc->bg = 8;
|
||||||
tc->flags &= ~GRID_FLAG_BG256;
|
tc->flags &= ~GRID_FLAG_BG256;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user