X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=inject_csi.c;h=e2b6430a28ce8a3cf481674aa590e24416f5536f;hb=7ea77f37c3d2ad6f176182e2b1441dd33e39af8c;hp=e7652aac4b590e1d418e4c52c9bdf66b37c555e2;hpb=57358ec0b92d3529774187a4176c0e8a422eaf1b;p=apps%2Fmadtty.git diff --git a/inject_csi.c b/inject_csi.c index e7652aa..e2b6430 100644 --- a/inject_csi.c +++ b/inject_csi.c @@ -75,14 +75,17 @@ static void interpret_csi_SGR(RoteTerm *rt, int param[], int pcount) { ROTE_ATTR_MOD_BOLD(rt->curattr,1); else if (param[i] == 5) /* set blink */ ROTE_ATTR_MOD_BLINK(rt->curattr,1); - else if (param[i] == 7) rt->curattr = 0x07; /* reverse video */ + else if (param[i] == 7 || param[i] == 27) { /* reverse video */ + int fg = ROTE_ATTR_FG(rt->curattr); + int bg = ROTE_ATTR_BG(rt->curattr); + ROTE_ATTR_MOD_FG(rt->curattr, bg); + ROTE_ATTR_MOD_BG(rt->curattr, fg); + } else if (param[i] == 8) rt->curattr = 0x0; /* invisible */ else if (param[i] == 22 || param[i] == 24) /* bold off */ ROTE_ATTR_MOD_BOLD(rt->curattr,0); else if (param[i] == 25) /* blink off */ ROTE_ATTR_MOD_BLINK(rt->curattr,0); - else if (param[i] == 27) /* negative off */ - rt->curattr = 0x70; else if (param[i] == 28) /* invisible off */ rt->curattr = 0x70; else if (param[i] >= 30 && param[i] <= 37) /* set fg */