diff options
author | ache <ache@FreeBSD.org> | 2000-06-05 22:16:11 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2000-06-05 22:16:11 +0000 |
commit | 68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e (patch) | |
tree | 8f0315577f378af6aa120d897665d3b3f6fc5a92 | |
parent | af7185e20dff77fb7962e8a66f6b2e1d9cf11a95 (diff) | |
download | FreeBSD-src-68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e.zip FreeBSD-src-68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e.tar.gz |
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.
-rw-r--r-- | sys/dev/syscons/scterm-sc.c | 10 |
1 files changed, 10 insertions, 0 deletions
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; |