Charlie Kester <corky1...@comcast.net> writes: > When I set the terminal options to 256-color, everything on the screen > starts blinking! > > I'm using iTerm 0.9.6.1201 on OS X Leopard (10.5.6) and have the > terminal emulation set as xterm-color.
iTerm apparently requires that the command to choose one color out of 256 is the only thing in the SGR control sequence. Try this untested patch to iTerm. Index: VT100Terminal.m =================================================================== --- VT100Terminal.m (revision 1698) +++ VT100Terminal.m (working copy) @@ -2329,15 +2329,15 @@ BG_COLORCODE = DEFAULT_BG_COLOR_CODE; break; case VT100CHARATTR_FG_256: - if (token.u.csi.count==3 && i==0 && token.u.csi.p[1]==5) { - FG_COLORCODE = token.u.csi.p[2]; - i =2; + if (token.u.csi.count-i >= 3 && token.u.csi.p[i+1]==5) { + FG_COLORCODE = token.u.csi.p[i+2]; + i += 2; } break; case VT100CHARATTR_BG_256: - if (token.u.csi.count==3 && i==0 && token.u.csi.p[1]==5) { - BG_COLORCODE = token.u.csi.p[2]; - i=2; + if (token.u.csi.count-i >= 3 && token.u.csi.p[i+1]==5) { + BG_COLORCODE = token.u.csi.p[i+2]; + i += 2; } break; default: Or this untested patch to ELinks. diff --git a/src/terminal/screen.c b/src/terminal/screen.c index 8f838a6..eb467b9 100644 --- a/src/terminal/screen.c +++ b/src/terminal/screen.c @@ -756,7 +756,7 @@ add_char16(struct string *screen, struct screen_driver *driver, #if defined(CONFIG_88_COLORS) || defined(CONFIG_256_COLORS) static const struct string color256_seqs[] = { - /* foreground: */ TERM_STRING("\033[0;38;5;%dm"), + /* foreground: */ TERM_STRING("\033[m\033[38;5;%dm"), /* background: */ TERM_STRING("\033[48;5;%dm"), }; _______________________________________________ elinks-users mailing list elinks-users@linuxfromscratch.org http://linuxfromscratch.org/mailman/listinfo/elinks-users