From 68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 5 Jun 2000 22:16:11 +0000 Subject: Implement ANSI E[39m and E[49m to set fg and bg to initial (not to default!) values. E[x is bad because set them to default values and should be used only in reset sequence. --- sys/dev/syscons/scterm-sc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sys/dev/syscons') diff --git a/sys/dev/syscons/scterm-sc.c b/sys/dev/syscons/scterm-sc.c index 10d70ad..ead9ae1 100644 --- a/sys/dev/syscons/scterm-sc.c +++ b/sys/dev/syscons/scterm-sc.c @@ -406,6 +406,11 @@ scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c) tcp->cur_color.fg = ansi_col[n - 30]; tcp->cur_attr = mask2attr(tcp); break; + case 39: + tcp->attr_mask &= ~FG_CHANGED; + tcp->cur_color.fg = tcp->std_color.fg; + tcp->cur_attr = mask2attr(tcp); + break; case 40: case 41: /* set bg color */ case 42: case 43: case 44: case 45: case 46: case 47: @@ -413,6 +418,11 @@ scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c) tcp->cur_color.bg = ansi_col[n - 40]; tcp->cur_attr = mask2attr(tcp); break; + case 49: + tcp->attr_mask &= ~BG_CHANGED; + tcp->cur_color.bg = tcp->std_color.bg; + tcp->cur_attr = mask2attr(tcp); + break; } } break; -- cgit v1.1