From fc89cb1ad53116e98e45df820569a80cf17d5d68 Mon Sep 17 00:00:00 2001 From: KLuka Date: Thu, 19 Mar 2015 18:26:53 +0100 Subject: [PATCH] Issue #105: Extend vt100.js to support xterm 256 colors Now we are able to catch 38 and 48 ANSI escape codes in csim funcion. This two codes define extended foreground/background color of terminal output in 256 color mode. This enables us to add CSS classes "ansi0-ansi255" and "bgAnsi0-bgAnsi255" to related output sections. Colors defined in CSS classes are the same as xterm colors. --- shellinabox/color.css | 551 +++++++++++++++++++++++++++++++++--- shellinabox/monochrome.css | 546 +++++++++++++++++++++++++++++++++-- shellinabox/styles.css | 566 ++++++++++++++++++++++++++++++++++--- shellinabox/vt100.jspp | 70 ++++- 4 files changed, 1622 insertions(+), 111 deletions(-) diff --git a/shellinabox/color.css b/shellinabox/color.css index 16a1afc..20b793e 100644 --- a/shellinabox/color.css +++ b/shellinabox/color.css @@ -1,34 +1,521 @@ /* DEFINES_COLORS */ -#vt100 .ansi0 { } -#vt100 .ansi1 { color: #cd0000; } -#vt100 .ansi2 { color: #00cd00; } -#vt100 .ansi3 { color: #cdcd00; } -#vt100 .ansi4 { color: #0000ee; } -#vt100 .ansi5 { color: #cd00cd; } -#vt100 .ansi6 { color: #00cdcd; } -#vt100 .ansi7 { color: #e5e5e5; } -#vt100 .ansi8 { color: #7f7f7f; } -#vt100 .ansi9 { color: #ff0000; } -#vt100 .ansi10 { color: #00ff00; } -#vt100 .ansi11 { color: #e8e800; } -#vt100 .ansi12 { color: #5c5cff; } -#vt100 .ansi13 { color: #ff00ff; } -#vt100 .ansi14 { color: #00ffff; } -#vt100 .ansi15 { color: #ffffff; } -#vt100 .bgAnsi0 { background-color: #000000; } -#vt100 .bgAnsi1 { background-color: #cd0000; } -#vt100 .bgAnsi2 { background-color: #00cd00; } -#vt100 .bgAnsi3 { background-color: #cdcd00; } -#vt100 .bgAnsi4 { background-color: #0000ee; } -#vt100 .bgAnsi5 { background-color: #cd00cd; } -#vt100 .bgAnsi6 { background-color: #00cdcd; } -#vt100 .bgAnsi7 { background-color: #e5e5e5; } -#vt100 .bgAnsi8 { background-color: #7f7f7f; } -#vt100 .bgAnsi9 { background-color: #ff0000; } -#vt100 .bgAnsi10 { background-color: #00ff00; } -#vt100 .bgAnsi11 { background-color: #e8e800; } -#vt100 .bgAnsi12 { background-color: #5c5cff; } -#vt100 .bgAnsi13 { background-color: #ff00ff; } -#vt100 .bgAnsi14 { background-color: #00ffff; } -#vt100 .bgAnsi15 { } +/* SYSTEM colors */ +#vt100 .ansi0 { } +#vt100 .ansi1 { color: #cd0000; } +#vt100 .ansi2 { color: #00cd00; } +#vt100 .ansi3 { color: #cdcd00; } +#vt100 .ansi4 { color: #0000ee; } +#vt100 .ansi5 { color: #cd00cd; } +#vt100 .ansi6 { color: #00cdcd; } +#vt100 .ansi7 { color: #e5e5e5; } +#vt100 .ansi8 { color: #7f7f7f; } +#vt100 .ansi9 { color: #ff0000; } +#vt100 .ansi10 { color: #00ff00; } +#vt100 .ansi11 { color: #e8e800; } +#vt100 .ansi12 { color: #5c5cff; } +#vt100 .ansi13 { color: #ff00ff; } +#vt100 .ansi14 { color: #00ffff; } +#vt100 .ansi15 { color: #ffffff; } + +/* XTERM colors - 256 color mode */ +#vt100 .ansi16 { color: #000000; } +#vt100 .ansi17 { color: #00005f; } +#vt100 .ansi18 { color: #000087; } +#vt100 .ansi19 { color: #0000af; } +#vt100 .ansi20 { color: #0000d7; } +#vt100 .ansi21 { color: #0000ff; } +#vt100 .ansi22 { color: #005f00; } +#vt100 .ansi23 { color: #005f5f; } +#vt100 .ansi24 { color: #005f87; } +#vt100 .ansi25 { color: #005faf; } +#vt100 .ansi26 { color: #005fd7; } +#vt100 .ansi27 { color: #005fff; } +#vt100 .ansi28 { color: #008700; } +#vt100 .ansi29 { color: #00875f; } +#vt100 .ansi30 { color: #008787; } +#vt100 .ansi31 { color: #0087af; } +#vt100 .ansi32 { color: #0087d7; } +#vt100 .ansi33 { color: #0087ff; } +#vt100 .ansi34 { color: #00af00; } +#vt100 .ansi35 { color: #00af5f; } +#vt100 .ansi36 { color: #00af87; } +#vt100 .ansi37 { color: #00afaf; } +#vt100 .ansi38 { color: #00afd7; } +#vt100 .ansi39 { color: #00afff; } +#vt100 .ansi40 { color: #00d700; } +#vt100 .ansi41 { color: #00d75f; } +#vt100 .ansi42 { color: #00d787; } +#vt100 .ansi43 { color: #00d7af; } +#vt100 .ansi44 { color: #00d7d7; } +#vt100 .ansi45 { color: #00d7ff; } +#vt100 .ansi46 { color: #00ff00; } +#vt100 .ansi47 { color: #00ff5f; } +#vt100 .ansi48 { color: #00ff87; } +#vt100 .ansi49 { color: #00ffaf; } +#vt100 .ansi50 { color: #00ffd7; } +#vt100 .ansi51 { color: #00ffff; } +#vt100 .ansi52 { color: #5f0000; } +#vt100 .ansi53 { color: #5f005f; } +#vt100 .ansi54 { color: #5f0087; } +#vt100 .ansi55 { color: #5f00af; } +#vt100 .ansi56 { color: #5f00d7; } +#vt100 .ansi57 { color: #5f00ff; } +#vt100 .ansi58 { color: #5f5f00; } +#vt100 .ansi59 { color: #5f5f5f; } +#vt100 .ansi60 { color: #5f5f87; } +#vt100 .ansi61 { color: #5f5faf; } +#vt100 .ansi62 { color: #5f5fd7; } +#vt100 .ansi63 { color: #5f5fff; } +#vt100 .ansi64 { color: #5f8700; } +#vt100 .ansi65 { color: #5f875f; } +#vt100 .ansi66 { color: #5f8787; } +#vt100 .ansi67 { color: #5f87af; } +#vt100 .ansi68 { color: #5f87d7; } +#vt100 .ansi69 { color: #5f87ff; } +#vt100 .ansi70 { color: #5faf00; } +#vt100 .ansi71 { color: #5faf5f; } +#vt100 .ansi72 { color: #5faf87; } +#vt100 .ansi73 { color: #5fafaf; } +#vt100 .ansi74 { color: #5fafd7; } +#vt100 .ansi75 { color: #5fafff; } +#vt100 .ansi76 { color: #5fd700; } +#vt100 .ansi77 { color: #5fd75f; } +#vt100 .ansi78 { color: #5fd787; } +#vt100 .ansi79 { color: #5fd7af; } +#vt100 .ansi80 { color: #5fd7d7; } +#vt100 .ansi81 { color: #5fd7ff; } +#vt100 .ansi82 { color: #5fff00; } +#vt100 .ansi83 { color: #5fff5f; } +#vt100 .ansi84 { color: #5fff87; } +#vt100 .ansi85 { color: #5fffaf; } +#vt100 .ansi86 { color: #5fffd7; } +#vt100 .ansi87 { color: #5fffff; } +#vt100 .ansi88 { color: #870000; } +#vt100 .ansi89 { color: #87005f; } +#vt100 .ansi90 { color: #870087; } +#vt100 .ansi91 { color: #8700af; } +#vt100 .ansi92 { color: #8700d7; } +#vt100 .ansi93 { color: #8700ff; } +#vt100 .ansi94 { color: #875f00; } +#vt100 .ansi95 { color: #875f5f; } +#vt100 .ansi96 { color: #875f87; } +#vt100 .ansi97 { color: #875faf; } +#vt100 .ansi98 { color: #875fd7; } +#vt100 .ansi99 { color: #875fff; } +#vt100 .ansi100 { color: #878700; } +#vt100 .ansi101 { color: #87875f; } +#vt100 .ansi102 { color: #878787; } +#vt100 .ansi103 { color: #8787af; } +#vt100 .ansi104 { color: #8787d7; } +#vt100 .ansi105 { color: #8787ff; } +#vt100 .ansi106 { color: #87af00; } +#vt100 .ansi107 { color: #87af5f; } +#vt100 .ansi108 { color: #87af87; } +#vt100 .ansi109 { color: #87afaf; } +#vt100 .ansi110 { color: #87afd7; } +#vt100 .ansi111 { color: #87afff; } +#vt100 .ansi112 { color: #87d700; } +#vt100 .ansi113 { color: #87d75f; } +#vt100 .ansi114 { color: #87d787; } +#vt100 .ansi115 { color: #87d7af; } +#vt100 .ansi116 { color: #87d7d7; } +#vt100 .ansi117 { color: #87d7ff; } +#vt100 .ansi118 { color: #87ff00; } +#vt100 .ansi119 { color: #87ff5f; } +#vt100 .ansi120 { color: #87ff87; } +#vt100 .ansi121 { color: #87ffaf; } +#vt100 .ansi122 { color: #87ffd7; } +#vt100 .ansi123 { color: #87ffff; } +#vt100 .ansi124 { color: #af0000; } +#vt100 .ansi125 { color: #af005f; } +#vt100 .ansi126 { color: #af0087; } +#vt100 .ansi127 { color: #af00af; } +#vt100 .ansi128 { color: #af00d7; } +#vt100 .ansi129 { color: #af00ff; } +#vt100 .ansi130 { color: #af5f00; } +#vt100 .ansi131 { color: #af5f5f; } +#vt100 .ansi132 { color: #af5f87; } +#vt100 .ansi133 { color: #af5faf; } +#vt100 .ansi134 { color: #af5fd7; } +#vt100 .ansi135 { color: #af5fff; } +#vt100 .ansi136 { color: #af8700; } +#vt100 .ansi137 { color: #af875f; } +#vt100 .ansi138 { color: #af8787; } +#vt100 .ansi139 { color: #af87af; } +#vt100 .ansi140 { color: #af87d7; } +#vt100 .ansi141 { color: #af87ff; } +#vt100 .ansi142 { color: #afaf00; } +#vt100 .ansi143 { color: #afaf5f; } +#vt100 .ansi144 { color: #afaf87; } +#vt100 .ansi145 { color: #afafaf; } +#vt100 .ansi146 { color: #afafd7; } +#vt100 .ansi147 { color: #afafff; } +#vt100 .ansi148 { color: #afd700; } +#vt100 .ansi149 { color: #afd75f; } +#vt100 .ansi150 { color: #afd787; } +#vt100 .ansi151 { color: #afd7af; } +#vt100 .ansi152 { color: #afd7d7; } +#vt100 .ansi153 { color: #afd7ff; } +#vt100 .ansi154 { color: #afff00; } +#vt100 .ansi155 { color: #afff5f; } +#vt100 .ansi156 { color: #afff87; } +#vt100 .ansi157 { color: #afffaf; } +#vt100 .ansi158 { color: #afffd7; } +#vt100 .ansi159 { color: #afffff; } +#vt100 .ansi160 { color: #d70000; } +#vt100 .ansi161 { color: #d7005f; } +#vt100 .ansi162 { color: #d70087; } +#vt100 .ansi163 { color: #d700af; } +#vt100 .ansi164 { color: #d700d7; } +#vt100 .ansi165 { color: #d700ff; } +#vt100 .ansi166 { color: #d75f00; } +#vt100 .ansi167 { color: #d75f5f; } +#vt100 .ansi168 { color: #d75f87; } +#vt100 .ansi169 { color: #d75faf; } +#vt100 .ansi170 { color: #d75fd7; } +#vt100 .ansi171 { color: #d75fff; } +#vt100 .ansi172 { color: #d78700; } +#vt100 .ansi173 { color: #d7875f; } +#vt100 .ansi174 { color: #d78787; } +#vt100 .ansi175 { color: #d787af; } +#vt100 .ansi176 { color: #d787d7; } +#vt100 .ansi177 { color: #d787ff; } +#vt100 .ansi178 { color: #d7af00; } +#vt100 .ansi179 { color: #d7af5f; } +#vt100 .ansi180 { color: #d7af87; } +#vt100 .ansi181 { color: #d7afaf; } +#vt100 .ansi182 { color: #d7afd7; } +#vt100 .ansi183 { color: #d7afff; } +#vt100 .ansi184 { color: #d7d700; } +#vt100 .ansi185 { color: #d7d75f; } +#vt100 .ansi186 { color: #d7d787; } +#vt100 .ansi187 { color: #d7d7af; } +#vt100 .ansi188 { color: #d7d7d7; } +#vt100 .ansi189 { color: #d7d7ff; } +#vt100 .ansi190 { color: #d7ff00; } +#vt100 .ansi191 { color: #d7ff5f; } +#vt100 .ansi192 { color: #d7ff87; } +#vt100 .ansi193 { color: #d7ffaf; } +#vt100 .ansi194 { color: #d7ffd7; } +#vt100 .ansi195 { color: #d7ffff; } +#vt100 .ansi196 { color: #ff0000; } +#vt100 .ansi197 { color: #ff005f; } +#vt100 .ansi198 { color: #ff0087; } +#vt100 .ansi199 { color: #ff00af; } +#vt100 .ansi200 { color: #ff00d7; } +#vt100 .ansi201 { color: #ff00ff; } +#vt100 .ansi202 { color: #ff5f00; } +#vt100 .ansi203 { color: #ff5f5f; } +#vt100 .ansi204 { color: #ff5f87; } +#vt100 .ansi205 { color: #ff5faf; } +#vt100 .ansi206 { color: #ff5fd7; } +#vt100 .ansi207 { color: #ff5fff; } +#vt100 .ansi208 { color: #ff8700; } +#vt100 .ansi209 { color: #ff875f; } +#vt100 .ansi210 { color: #ff8787; } +#vt100 .ansi211 { color: #ff87af; } +#vt100 .ansi212 { color: #ff87d7; } +#vt100 .ansi213 { color: #ff87ff; } +#vt100 .ansi214 { color: #ffaf00; } +#vt100 .ansi215 { color: #ffaf5f; } +#vt100 .ansi216 { color: #ffaf87; } +#vt100 .ansi217 { color: #ffafaf; } +#vt100 .ansi218 { color: #ffafd7; } +#vt100 .ansi219 { color: #ffafff; } +#vt100 .ansi220 { color: #ffd700; } +#vt100 .ansi221 { color: #ffd75f; } +#vt100 .ansi222 { color: #ffd787; } +#vt100 .ansi223 { color: #ffd7af; } +#vt100 .ansi224 { color: #ffd7d7; } +#vt100 .ansi225 { color: #ffd7ff; } +#vt100 .ansi226 { color: #ffff00; } +#vt100 .ansi227 { color: #ffff5f; } +#vt100 .ansi228 { color: #ffff87; } +#vt100 .ansi229 { color: #ffffaf; } +#vt100 .ansi230 { color: #ffffd7; } +#vt100 .ansi231 { color: #ffffff; } +#vt100 .ansi232 { color: #080808; } +#vt100 .ansi233 { color: #121212; } +#vt100 .ansi234 { color: #1c1c1c; } +#vt100 .ansi235 { color: #262626; } +#vt100 .ansi236 { color: #303030; } +#vt100 .ansi237 { color: #3a3a3a; } +#vt100 .ansi238 { color: #444444; } +#vt100 .ansi239 { color: #4e4e4e; } +#vt100 .ansi240 { color: #585858; } +#vt100 .ansi241 { color: #626262; } +#vt100 .ansi242 { color: #6c6c6c; } +#vt100 .ansi243 { color: #767676; } +#vt100 .ansi244 { color: #808080; } +#vt100 .ansi245 { color: #8a8a8a; } +#vt100 .ansi246 { color: #949494; } +#vt100 .ansi247 { color: #9e9e9e; } +#vt100 .ansi248 { color: #a8a8a8; } +#vt100 .ansi249 { color: #b2b2b2; } +#vt100 .ansi250 { color: #bcbcbc; } +#vt100 .ansi251 { color: #c6c6c6; } +#vt100 .ansi252 { color: #d0d0d0; } +#vt100 .ansi253 { color: #dadada; } +#vt100 .ansi254 { color: #e4e4e4; } +#vt100 .ansi255 { color: #eeeeee; } + +/* SYSTEM colors */ +#vt100 .bgAnsi0 { background-color: #000000; } +#vt100 .bgAnsi1 { background-color: #cd0000; } +#vt100 .bgAnsi2 { background-color: #00cd00; } +#vt100 .bgAnsi3 { background-color: #cdcd00; } +#vt100 .bgAnsi4 { background-color: #0000ee; } +#vt100 .bgAnsi5 { background-color: #cd00cd; } +#vt100 .bgAnsi6 { background-color: #00cdcd; } +#vt100 .bgAnsi7 { background-color: #e5e5e5; } +#vt100 .bgAnsi8 { background-color: #7f7f7f; } +#vt100 .bgAnsi9 { background-color: #ff0000; } +#vt100 .bgAnsi10 { background-color: #00ff00; } +#vt100 .bgAnsi11 { background-color: #e8e800; } +#vt100 .bgAnsi12 { background-color: #5c5cff; } +#vt100 .bgAnsi13 { background-color: #ff00ff; } +#vt100 .bgAnsi14 { background-color: #00ffff; } +#vt100 .bgAnsi15 { } + +/* XTERM colors - 256 color mode */ +#vt100 .bgAnsi16 { background-color: #000000; } +#vt100 .bgAnsi17 { background-color: #00005f; } +#vt100 .bgAnsi18 { background-color: #000087; } +#vt100 .bgAnsi19 { background-color: #0000af; } +#vt100 .bgAnsi20 { background-color: #0000d7; } +#vt100 .bgAnsi21 { background-color: #0000ff; } +#vt100 .bgAnsi22 { background-color: #005f00; } +#vt100 .bgAnsi23 { background-color: #005f5f; } +#vt100 .bgAnsi24 { background-color: #005f87; } +#vt100 .bgAnsi25 { background-color: #005faf; } +#vt100 .bgAnsi26 { background-color: #005fd7; } +#vt100 .bgAnsi27 { background-color: #005fff; } +#vt100 .bgAnsi28 { background-color: #008700; } +#vt100 .bgAnsi29 { background-color: #00875f; } +#vt100 .bgAnsi30 { background-color: #008787; } +#vt100 .bgAnsi31 { background-color: #0087af; } +#vt100 .bgAnsi32 { background-color: #0087d7; } +#vt100 .bgAnsi33 { background-color: #0087ff; } +#vt100 .bgAnsi34 { background-color: #00af00; } +#vt100 .bgAnsi35 { background-color: #00af5f; } +#vt100 .bgAnsi36 { background-color: #00af87; } +#vt100 .bgAnsi37 { background-color: #00afaf; } +#vt100 .bgAnsi38 { background-color: #00afd7; } +#vt100 .bgAnsi39 { background-color: #00afff; } +#vt100 .bgAnsi40 { background-color: #00d700; } +#vt100 .bgAnsi41 { background-color: #00d75f; } +#vt100 .bgAnsi42 { background-color: #00d787; } +#vt100 .bgAnsi43 { background-color: #00d7af; } +#vt100 .bgAnsi44 { background-color: #00d7d7; } +#vt100 .bgAnsi45 { background-color: #00d7ff; } +#vt100 .bgAnsi46 { background-color: #00ff00; } +#vt100 .bgAnsi47 { background-color: #00ff5f; } +#vt100 .bgAnsi48 { background-color: #00ff87; } +#vt100 .bgAnsi49 { background-color: #00ffaf; } +#vt100 .bgAnsi50 { background-color: #00ffd7; } +#vt100 .bgAnsi51 { background-color: #00ffff; } +#vt100 .bgAnsi52 { background-color: #5f0000; } +#vt100 .bgAnsi53 { background-color: #5f005f; } +#vt100 .bgAnsi54 { background-color: #5f0087; } +#vt100 .bgAnsi55 { background-color: #5f00af; } +#vt100 .bgAnsi56 { background-color: #5f00d7; } +#vt100 .bgAnsi57 { background-color: #5f00ff; } +#vt100 .bgAnsi58 { background-color: #5f5f00; } +#vt100 .bgAnsi59 { background-color: #5f5f5f; } +#vt100 .bgAnsi60 { background-color: #5f5f87; } +#vt100 .bgAnsi61 { background-color: #5f5faf; } +#vt100 .bgAnsi62 { background-color: #5f5fd7; } +#vt100 .bgAnsi63 { background-color: #5f5fff; } +#vt100 .bgAnsi64 { background-color: #5f8700; } +#vt100 .bgAnsi65 { background-color: #5f875f; } +#vt100 .bgAnsi66 { background-color: #5f8787; } +#vt100 .bgAnsi67 { background-color: #5f87af; } +#vt100 .bgAnsi68 { background-color: #5f87d7; } +#vt100 .bgAnsi69 { background-color: #5f87ff; } +#vt100 .bgAnsi70 { background-color: #5faf00; } +#vt100 .bgAnsi71 { background-color: #5faf5f; } +#vt100 .bgAnsi72 { background-color: #5faf87; } +#vt100 .bgAnsi73 { background-color: #5fafaf; } +#vt100 .bgAnsi74 { background-color: #5fafd7; } +#vt100 .bgAnsi75 { background-color: #5fafff; } +#vt100 .bgAnsi76 { background-color: #5fd700; } +#vt100 .bgAnsi77 { background-color: #5fd75f; } +#vt100 .bgAnsi78 { background-color: #5fd787; } +#vt100 .bgAnsi79 { background-color: #5fd7af; } +#vt100 .bgAnsi80 { background-color: #5fd7d7; } +#vt100 .bgAnsi81 { background-color: #5fd7ff; } +#vt100 .bgAnsi82 { background-color: #5fff00; } +#vt100 .bgAnsi83 { background-color: #5fff5f; } +#vt100 .bgAnsi84 { background-color: #5fff87; } +#vt100 .bgAnsi85 { background-color: #5fffaf; } +#vt100 .bgAnsi86 { background-color: #5fffd7; } +#vt100 .bgAnsi87 { background-color: #5fffff; } +#vt100 .bgAnsi88 { background-color: #870000; } +#vt100 .bgAnsi89 { background-color: #87005f; } +#vt100 .bgAnsi90 { background-color: #870087; } +#vt100 .bgAnsi91 { background-color: #8700af; } +#vt100 .bgAnsi92 { background-color: #8700d7; } +#vt100 .bgAnsi93 { background-color: #8700ff; } +#vt100 .bgAnsi94 { background-color: #875f00; } +#vt100 .bgAnsi95 { background-color: #875f5f; } +#vt100 .bgAnsi96 { background-color: #875f87; } +#vt100 .bgAnsi97 { background-color: #875faf; } +#vt100 .bgAnsi98 { background-color: #875fd7; } +#vt100 .bgAnsi99 { background-color: #875fff; } +#vt100 .bgAnsi100 { background-color: #878700; } +#vt100 .bgAnsi101 { background-color: #87875f; } +#vt100 .bgAnsi102 { background-color: #878787; } +#vt100 .bgAnsi103 { background-color: #8787af; } +#vt100 .bgAnsi104 { background-color: #8787d7; } +#vt100 .bgAnsi105 { background-color: #8787ff; } +#vt100 .bgAnsi106 { background-color: #87af00; } +#vt100 .bgAnsi107 { background-color: #87af5f; } +#vt100 .bgAnsi108 { background-color: #87af87; } +#vt100 .bgAnsi109 { background-color: #87afaf; } +#vt100 .bgAnsi110 { background-color: #87afd7; } +#vt100 .bgAnsi111 { background-color: #87afff; } +#vt100 .bgAnsi112 { background-color: #87d700; } +#vt100 .bgAnsi113 { background-color: #87d75f; } +#vt100 .bgAnsi114 { background-color: #87d787; } +#vt100 .bgAnsi115 { background-color: #87d7af; } +#vt100 .bgAnsi116 { background-color: #87d7d7; } +#vt100 .bgAnsi117 { background-color: #87d7ff; } +#vt100 .bgAnsi118 { background-color: #87ff00; } +#vt100 .bgAnsi119 { background-color: #87ff5f; } +#vt100 .bgAnsi120 { background-color: #87ff87; } +#vt100 .bgAnsi121 { background-color: #87ffaf; } +#vt100 .bgAnsi122 { background-color: #87ffd7; } +#vt100 .bgAnsi123 { background-color: #87ffff; } +#vt100 .bgAnsi124 { background-color: #af0000; } +#vt100 .bgAnsi125 { background-color: #af005f; } +#vt100 .bgAnsi126 { background-color: #af0087; } +#vt100 .bgAnsi127 { background-color: #af00af; } +#vt100 .bgAnsi128 { background-color: #af00d7; } +#vt100 .bgAnsi129 { background-color: #af00ff; } +#vt100 .bgAnsi130 { background-color: #af5f00; } +#vt100 .bgAnsi131 { background-color: #af5f5f; } +#vt100 .bgAnsi132 { background-color: #af5f87; } +#vt100 .bgAnsi133 { background-color: #af5faf; } +#vt100 .bgAnsi134 { background-color: #af5fd7; } +#vt100 .bgAnsi135 { background-color: #af5fff; } +#vt100 .bgAnsi136 { background-color: #af8700; } +#vt100 .bgAnsi137 { background-color: #af875f; } +#vt100 .bgAnsi138 { background-color: #af8787; } +#vt100 .bgAnsi139 { background-color: #af87af; } +#vt100 .bgAnsi140 { background-color: #af87d7; } +#vt100 .bgAnsi141 { background-color: #af87ff; } +#vt100 .bgAnsi142 { background-color: #afaf00; } +#vt100 .bgAnsi143 { background-color: #afaf5f; } +#vt100 .bgAnsi144 { background-color: #afaf87; } +#vt100 .bgAnsi145 { background-color: #afafaf; } +#vt100 .bgAnsi146 { background-color: #afafd7; } +#vt100 .bgAnsi147 { background-color: #afafff; } +#vt100 .bgAnsi148 { background-color: #afd700; } +#vt100 .bgAnsi149 { background-color: #afd75f; } +#vt100 .bgAnsi150 { background-color: #afd787; } +#vt100 .bgAnsi151 { background-color: #afd7af; } +#vt100 .bgAnsi152 { background-color: #afd7d7; } +#vt100 .bgAnsi153 { background-color: #afd7ff; } +#vt100 .bgAnsi154 { background-color: #afff00; } +#vt100 .bgAnsi155 { background-color: #afff5f; } +#vt100 .bgAnsi156 { background-color: #afff87; } +#vt100 .bgAnsi157 { background-color: #afffaf; } +#vt100 .bgAnsi158 { background-color: #afffd7; } +#vt100 .bgAnsi159 { background-color: #afffff; } +#vt100 .bgAnsi160 { background-color: #d70000; } +#vt100 .bgAnsi161 { background-color: #d7005f; } +#vt100 .bgAnsi162 { background-color: #d70087; } +#vt100 .bgAnsi163 { background-color: #d700af; } +#vt100 .bgAnsi164 { background-color: #d700d7; } +#vt100 .bgAnsi165 { background-color: #d700ff; } +#vt100 .bgAnsi166 { background-color: #d75f00; } +#vt100 .bgAnsi167 { background-color: #d75f5f; } +#vt100 .bgAnsi168 { background-color: #d75f87; } +#vt100 .bgAnsi169 { background-color: #d75faf; } +#vt100 .bgAnsi170 { background-color: #d75fd7; } +#vt100 .bgAnsi171 { background-color: #d75fff; } +#vt100 .bgAnsi172 { background-color: #d78700; } +#vt100 .bgAnsi173 { background-color: #d7875f; } +#vt100 .bgAnsi174 { background-color: #d78787; } +#vt100 .bgAnsi175 { background-color: #d787af; } +#vt100 .bgAnsi176 { background-color: #d787d7; } +#vt100 .bgAnsi177 { background-color: #d787ff; } +#vt100 .bgAnsi178 { background-color: #d7af00; } +#vt100 .bgAnsi179 { background-color: #d7af5f; } +#vt100 .bgAnsi180 { background-color: #d7af87; } +#vt100 .bgAnsi181 { background-color: #d7afaf; } +#vt100 .bgAnsi182 { background-color: #d7afd7; } +#vt100 .bgAnsi183 { background-color: #d7afff; } +#vt100 .bgAnsi184 { background-color: #d7d700; } +#vt100 .bgAnsi185 { background-color: #d7d75f; } +#vt100 .bgAnsi186 { background-color: #d7d787; } +#vt100 .bgAnsi187 { background-color: #d7d7af; } +#vt100 .bgAnsi188 { background-color: #d7d7d7; } +#vt100 .bgAnsi189 { background-color: #d7d7ff; } +#vt100 .bgAnsi190 { background-color: #d7ff00; } +#vt100 .bgAnsi191 { background-color: #d7ff5f; } +#vt100 .bgAnsi192 { background-color: #d7ff87; } +#vt100 .bgAnsi193 { background-color: #d7ffaf; } +#vt100 .bgAnsi194 { background-color: #d7ffd7; } +#vt100 .bgAnsi195 { background-color: #d7ffff; } +#vt100 .bgAnsi196 { background-color: #ff0000; } +#vt100 .bgAnsi197 { background-color: #ff005f; } +#vt100 .bgAnsi198 { background-color: #ff0087; } +#vt100 .bgAnsi199 { background-color: #ff00af; } +#vt100 .bgAnsi200 { background-color: #ff00d7; } +#vt100 .bgAnsi201 { background-color: #ff00ff; } +#vt100 .bgAnsi202 { background-color: #ff5f00; } +#vt100 .bgAnsi203 { background-color: #ff5f5f; } +#vt100 .bgAnsi204 { background-color: #ff5f87; } +#vt100 .bgAnsi205 { background-color: #ff5faf; } +#vt100 .bgAnsi206 { background-color: #ff5fd7; } +#vt100 .bgAnsi207 { background-color: #ff5fff; } +#vt100 .bgAnsi208 { background-color: #ff8700; } +#vt100 .bgAnsi209 { background-color: #ff875f; } +#vt100 .bgAnsi210 { background-color: #ff8787; } +#vt100 .bgAnsi211 { background-color: #ff87af; } +#vt100 .bgAnsi212 { background-color: #ff87d7; } +#vt100 .bgAnsi213 { background-color: #ff87ff; } +#vt100 .bgAnsi214 { background-color: #ffaf00; } +#vt100 .bgAnsi215 { background-color: #ffaf5f; } +#vt100 .bgAnsi216 { background-color: #ffaf87; } +#vt100 .bgAnsi217 { background-color: #ffafaf; } +#vt100 .bgAnsi218 { background-color: #ffafd7; } +#vt100 .bgAnsi219 { background-color: #ffafff; } +#vt100 .bgAnsi220 { background-color: #ffd700; } +#vt100 .bgAnsi221 { background-color: #ffd75f; } +#vt100 .bgAnsi222 { background-color: #ffd787; } +#vt100 .bgAnsi223 { background-color: #ffd7af; } +#vt100 .bgAnsi224 { background-color: #ffd7d7; } +#vt100 .bgAnsi225 { background-color: #ffd7ff; } +#vt100 .bgAnsi226 { background-color: #ffff00; } +#vt100 .bgAnsi227 { background-color: #ffff5f; } +#vt100 .bgAnsi228 { background-color: #ffff87; } +#vt100 .bgAnsi229 { background-color: #ffffaf; } +#vt100 .bgAnsi230 { background-color: #ffffd7; } +#vt100 .bgAnsi231 { background-color: #ffffff; } +#vt100 .bgAnsi232 { background-color: #080808; } +#vt100 .bgAnsi233 { background-color: #121212; } +#vt100 .bgAnsi234 { background-color: #1c1c1c; } +#vt100 .bgAnsi235 { background-color: #262626; } +#vt100 .bgAnsi236 { background-color: #303030; } +#vt100 .bgAnsi237 { background-color: #3a3a3a; } +#vt100 .bgAnsi238 { background-color: #444444; } +#vt100 .bgAnsi239 { background-color: #4e4e4e; } +#vt100 .bgAnsi240 { background-color: #585858; } +#vt100 .bgAnsi241 { background-color: #626262; } +#vt100 .bgAnsi242 { background-color: #6c6c6c; } +#vt100 .bgAnsi243 { background-color: #767676; } +#vt100 .bgAnsi244 { background-color: #808080; } +#vt100 .bgAnsi245 { background-color: #8a8a8a; } +#vt100 .bgAnsi246 { background-color: #949494; } +#vt100 .bgAnsi247 { background-color: #9e9e9e; } +#vt100 .bgAnsi248 { background-color: #a8a8a8; } +#vt100 .bgAnsi249 { background-color: #b2b2b2; } +#vt100 .bgAnsi250 { background-color: #bcbcbc; } +#vt100 .bgAnsi251 { background-color: #c6c6c6; } +#vt100 .bgAnsi252 { background-color: #d0d0d0; } +#vt100 .bgAnsi253 { background-color: #dadada; } +#vt100 .bgAnsi254 { background-color: #e4e4e4; } +#vt100 .bgAnsi255 { background-color: #eeeeee; } diff --git a/shellinabox/monochrome.css b/shellinabox/monochrome.css index 9863105..28983e0 100644 --- a/shellinabox/monochrome.css +++ b/shellinabox/monochrome.css @@ -1,29 +1,519 @@ -#vt100 .ansi1 { color: inherit; } -#vt100 .ansi2 { color: inherit; } -#vt100 .ansi3 { color: inherit; } -#vt100 .ansi4 { color: inherit; } -#vt100 .ansi5 { color: inherit; } -#vt100 .ansi6 { color: inherit; } -#vt100 .ansi7 { color: inherit; } -#vt100 .ansi8 { color: inherit; } -#vt100 .ansi9 { color: inherit; } -#vt100 .ansi10 { color: inherit; } -#vt100 .ansi11 { color: inherit; } -#vt100 .ansi12 { color: inherit; } -#vt100 .ansi13 { color: inherit; } -#vt100 .ansi14 { color: inherit; } +/* SYSTEM colors */ +#vt100 .ansi0 { } +#vt100 .ansi1 { color: inherit; } +#vt100 .ansi2 { color: inherit; } +#vt100 .ansi3 { color: inherit; } +#vt100 .ansi4 { color: inherit; } +#vt100 .ansi5 { color: inherit; } +#vt100 .ansi6 { color: inherit; } +#vt100 .ansi7 { color: inherit; } +#vt100 .ansi8 { color: inherit; } +#vt100 .ansi9 { color: inherit; } +#vt100 .ansi10 { color: inherit; } +#vt100 .ansi11 { color: inherit; } +#vt100 .ansi12 { color: inherit; } +#vt100 .ansi13 { color: inherit; } +#vt100 .ansi14 { color: inherit; } +#vt100 .ansi15 { } -#vt100 .bgAnsi1 { background-color: transparent; } -#vt100 .bgAnsi2 { background-color: transparent; } -#vt100 .bgAnsi3 { background-color: transparent; } -#vt100 .bgAnsi4 { background-color: transparent; } -#vt100 .bgAnsi5 { background-color: transparent; } -#vt100 .bgAnsi6 { background-color: transparent; } -#vt100 .bgAnsi7 { background-color: transparent; } -#vt100 .bgAnsi8 { background-color: transparent; } -#vt100 .bgAnsi9 { background-color: transparent; } -#vt100 .bgAnsi10 { background-color: transparent; } -#vt100 .bgAnsi11 { background-color: transparent; } -#vt100 .bgAnsi12 { background-color: transparent; } -#vt100 .bgAnsi13 { background-color: transparent; } -#vt100 .bgAnsi14 { background-color: transparent; } +/* XTERM colors - 256 color mode */ +#vt100 .ansi16 { color: inherit; } +#vt100 .ansi17 { color: inherit; } +#vt100 .ansi18 { color: inherit; } +#vt100 .ansi19 { color: inherit; } +#vt100 .ansi20 { color: inherit; } +#vt100 .ansi21 { color: inherit; } +#vt100 .ansi22 { color: inherit; } +#vt100 .ansi23 { color: inherit; } +#vt100 .ansi24 { color: inherit; } +#vt100 .ansi25 { color: inherit; } +#vt100 .ansi26 { color: inherit; } +#vt100 .ansi27 { color: inherit; } +#vt100 .ansi28 { color: inherit; } +#vt100 .ansi29 { color: inherit; } +#vt100 .ansi30 { color: inherit; } +#vt100 .ansi31 { color: inherit; } +#vt100 .ansi32 { color: inherit; } +#vt100 .ansi33 { color: inherit; } +#vt100 .ansi34 { color: inherit; } +#vt100 .ansi35 { color: inherit; } +#vt100 .ansi36 { color: inherit; } +#vt100 .ansi37 { color: inherit; } +#vt100 .ansi38 { color: inherit; } +#vt100 .ansi39 { color: inherit; } +#vt100 .ansi40 { color: inherit; } +#vt100 .ansi41 { color: inherit; } +#vt100 .ansi42 { color: inherit; } +#vt100 .ansi43 { color: inherit; } +#vt100 .ansi44 { color: inherit; } +#vt100 .ansi45 { color: inherit; } +#vt100 .ansi46 { color: inherit; } +#vt100 .ansi47 { color: inherit; } +#vt100 .ansi48 { color: inherit; } +#vt100 .ansi49 { color: inherit; } +#vt100 .ansi50 { color: inherit; } +#vt100 .ansi51 { color: inherit; } +#vt100 .ansi52 { color: inherit; } +#vt100 .ansi53 { color: inherit; } +#vt100 .ansi54 { color: inherit; } +#vt100 .ansi55 { color: inherit; } +#vt100 .ansi56 { color: inherit; } +#vt100 .ansi57 { color: inherit; } +#vt100 .ansi58 { color: inherit; } +#vt100 .ansi59 { color: inherit; } +#vt100 .ansi60 { color: inherit; } +#vt100 .ansi61 { color: inherit; } +#vt100 .ansi62 { color: inherit; } +#vt100 .ansi63 { color: inherit; } +#vt100 .ansi64 { color: inherit; } +#vt100 .ansi65 { color: inherit; } +#vt100 .ansi66 { color: inherit; } +#vt100 .ansi67 { color: inherit; } +#vt100 .ansi68 { color: inherit; } +#vt100 .ansi69 { color: inherit; } +#vt100 .ansi70 { color: inherit; } +#vt100 .ansi71 { color: inherit; } +#vt100 .ansi72 { color: inherit; } +#vt100 .ansi73 { color: inherit; } +#vt100 .ansi74 { color: inherit; } +#vt100 .ansi75 { color: inherit; } +#vt100 .ansi76 { color: inherit; } +#vt100 .ansi77 { color: inherit; } +#vt100 .ansi78 { color: inherit; } +#vt100 .ansi79 { color: inherit; } +#vt100 .ansi80 { color: inherit; } +#vt100 .ansi81 { color: inherit; } +#vt100 .ansi82 { color: inherit; } +#vt100 .ansi83 { color: inherit; } +#vt100 .ansi84 { color: inherit; } +#vt100 .ansi85 { color: inherit; } +#vt100 .ansi86 { color: inherit; } +#vt100 .ansi87 { color: inherit; } +#vt100 .ansi88 { color: inherit; } +#vt100 .ansi89 { color: inherit; } +#vt100 .ansi90 { color: inherit; } +#vt100 .ansi91 { color: inherit; } +#vt100 .ansi92 { color: inherit; } +#vt100 .ansi93 { color: inherit; } +#vt100 .ansi94 { color: inherit; } +#vt100 .ansi95 { color: inherit; } +#vt100 .ansi96 { color: inherit; } +#vt100 .ansi97 { color: inherit; } +#vt100 .ansi98 { color: inherit; } +#vt100 .ansi99 { color: inherit; } +#vt100 .ansi100 { color: inherit; } +#vt100 .ansi101 { color: inherit; } +#vt100 .ansi102 { color: inherit; } +#vt100 .ansi103 { color: inherit; } +#vt100 .ansi104 { color: inherit; } +#vt100 .ansi105 { color: inherit; } +#vt100 .ansi106 { color: inherit; } +#vt100 .ansi107 { color: inherit; } +#vt100 .ansi108 { color: inherit; } +#vt100 .ansi109 { color: inherit; } +#vt100 .ansi110 { color: inherit; } +#vt100 .ansi111 { color: inherit; } +#vt100 .ansi112 { color: inherit; } +#vt100 .ansi113 { color: inherit; } +#vt100 .ansi114 { color: inherit; } +#vt100 .ansi115 { color: inherit; } +#vt100 .ansi116 { color: inherit; } +#vt100 .ansi117 { color: inherit; } +#vt100 .ansi118 { color: inherit; } +#vt100 .ansi119 { color: inherit; } +#vt100 .ansi120 { color: inherit; } +#vt100 .ansi121 { color: inherit; } +#vt100 .ansi122 { color: inherit; } +#vt100 .ansi123 { color: inherit; } +#vt100 .ansi124 { color: inherit; } +#vt100 .ansi125 { color: inherit; } +#vt100 .ansi126 { color: inherit; } +#vt100 .ansi127 { color: inherit; } +#vt100 .ansi128 { color: inherit; } +#vt100 .ansi129 { color: inherit; } +#vt100 .ansi130 { color: inherit; } +#vt100 .ansi131 { color: inherit; } +#vt100 .ansi132 { color: inherit; } +#vt100 .ansi133 { color: inherit; } +#vt100 .ansi134 { color: inherit; } +#vt100 .ansi135 { color: inherit; } +#vt100 .ansi136 { color: inherit; } +#vt100 .ansi137 { color: inherit; } +#vt100 .ansi138 { color: inherit; } +#vt100 .ansi139 { color: inherit; } +#vt100 .ansi140 { color: inherit; } +#vt100 .ansi141 { color: inherit; } +#vt100 .ansi142 { color: inherit; } +#vt100 .ansi143 { color: inherit; } +#vt100 .ansi144 { color: inherit; } +#vt100 .ansi145 { color: inherit; } +#vt100 .ansi146 { color: inherit; } +#vt100 .ansi147 { color: inherit; } +#vt100 .ansi148 { color: inherit; } +#vt100 .ansi149 { color: inherit; } +#vt100 .ansi150 { color: inherit; } +#vt100 .ansi151 { color: inherit; } +#vt100 .ansi152 { color: inherit; } +#vt100 .ansi153 { color: inherit; } +#vt100 .ansi154 { color: inherit; } +#vt100 .ansi155 { color: inherit; } +#vt100 .ansi156 { color: inherit; } +#vt100 .ansi157 { color: inherit; } +#vt100 .ansi158 { color: inherit; } +#vt100 .ansi159 { color: inherit; } +#vt100 .ansi160 { color: inherit; } +#vt100 .ansi161 { color: inherit; } +#vt100 .ansi162 { color: inherit; } +#vt100 .ansi163 { color: inherit; } +#vt100 .ansi164 { color: inherit; } +#vt100 .ansi165 { color: inherit; } +#vt100 .ansi166 { color: inherit; } +#vt100 .ansi167 { color: inherit; } +#vt100 .ansi168 { color: inherit; } +#vt100 .ansi169 { color: inherit; } +#vt100 .ansi170 { color: inherit; } +#vt100 .ansi171 { color: inherit; } +#vt100 .ansi172 { color: inherit; } +#vt100 .ansi173 { color: inherit; } +#vt100 .ansi174 { color: inherit; } +#vt100 .ansi175 { color: inherit; } +#vt100 .ansi176 { color: inherit; } +#vt100 .ansi177 { color: inherit; } +#vt100 .ansi178 { color: inherit; } +#vt100 .ansi179 { color: inherit; } +#vt100 .ansi180 { color: inherit; } +#vt100 .ansi181 { color: inherit; } +#vt100 .ansi182 { color: inherit; } +#vt100 .ansi183 { color: inherit; } +#vt100 .ansi184 { color: inherit; } +#vt100 .ansi185 { color: inherit; } +#vt100 .ansi186 { color: inherit; } +#vt100 .ansi187 { color: inherit; } +#vt100 .ansi188 { color: inherit; } +#vt100 .ansi189 { color: inherit; } +#vt100 .ansi190 { color: inherit; } +#vt100 .ansi191 { color: inherit; } +#vt100 .ansi192 { color: inherit; } +#vt100 .ansi193 { color: inherit; } +#vt100 .ansi194 { color: inherit; } +#vt100 .ansi195 { color: inherit; } +#vt100 .ansi196 { color: inherit; } +#vt100 .ansi197 { color: inherit; } +#vt100 .ansi198 { color: inherit; } +#vt100 .ansi199 { color: inherit; } +#vt100 .ansi200 { color: inherit; } +#vt100 .ansi201 { color: inherit; } +#vt100 .ansi202 { color: inherit; } +#vt100 .ansi203 { color: inherit; } +#vt100 .ansi204 { color: inherit; } +#vt100 .ansi205 { color: inherit; } +#vt100 .ansi206 { color: inherit; } +#vt100 .ansi207 { color: inherit; } +#vt100 .ansi208 { color: inherit; } +#vt100 .ansi209 { color: inherit; } +#vt100 .ansi210 { color: inherit; } +#vt100 .ansi211 { color: inherit; } +#vt100 .ansi212 { color: inherit; } +#vt100 .ansi213 { color: inherit; } +#vt100 .ansi214 { color: inherit; } +#vt100 .ansi215 { color: inherit; } +#vt100 .ansi216 { color: inherit; } +#vt100 .ansi217 { color: inherit; } +#vt100 .ansi218 { color: inherit; } +#vt100 .ansi219 { color: inherit; } +#vt100 .ansi220 { color: inherit; } +#vt100 .ansi221 { color: inherit; } +#vt100 .ansi222 { color: inherit; } +#vt100 .ansi223 { color: inherit; } +#vt100 .ansi224 { color: inherit; } +#vt100 .ansi225 { color: inherit; } +#vt100 .ansi226 { color: inherit; } +#vt100 .ansi227 { color: inherit; } +#vt100 .ansi228 { color: inherit; } +#vt100 .ansi229 { color: inherit; } +#vt100 .ansi230 { color: inherit; } +#vt100 .ansi231 { color: inherit; } +#vt100 .ansi232 { color: inherit; } +#vt100 .ansi233 { color: inherit; } +#vt100 .ansi234 { color: inherit; } +#vt100 .ansi235 { color: inherit; } +#vt100 .ansi236 { color: inherit; } +#vt100 .ansi237 { color: inherit; } +#vt100 .ansi238 { color: inherit; } +#vt100 .ansi239 { color: inherit; } +#vt100 .ansi240 { color: inherit; } +#vt100 .ansi241 { color: inherit; } +#vt100 .ansi242 { color: inherit; } +#vt100 .ansi243 { color: inherit; } +#vt100 .ansi244 { color: inherit; } +#vt100 .ansi245 { color: inherit; } +#vt100 .ansi246 { color: inherit; } +#vt100 .ansi247 { color: inherit; } +#vt100 .ansi248 { color: inherit; } +#vt100 .ansi249 { color: inherit; } +#vt100 .ansi250 { color: inherit; } +#vt100 .ansi251 { color: inherit; } +#vt100 .ansi252 { color: inherit; } +#vt100 .ansi253 { color: inherit; } +#vt100 .ansi254 { color: inherit; } +#vt100 .ansi255 { color: inherit; } + +/* SYSTEM colors */ +#vt100 .bgAnsi0 { } +#vt100 .bgAnsi1 { background-color: transparent; } +#vt100 .bgAnsi2 { background-color: transparent; } +#vt100 .bgAnsi3 { background-color: transparent; } +#vt100 .bgAnsi4 { background-color: transparent; } +#vt100 .bgAnsi5 { background-color: transparent; } +#vt100 .bgAnsi6 { background-color: transparent; } +#vt100 .bgAnsi7 { background-color: transparent; } +#vt100 .bgAnsi8 { background-color: transparent; } +#vt100 .bgAnsi9 { background-color: transparent; } +#vt100 .bgAnsi10 { background-color: transparent; } +#vt100 .bgAnsi11 { background-color: transparent; } +#vt100 .bgAnsi12 { background-color: transparent; } +#vt100 .bgAnsi13 { background-color: transparent; } +#vt100 .bgAnsi14 { background-color: transparent; } +#vt100 .bgAnsi15 { } + +/* XTERM colors - 256 color mode */ +#vt100 .bgAnsi16 { background-color: transparent; } +#vt100 .bgAnsi17 { background-color: transparent; } +#vt100 .bgAnsi18 { background-color: transparent; } +#vt100 .bgAnsi19 { background-color: transparent; } +#vt100 .bgAnsi20 { background-color: transparent; } +#vt100 .bgAnsi21 { background-color: transparent; } +#vt100 .bgAnsi22 { background-color: transparent; } +#vt100 .bgAnsi23 { background-color: transparent; } +#vt100 .bgAnsi24 { background-color: transparent; } +#vt100 .bgAnsi25 { background-color: transparent; } +#vt100 .bgAnsi26 { background-color: transparent; } +#vt100 .bgAnsi27 { background-color: transparent; } +#vt100 .bgAnsi28 { background-color: transparent; } +#vt100 .bgAnsi29 { background-color: transparent; } +#vt100 .bgAnsi30 { background-color: transparent; } +#vt100 .bgAnsi31 { background-color: transparent; } +#vt100 .bgAnsi32 { background-color: transparent; } +#vt100 .bgAnsi33 { background-color: transparent; } +#vt100 .bgAnsi34 { background-color: transparent; } +#vt100 .bgAnsi35 { background-color: transparent; } +#vt100 .bgAnsi36 { background-color: transparent; } +#vt100 .bgAnsi37 { background-color: transparent; } +#vt100 .bgAnsi38 { background-color: transparent; } +#vt100 .bgAnsi39 { background-color: transparent; } +#vt100 .bgAnsi40 { background-color: transparent; } +#vt100 .bgAnsi41 { background-color: transparent; } +#vt100 .bgAnsi42 { background-color: transparent; } +#vt100 .bgAnsi43 { background-color: transparent; } +#vt100 .bgAnsi44 { background-color: transparent; } +#vt100 .bgAnsi45 { background-color: transparent; } +#vt100 .bgAnsi46 { background-color: transparent; } +#vt100 .bgAnsi47 { background-color: transparent; } +#vt100 .bgAnsi48 { background-color: transparent; } +#vt100 .bgAnsi49 { background-color: transparent; } +#vt100 .bgAnsi50 { background-color: transparent; } +#vt100 .bgAnsi51 { background-color: transparent; } +#vt100 .bgAnsi52 { background-color: transparent; } +#vt100 .bgAnsi53 { background-color: transparent; } +#vt100 .bgAnsi54 { background-color: transparent; } +#vt100 .bgAnsi55 { background-color: transparent; } +#vt100 .bgAnsi56 { background-color: transparent; } +#vt100 .bgAnsi57 { background-color: transparent; } +#vt100 .bgAnsi58 { background-color: transparent; } +#vt100 .bgAnsi59 { background-color: transparent; } +#vt100 .bgAnsi60 { background-color: transparent; } +#vt100 .bgAnsi61 { background-color: transparent; } +#vt100 .bgAnsi62 { background-color: transparent; } +#vt100 .bgAnsi63 { background-color: transparent; } +#vt100 .bgAnsi64 { background-color: transparent; } +#vt100 .bgAnsi65 { background-color: transparent; } +#vt100 .bgAnsi66 { background-color: transparent; } +#vt100 .bgAnsi67 { background-color: transparent; } +#vt100 .bgAnsi68 { background-color: transparent; } +#vt100 .bgAnsi69 { background-color: transparent; } +#vt100 .bgAnsi70 { background-color: transparent; } +#vt100 .bgAnsi71 { background-color: transparent; } +#vt100 .bgAnsi72 { background-color: transparent; } +#vt100 .bgAnsi73 { background-color: transparent; } +#vt100 .bgAnsi74 { background-color: transparent; } +#vt100 .bgAnsi75 { background-color: transparent; } +#vt100 .bgAnsi76 { background-color: transparent; } +#vt100 .bgAnsi77 { background-color: transparent; } +#vt100 .bgAnsi78 { background-color: transparent; } +#vt100 .bgAnsi79 { background-color: transparent; } +#vt100 .bgAnsi80 { background-color: transparent; } +#vt100 .bgAnsi81 { background-color: transparent; } +#vt100 .bgAnsi82 { background-color: transparent; } +#vt100 .bgAnsi83 { background-color: transparent; } +#vt100 .bgAnsi84 { background-color: transparent; } +#vt100 .bgAnsi85 { background-color: transparent; } +#vt100 .bgAnsi86 { background-color: transparent; } +#vt100 .bgAnsi87 { background-color: transparent; } +#vt100 .bgAnsi88 { background-color: transparent; } +#vt100 .bgAnsi89 { background-color: transparent; } +#vt100 .bgAnsi90 { background-color: transparent; } +#vt100 .bgAnsi91 { background-color: transparent; } +#vt100 .bgAnsi92 { background-color: transparent; } +#vt100 .bgAnsi93 { background-color: transparent; } +#vt100 .bgAnsi94 { background-color: transparent; } +#vt100 .bgAnsi95 { background-color: transparent; } +#vt100 .bgAnsi96 { background-color: transparent; } +#vt100 .bgAnsi97 { background-color: transparent; } +#vt100 .bgAnsi98 { background-color: transparent; } +#vt100 .bgAnsi99 { background-color: transparent; } +#vt100 .bgAnsi100 { background-color: transparent; } +#vt100 .bgAnsi101 { background-color: transparent; } +#vt100 .bgAnsi102 { background-color: transparent; } +#vt100 .bgAnsi103 { background-color: transparent; } +#vt100 .bgAnsi104 { background-color: transparent; } +#vt100 .bgAnsi105 { background-color: transparent; } +#vt100 .bgAnsi106 { background-color: transparent; } +#vt100 .bgAnsi107 { background-color: transparent; } +#vt100 .bgAnsi108 { background-color: transparent; } +#vt100 .bgAnsi109 { background-color: transparent; } +#vt100 .bgAnsi110 { background-color: transparent; } +#vt100 .bgAnsi111 { background-color: transparent; } +#vt100 .bgAnsi112 { background-color: transparent; } +#vt100 .bgAnsi113 { background-color: transparent; } +#vt100 .bgAnsi114 { background-color: transparent; } +#vt100 .bgAnsi115 { background-color: transparent; } +#vt100 .bgAnsi116 { background-color: transparent; } +#vt100 .bgAnsi117 { background-color: transparent; } +#vt100 .bgAnsi118 { background-color: transparent; } +#vt100 .bgAnsi119 { background-color: transparent; } +#vt100 .bgAnsi120 { background-color: transparent; } +#vt100 .bgAnsi121 { background-color: transparent; } +#vt100 .bgAnsi122 { background-color: transparent; } +#vt100 .bgAnsi123 { background-color: transparent; } +#vt100 .bgAnsi124 { background-color: transparent; } +#vt100 .bgAnsi125 { background-color: transparent; } +#vt100 .bgAnsi126 { background-color: transparent; } +#vt100 .bgAnsi127 { background-color: transparent; } +#vt100 .bgAnsi128 { background-color: transparent; } +#vt100 .bgAnsi129 { background-color: transparent; } +#vt100 .bgAnsi130 { background-color: transparent; } +#vt100 .bgAnsi131 { background-color: transparent; } +#vt100 .bgAnsi132 { background-color: transparent; } +#vt100 .bgAnsi133 { background-color: transparent; } +#vt100 .bgAnsi134 { background-color: transparent; } +#vt100 .bgAnsi135 { background-color: transparent; } +#vt100 .bgAnsi136 { background-color: transparent; } +#vt100 .bgAnsi137 { background-color: transparent; } +#vt100 .bgAnsi138 { background-color: transparent; } +#vt100 .bgAnsi139 { background-color: transparent; } +#vt100 .bgAnsi140 { background-color: transparent; } +#vt100 .bgAnsi141 { background-color: transparent; } +#vt100 .bgAnsi142 { background-color: transparent; } +#vt100 .bgAnsi143 { background-color: transparent; } +#vt100 .bgAnsi144 { background-color: transparent; } +#vt100 .bgAnsi145 { background-color: transparent; } +#vt100 .bgAnsi146 { background-color: transparent; } +#vt100 .bgAnsi147 { background-color: transparent; } +#vt100 .bgAnsi148 { background-color: transparent; } +#vt100 .bgAnsi149 { background-color: transparent; } +#vt100 .bgAnsi150 { background-color: transparent; } +#vt100 .bgAnsi151 { background-color: transparent; } +#vt100 .bgAnsi152 { background-color: transparent; } +#vt100 .bgAnsi153 { background-color: transparent; } +#vt100 .bgAnsi154 { background-color: transparent; } +#vt100 .bgAnsi155 { background-color: transparent; } +#vt100 .bgAnsi156 { background-color: transparent; } +#vt100 .bgAnsi157 { background-color: transparent; } +#vt100 .bgAnsi158 { background-color: transparent; } +#vt100 .bgAnsi159 { background-color: transparent; } +#vt100 .bgAnsi160 { background-color: transparent; } +#vt100 .bgAnsi161 { background-color: transparent; } +#vt100 .bgAnsi162 { background-color: transparent; } +#vt100 .bgAnsi163 { background-color: transparent; } +#vt100 .bgAnsi164 { background-color: transparent; } +#vt100 .bgAnsi165 { background-color: transparent; } +#vt100 .bgAnsi166 { background-color: transparent; } +#vt100 .bgAnsi167 { background-color: transparent; } +#vt100 .bgAnsi168 { background-color: transparent; } +#vt100 .bgAnsi169 { background-color: transparent; } +#vt100 .bgAnsi170 { background-color: transparent; } +#vt100 .bgAnsi171 { background-color: transparent; } +#vt100 .bgAnsi172 { background-color: transparent; } +#vt100 .bgAnsi173 { background-color: transparent; } +#vt100 .bgAnsi174 { background-color: transparent; } +#vt100 .bgAnsi175 { background-color: transparent; } +#vt100 .bgAnsi176 { background-color: transparent; } +#vt100 .bgAnsi177 { background-color: transparent; } +#vt100 .bgAnsi178 { background-color: transparent; } +#vt100 .bgAnsi179 { background-color: transparent; } +#vt100 .bgAnsi180 { background-color: transparent; } +#vt100 .bgAnsi181 { background-color: transparent; } +#vt100 .bgAnsi182 { background-color: transparent; } +#vt100 .bgAnsi183 { background-color: transparent; } +#vt100 .bgAnsi184 { background-color: transparent; } +#vt100 .bgAnsi185 { background-color: transparent; } +#vt100 .bgAnsi186 { background-color: transparent; } +#vt100 .bgAnsi187 { background-color: transparent; } +#vt100 .bgAnsi188 { background-color: transparent; } +#vt100 .bgAnsi189 { background-color: transparent; } +#vt100 .bgAnsi190 { background-color: transparent; } +#vt100 .bgAnsi191 { background-color: transparent; } +#vt100 .bgAnsi192 { background-color: transparent; } +#vt100 .bgAnsi193 { background-color: transparent; } +#vt100 .bgAnsi194 { background-color: transparent; } +#vt100 .bgAnsi195 { background-color: transparent; } +#vt100 .bgAnsi196 { background-color: transparent; } +#vt100 .bgAnsi197 { background-color: transparent; } +#vt100 .bgAnsi198 { background-color: transparent; } +#vt100 .bgAnsi199 { background-color: transparent; } +#vt100 .bgAnsi200 { background-color: transparent; } +#vt100 .bgAnsi201 { background-color: transparent; } +#vt100 .bgAnsi202 { background-color: transparent; } +#vt100 .bgAnsi203 { background-color: transparent; } +#vt100 .bgAnsi204 { background-color: transparent; } +#vt100 .bgAnsi205 { background-color: transparent; } +#vt100 .bgAnsi206 { background-color: transparent; } +#vt100 .bgAnsi207 { background-color: transparent; } +#vt100 .bgAnsi208 { background-color: transparent; } +#vt100 .bgAnsi209 { background-color: transparent; } +#vt100 .bgAnsi210 { background-color: transparent; } +#vt100 .bgAnsi211 { background-color: transparent; } +#vt100 .bgAnsi212 { background-color: transparent; } +#vt100 .bgAnsi213 { background-color: transparent; } +#vt100 .bgAnsi214 { background-color: transparent; } +#vt100 .bgAnsi215 { background-color: transparent; } +#vt100 .bgAnsi216 { background-color: transparent; } +#vt100 .bgAnsi217 { background-color: transparent; } +#vt100 .bgAnsi218 { background-color: transparent; } +#vt100 .bgAnsi219 { background-color: transparent; } +#vt100 .bgAnsi220 { background-color: transparent; } +#vt100 .bgAnsi221 { background-color: transparent; } +#vt100 .bgAnsi222 { background-color: transparent; } +#vt100 .bgAnsi223 { background-color: transparent; } +#vt100 .bgAnsi224 { background-color: transparent; } +#vt100 .bgAnsi225 { background-color: transparent; } +#vt100 .bgAnsi226 { background-color: transparent; } +#vt100 .bgAnsi227 { background-color: transparent; } +#vt100 .bgAnsi228 { background-color: transparent; } +#vt100 .bgAnsi229 { background-color: transparent; } +#vt100 .bgAnsi230 { background-color: transparent; } +#vt100 .bgAnsi231 { background-color: transparent; } +#vt100 .bgAnsi232 { background-color: transparent; } +#vt100 .bgAnsi233 { background-color: transparent; } +#vt100 .bgAnsi234 { background-color: transparent; } +#vt100 .bgAnsi235 { background-color: transparent; } +#vt100 .bgAnsi236 { background-color: transparent; } +#vt100 .bgAnsi237 { background-color: transparent; } +#vt100 .bgAnsi238 { background-color: transparent; } +#vt100 .bgAnsi239 { background-color: transparent; } +#vt100 .bgAnsi240 { background-color: transparent; } +#vt100 .bgAnsi241 { background-color: transparent; } +#vt100 .bgAnsi242 { background-color: transparent; } +#vt100 .bgAnsi243 { background-color: transparent; } +#vt100 .bgAnsi244 { background-color: transparent; } +#vt100 .bgAnsi245 { background-color: transparent; } +#vt100 .bgAnsi246 { background-color: transparent; } +#vt100 .bgAnsi247 { background-color: transparent; } +#vt100 .bgAnsi248 { background-color: transparent; } +#vt100 .bgAnsi249 { background-color: transparent; } +#vt100 .bgAnsi250 { background-color: transparent; } +#vt100 .bgAnsi251 { background-color: transparent; } +#vt100 .bgAnsi252 { background-color: transparent; } +#vt100 .bgAnsi253 { background-color: transparent; } +#vt100 .bgAnsi254 { background-color: transparent; } +#vt100 .bgAnsi255 { background-color: transparent; } diff --git a/shellinabox/styles.css b/shellinabox/styles.css index 5cbb31e..03d77be 100755 --- a/shellinabox/styles.css +++ b/shellinabox/styles.css @@ -212,46 +212,6 @@ left: 1px; } -[if DEFINES_COLORS] -/* IE cannot properly handle "inherit" properties. So, the monochrome.css/ - * color.css style sheets cannot work, if we define colors in styles.css. - */ -[else DEFINES_COLORS] -#vt100 .ansi0 { } -#vt100 .ansi1 { color: #cd0000; } -#vt100 .ansi2 { color: #00cd00; } -#vt100 .ansi3 { color: #cdcd00; } -#vt100 .ansi4 { color: #0000ee; } -#vt100 .ansi5 { color: #cd00cd; } -#vt100 .ansi6 { color: #00cdcd; } -#vt100 .ansi7 { color: #e5e5e5; } -#vt100 .ansi8 { color: #7f7f7f; } -#vt100 .ansi9 { color: #ff0000; } -#vt100 .ansi10 { color: #00ff00; } -#vt100 .ansi11 { color: #e8e800; } -#vt100 .ansi12 { color: #5c5cff; } -#vt100 .ansi13 { color: #ff00ff; } -#vt100 .ansi14 { color: #00ffff; } -#vt100 .ansi15 { color: #ffffff; } - -#vt100 .bgAnsi0 { background-color: #000000; } -#vt100 .bgAnsi1 { background-color: #cd0000; } -#vt100 .bgAnsi2 { background-color: #00cd00; } -#vt100 .bgAnsi3 { background-color: #cdcd00; } -#vt100 .bgAnsi4 { background-color: #0000ee; } -#vt100 .bgAnsi5 { background-color: #cd00cd; } -#vt100 .bgAnsi6 { background-color: #00cdcd; } -#vt100 .bgAnsi7 { background-color: #e5e5e5; } -#vt100 .bgAnsi8 { background-color: #7f7f7f; } -#vt100 .bgAnsi9 { background-color: #ff0000; } -#vt100 .bgAnsi10 { background-color: #00ff00; } -#vt100 .bgAnsi11 { background-color: #e8e800; } -#vt100 .bgAnsi12 { background-color: #5c5cff; } -#vt100 .bgAnsi13 { background-color: #ff00ff; } -#vt100 .bgAnsi14 { background-color: #00ffff; } -#vt100 .bgAnsi15 { } -[endif DEFINES_COLORS] - @media print { #vt100 .scrollback { display: none; @@ -270,3 +230,529 @@ width: 1000000ex; } } + +[if DEFINES_COLORS] +/* IE cannot properly handle "inherit" properties. So, the monochrome.css/ + * color.css style sheets cannot work, if we define colors in styles.css. + */ +[else DEFINES_COLORS] +/* SYSTEM colors */ +#vt100 .ansi0 { } +#vt100 .ansi1 { color: #cd0000; } +#vt100 .ansi2 { color: #00cd00; } +#vt100 .ansi3 { color: #cdcd00; } +#vt100 .ansi4 { color: #0000ee; } +#vt100 .ansi5 { color: #cd00cd; } +#vt100 .ansi6 { color: #00cdcd; } +#vt100 .ansi7 { color: #e5e5e5; } +#vt100 .ansi8 { color: #7f7f7f; } +#vt100 .ansi9 { color: #ff0000; } +#vt100 .ansi10 { color: #00ff00; } +#vt100 .ansi11 { color: #e8e8e0; } +#vt100 .ansi12 { color: #5c5cff; } +#vt100 .ansi13 { color: #ff00ff; } +#vt100 .ansi14 { color: #00ffff; } +#vt100 .ansi15 { color: #ffffff; } + +/* XTERM colors - 256 color mode */ +#vt100 .ansi16 { color: #000000; } +#vt100 .ansi17 { color: #00005f; } +#vt100 .ansi18 { color: #000087; } +#vt100 .ansi19 { color: #0000af; } +#vt100 .ansi20 { color: #0000d7; } +#vt100 .ansi21 { color: #0000ff; } +#vt100 .ansi22 { color: #005f00; } +#vt100 .ansi23 { color: #005f5f; } +#vt100 .ansi24 { color: #005f87; } +#vt100 .ansi25 { color: #005faf; } +#vt100 .ansi26 { color: #005fd7; } +#vt100 .ansi27 { color: #005fff; } +#vt100 .ansi28 { color: #008700; } +#vt100 .ansi29 { color: #00875f; } +#vt100 .ansi30 { color: #008787; } +#vt100 .ansi31 { color: #0087af; } +#vt100 .ansi32 { color: #0087d7; } +#vt100 .ansi33 { color: #0087ff; } +#vt100 .ansi34 { color: #00af00; } +#vt100 .ansi35 { color: #00af5f; } +#vt100 .ansi36 { color: #00af87; } +#vt100 .ansi37 { color: #00afaf; } +#vt100 .ansi38 { color: #00afd7; } +#vt100 .ansi39 { color: #00afff; } +#vt100 .ansi40 { color: #00d700; } +#vt100 .ansi41 { color: #00d75f; } +#vt100 .ansi42 { color: #00d787; } +#vt100 .ansi43 { color: #00d7af; } +#vt100 .ansi44 { color: #00d7d7; } +#vt100 .ansi45 { color: #00d7ff; } +#vt100 .ansi46 { color: #00ff00; } +#vt100 .ansi47 { color: #00ff5f; } +#vt100 .ansi48 { color: #00ff87; } +#vt100 .ansi49 { color: #00ffaf; } +#vt100 .ansi50 { color: #00ffd7; } +#vt100 .ansi51 { color: #00ffff; } +#vt100 .ansi52 { color: #5f0000; } +#vt100 .ansi53 { color: #5f005f; } +#vt100 .ansi54 { color: #5f0087; } +#vt100 .ansi55 { color: #5f00af; } +#vt100 .ansi56 { color: #5f00d7; } +#vt100 .ansi57 { color: #5f00ff; } +#vt100 .ansi58 { color: #5f5f00; } +#vt100 .ansi59 { color: #5f5f5f; } +#vt100 .ansi60 { color: #5f5f87; } +#vt100 .ansi61 { color: #5f5faf; } +#vt100 .ansi62 { color: #5f5fd7; } +#vt100 .ansi63 { color: #5f5fff; } +#vt100 .ansi64 { color: #5f8700; } +#vt100 .ansi65 { color: #5f875f; } +#vt100 .ansi66 { color: #5f8787; } +#vt100 .ansi67 { color: #5f87af; } +#vt100 .ansi68 { color: #5f87d7; } +#vt100 .ansi69 { color: #5f87ff; } +#vt100 .ansi70 { color: #5faf00; } +#vt100 .ansi71 { color: #5faf5f; } +#vt100 .ansi72 { color: #5faf87; } +#vt100 .ansi73 { color: #5fafaf; } +#vt100 .ansi74 { color: #5fafd7; } +#vt100 .ansi75 { color: #5fafff; } +#vt100 .ansi76 { color: #5fd700; } +#vt100 .ansi77 { color: #5fd75f; } +#vt100 .ansi78 { color: #5fd787; } +#vt100 .ansi79 { color: #5fd7af; } +#vt100 .ansi80 { color: #5fd7d7; } +#vt100 .ansi81 { color: #5fd7ff; } +#vt100 .ansi82 { color: #5fff00; } +#vt100 .ansi83 { color: #5fff5f; } +#vt100 .ansi84 { color: #5fff87; } +#vt100 .ansi85 { color: #5fffaf; } +#vt100 .ansi86 { color: #5fffd7; } +#vt100 .ansi87 { color: #5fffff; } +#vt100 .ansi88 { color: #870000; } +#vt100 .ansi89 { color: #87005f; } +#vt100 .ansi90 { color: #870087; } +#vt100 .ansi91 { color: #8700af; } +#vt100 .ansi92 { color: #8700d7; } +#vt100 .ansi93 { color: #8700ff; } +#vt100 .ansi94 { color: #875f00; } +#vt100 .ansi95 { color: #875f5f; } +#vt100 .ansi96 { color: #875f87; } +#vt100 .ansi97 { color: #875faf; } +#vt100 .ansi98 { color: #875fd7; } +#vt100 .ansi99 { color: #875fff; } +#vt100 .ansi100 { color: #878700; } +#vt100 .ansi101 { color: #87875f; } +#vt100 .ansi102 { color: #878787; } +#vt100 .ansi103 { color: #8787af; } +#vt100 .ansi104 { color: #8787d7; } +#vt100 .ansi105 { color: #8787ff; } +#vt100 .ansi106 { color: #87af00; } +#vt100 .ansi107 { color: #87af5f; } +#vt100 .ansi108 { color: #87af87; } +#vt100 .ansi109 { color: #87afaf; } +#vt100 .ansi110 { color: #87afd7; } +#vt100 .ansi111 { color: #87afff; } +#vt100 .ansi112 { color: #87d700; } +#vt100 .ansi113 { color: #87d75f; } +#vt100 .ansi114 { color: #87d787; } +#vt100 .ansi115 { color: #87d7af; } +#vt100 .ansi116 { color: #87d7d7; } +#vt100 .ansi117 { color: #87d7ff; } +#vt100 .ansi118 { color: #87ff00; } +#vt100 .ansi119 { color: #87ff5f; } +#vt100 .ansi120 { color: #87ff87; } +#vt100 .ansi121 { color: #87ffaf; } +#vt100 .ansi122 { color: #87ffd7; } +#vt100 .ansi123 { color: #87ffff; } +#vt100 .ansi124 { color: #af0000; } +#vt100 .ansi125 { color: #af005f; } +#vt100 .ansi126 { color: #af0087; } +#vt100 .ansi127 { color: #af00af; } +#vt100 .ansi128 { color: #af00d7; } +#vt100 .ansi129 { color: #af00ff; } +#vt100 .ansi130 { color: #af5f00; } +#vt100 .ansi131 { color: #af5f5f; } +#vt100 .ansi132 { color: #af5f87; } +#vt100 .ansi133 { color: #af5faf; } +#vt100 .ansi134 { color: #af5fd7; } +#vt100 .ansi135 { color: #af5fff; } +#vt100 .ansi136 { color: #af8700; } +#vt100 .ansi137 { color: #af875f; } +#vt100 .ansi138 { color: #af8787; } +#vt100 .ansi139 { color: #af87af; } +#vt100 .ansi140 { color: #af87d7; } +#vt100 .ansi141 { color: #af87ff; } +#vt100 .ansi142 { color: #afaf00; } +#vt100 .ansi143 { color: #afaf5f; } +#vt100 .ansi144 { color: #afaf87; } +#vt100 .ansi145 { color: #afafaf; } +#vt100 .ansi146 { color: #afafd7; } +#vt100 .ansi147 { color: #afafff; } +#vt100 .ansi148 { color: #afd700; } +#vt100 .ansi149 { color: #afd75f; } +#vt100 .ansi150 { color: #afd787; } +#vt100 .ansi151 { color: #afd7af; } +#vt100 .ansi152 { color: #afd7d7; } +#vt100 .ansi153 { color: #afd7ff; } +#vt100 .ansi154 { color: #afff00; } +#vt100 .ansi155 { color: #afff5f; } +#vt100 .ansi156 { color: #afff87; } +#vt100 .ansi157 { color: #afffaf; } +#vt100 .ansi158 { color: #afffd7; } +#vt100 .ansi159 { color: #afffff; } +#vt100 .ansi160 { color: #d70000; } +#vt100 .ansi161 { color: #d7005f; } +#vt100 .ansi162 { color: #d70087; } +#vt100 .ansi163 { color: #d700af; } +#vt100 .ansi164 { color: #d700d7; } +#vt100 .ansi165 { color: #d700ff; } +#vt100 .ansi166 { color: #d75f00; } +#vt100 .ansi167 { color: #d75f5f; } +#vt100 .ansi168 { color: #d75f87; } +#vt100 .ansi169 { color: #d75faf; } +#vt100 .ansi170 { color: #d75fd7; } +#vt100 .ansi171 { color: #d75fff; } +#vt100 .ansi172 { color: #d78700; } +#vt100 .ansi173 { color: #d7875f; } +#vt100 .ansi174 { color: #d78787; } +#vt100 .ansi175 { color: #d787af; } +#vt100 .ansi176 { color: #d787d7; } +#vt100 .ansi177 { color: #d787ff; } +#vt100 .ansi178 { color: #d7af00; } +#vt100 .ansi179 { color: #d7af5f; } +#vt100 .ansi180 { color: #d7af87; } +#vt100 .ansi181 { color: #d7afaf; } +#vt100 .ansi182 { color: #d7afd7; } +#vt100 .ansi183 { color: #d7afff; } +#vt100 .ansi184 { color: #d7d700; } +#vt100 .ansi185 { color: #d7d75f; } +#vt100 .ansi186 { color: #d7d787; } +#vt100 .ansi187 { color: #d7d7af; } +#vt100 .ansi188 { color: #d7d7d7; } +#vt100 .ansi189 { color: #d7d7ff; } +#vt100 .ansi190 { color: #d7ff00; } +#vt100 .ansi191 { color: #d7ff5f; } +#vt100 .ansi192 { color: #d7ff87; } +#vt100 .ansi193 { color: #d7ffaf; } +#vt100 .ansi194 { color: #d7ffd7; } +#vt100 .ansi195 { color: #d7ffff; } +#vt100 .ansi196 { color: #ff0000; } +#vt100 .ansi197 { color: #ff005f; } +#vt100 .ansi198 { color: #ff0087; } +#vt100 .ansi199 { color: #ff00af; } +#vt100 .ansi200 { color: #ff00d7; } +#vt100 .ansi201 { color: #ff00ff; } +#vt100 .ansi202 { color: #ff5f00; } +#vt100 .ansi203 { color: #ff5f5f; } +#vt100 .ansi204 { color: #ff5f87; } +#vt100 .ansi205 { color: #ff5faf; } +#vt100 .ansi206 { color: #ff5fd7; } +#vt100 .ansi207 { color: #ff5fff; } +#vt100 .ansi208 { color: #ff8700; } +#vt100 .ansi209 { color: #ff875f; } +#vt100 .ansi210 { color: #ff8787; } +#vt100 .ansi211 { color: #ff87af; } +#vt100 .ansi212 { color: #ff87d7; } +#vt100 .ansi213 { color: #ff87ff; } +#vt100 .ansi214 { color: #ffaf00; } +#vt100 .ansi215 { color: #ffaf5f; } +#vt100 .ansi216 { color: #ffaf87; } +#vt100 .ansi217 { color: #ffafaf; } +#vt100 .ansi218 { color: #ffafd7; } +#vt100 .ansi219 { color: #ffafff; } +#vt100 .ansi220 { color: #ffd700; } +#vt100 .ansi221 { color: #ffd75f; } +#vt100 .ansi222 { color: #ffd787; } +#vt100 .ansi223 { color: #ffd7af; } +#vt100 .ansi224 { color: #ffd7d7; } +#vt100 .ansi225 { color: #ffd7ff; } +#vt100 .ansi226 { color: #ffff00; } +#vt100 .ansi227 { color: #ffff5f; } +#vt100 .ansi228 { color: #ffff87; } +#vt100 .ansi229 { color: #ffffaf; } +#vt100 .ansi230 { color: #ffffd7; } +#vt100 .ansi231 { color: #ffffff; } +#vt100 .ansi232 { color: #080808; } +#vt100 .ansi233 { color: #121212; } +#vt100 .ansi234 { color: #1c1c1c; } +#vt100 .ansi235 { color: #262626; } +#vt100 .ansi236 { color: #303030; } +#vt100 .ansi237 { color: #3a3a3a; } +#vt100 .ansi238 { color: #444444; } +#vt100 .ansi239 { color: #4e4e4e; } +#vt100 .ansi240 { color: #585858; } +#vt100 .ansi241 { color: #626262; } +#vt100 .ansi242 { color: #6c6c6c; } +#vt100 .ansi243 { color: #767676; } +#vt100 .ansi244 { color: #808080; } +#vt100 .ansi245 { color: #8a8a8a; } +#vt100 .ansi246 { color: #949494; } +#vt100 .ansi247 { color: #9e9e9e; } +#vt100 .ansi248 { color: #a8a8a8; } +#vt100 .ansi249 { color: #b2b2b2; } +#vt100 .ansi250 { color: #bcbcbc; } +#vt100 .ansi251 { color: #c6c6c6; } +#vt100 .ansi252 { color: #d0d0d0; } +#vt100 .ansi253 { color: #dadada; } +#vt100 .ansi254 { color: #e4e4e4; } +#vt100 .ansi255 { color: #eeeeee; } + +/* SYSTEM colors */ +#vt100 .bgAnsi0 { background-color: #000000; } +#vt100 .bgAnsi1 { background-color: #cd0000; } +#vt100 .bgAnsi2 { background-color: #00cd00; } +#vt100 .bgAnsi3 { background-color: #cdcd00; } +#vt100 .bgAnsi4 { background-color: #0000ee; } +#vt100 .bgAnsi5 { background-color: #cd00cd; } +#vt100 .bgAnsi6 { background-color: #00cdcd; } +#vt100 .bgAnsi7 { background-color: #e5e5e5; } +#vt100 .bgAnsi8 { background-color: #7f7f7f; } +#vt100 .bgAnsi9 { background-color: #ff0000; } +#vt100 .bgAnsi10 { background-color: #00ff00; } +#vt100 .bgAnsi11 { background-color: #e8e800; } +#vt100 .bgAnsi12 { background-color: #5c5cff; } +#vt100 .bgAnsi13 { background-color: #ff00ff; } +#vt100 .bgAnsi14 { background-color: #00ffff; } +#vt100 .bgAnsi15 { } + +/* XTERM colors - 256 color mode */ +#vt100 .bgAnsi16 { background-color: #000000; } +#vt100 .bgAnsi17 { background-color: #00005f; } +#vt100 .bgAnsi18 { background-color: #000087; } +#vt100 .bgAnsi19 { background-color: #0000af; } +#vt100 .bgAnsi20 { background-color: #0000d7; } +#vt100 .bgAnsi21 { background-color: #0000ff; } +#vt100 .bgAnsi22 { background-color: #005f00; } +#vt100 .bgAnsi23 { background-color: #005f5f; } +#vt100 .bgAnsi24 { background-color: #005f87; } +#vt100 .bgAnsi25 { background-color: #005faf; } +#vt100 .bgAnsi26 { background-color: #005fd7; } +#vt100 .bgAnsi27 { background-color: #005fff; } +#vt100 .bgAnsi28 { background-color: #008700; } +#vt100 .bgAnsi29 { background-color: #00875f; } +#vt100 .bgAnsi30 { background-color: #008787; } +#vt100 .bgAnsi31 { background-color: #0087af; } +#vt100 .bgAnsi32 { background-color: #0087d7; } +#vt100 .bgAnsi33 { background-color: #0087ff; } +#vt100 .bgAnsi34 { background-color: #00af00; } +#vt100 .bgAnsi35 { background-color: #00af5f; } +#vt100 .bgAnsi36 { background-color: #00af87; } +#vt100 .bgAnsi37 { background-color: #00afaf; } +#vt100 .bgAnsi38 { background-color: #00afd7; } +#vt100 .bgAnsi39 { background-color: #00afff; } +#vt100 .bgAnsi40 { background-color: #00d700; } +#vt100 .bgAnsi41 { background-color: #00d75f; } +#vt100 .bgAnsi42 { background-color: #00d787; } +#vt100 .bgAnsi43 { background-color: #00d7af; } +#vt100 .bgAnsi44 { background-color: #00d7d7; } +#vt100 .bgAnsi45 { background-color: #00d7ff; } +#vt100 .bgAnsi46 { background-color: #00ff00; } +#vt100 .bgAnsi47 { background-color: #00ff5f; } +#vt100 .bgAnsi48 { background-color: #00ff87; } +#vt100 .bgAnsi49 { background-color: #00ffaf; } +#vt100 .bgAnsi50 { background-color: #00ffd7; } +#vt100 .bgAnsi51 { background-color: #00ffff; } +#vt100 .bgAnsi52 { background-color: #5f0000; } +#vt100 .bgAnsi53 { background-color: #5f005f; } +#vt100 .bgAnsi54 { background-color: #5f0087; } +#vt100 .bgAnsi55 { background-color: #5f00af; } +#vt100 .bgAnsi56 { background-color: #5f00d7; } +#vt100 .bgAnsi57 { background-color: #5f00ff; } +#vt100 .bgAnsi58 { background-color: #5f5f00; } +#vt100 .bgAnsi59 { background-color: #5f5f5f; } +#vt100 .bgAnsi60 { background-color: #5f5f87; } +#vt100 .bgAnsi61 { background-color: #5f5faf; } +#vt100 .bgAnsi62 { background-color: #5f5fd7; } +#vt100 .bgAnsi63 { background-color: #5f5fff; } +#vt100 .bgAnsi64 { background-color: #5f8700; } +#vt100 .bgAnsi65 { background-color: #5f875f; } +#vt100 .bgAnsi66 { background-color: #5f8787; } +#vt100 .bgAnsi67 { background-color: #5f87af; } +#vt100 .bgAnsi68 { background-color: #5f87d7; } +#vt100 .bgAnsi69 { background-color: #5f87ff; } +#vt100 .bgAnsi70 { background-color: #5faf00; } +#vt100 .bgAnsi71 { background-color: #5faf5f; } +#vt100 .bgAnsi72 { background-color: #5faf87; } +#vt100 .bgAnsi73 { background-color: #5fafaf; } +#vt100 .bgAnsi74 { background-color: #5fafd7; } +#vt100 .bgAnsi75 { background-color: #5fafff; } +#vt100 .bgAnsi76 { background-color: #5fd700; } +#vt100 .bgAnsi77 { background-color: #5fd75f; } +#vt100 .bgAnsi78 { background-color: #5fd787; } +#vt100 .bgAnsi79 { background-color: #5fd7af; } +#vt100 .bgAnsi80 { background-color: #5fd7d7; } +#vt100 .bgAnsi81 { background-color: #5fd7ff; } +#vt100 .bgAnsi82 { background-color: #5fff00; } +#vt100 .bgAnsi83 { background-color: #5fff5f; } +#vt100 .bgAnsi84 { background-color: #5fff87; } +#vt100 .bgAnsi85 { background-color: #5fffaf; } +#vt100 .bgAnsi86 { background-color: #5fffd7; } +#vt100 .bgAnsi87 { background-color: #5fffff; } +#vt100 .bgAnsi88 { background-color: #870000; } +#vt100 .bgAnsi89 { background-color: #87005f; } +#vt100 .bgAnsi90 { background-color: #870087; } +#vt100 .bgAnsi91 { background-color: #8700af; } +#vt100 .bgAnsi92 { background-color: #8700d7; } +#vt100 .bgAnsi93 { background-color: #8700ff; } +#vt100 .bgAnsi94 { background-color: #875f00; } +#vt100 .bgAnsi95 { background-color: #875f5f; } +#vt100 .bgAnsi96 { background-color: #875f87; } +#vt100 .bgAnsi97 { background-color: #875faf; } +#vt100 .bgAnsi98 { background-color: #875fd7; } +#vt100 .bgAnsi99 { background-color: #875fff; } +#vt100 .bgAnsi100 { background-color: #878700; } +#vt100 .bgAnsi101 { background-color: #87875f; } +#vt100 .bgAnsi102 { background-color: #878787; } +#vt100 .bgAnsi103 { background-color: #8787af; } +#vt100 .bgAnsi104 { background-color: #8787d7; } +#vt100 .bgAnsi105 { background-color: #8787ff; } +#vt100 .bgAnsi106 { background-color: #87af00; } +#vt100 .bgAnsi107 { background-color: #87af5f; } +#vt100 .bgAnsi108 { background-color: #87af87; } +#vt100 .bgAnsi109 { background-color: #87afaf; } +#vt100 .bgAnsi110 { background-color: #87afd7; } +#vt100 .bgAnsi111 { background-color: #87afff; } +#vt100 .bgAnsi112 { background-color: #87d700; } +#vt100 .bgAnsi113 { background-color: #87d75f; } +#vt100 .bgAnsi114 { background-color: #87d787; } +#vt100 .bgAnsi115 { background-color: #87d7af; } +#vt100 .bgAnsi116 { background-color: #87d7d7; } +#vt100 .bgAnsi117 { background-color: #87d7ff; } +#vt100 .bgAnsi118 { background-color: #87ff00; } +#vt100 .bgAnsi119 { background-color: #87ff5f; } +#vt100 .bgAnsi120 { background-color: #87ff87; } +#vt100 .bgAnsi121 { background-color: #87ffaf; } +#vt100 .bgAnsi122 { background-color: #87ffd7; } +#vt100 .bgAnsi123 { background-color: #87ffff; } +#vt100 .bgAnsi124 { background-color: #af0000; } +#vt100 .bgAnsi125 { background-color: #af005f; } +#vt100 .bgAnsi126 { background-color: #af0087; } +#vt100 .bgAnsi127 { background-color: #af00af; } +#vt100 .bgAnsi128 { background-color: #af00d7; } +#vt100 .bgAnsi129 { background-color: #af00ff; } +#vt100 .bgAnsi130 { background-color: #af5f00; } +#vt100 .bgAnsi131 { background-color: #af5f5f; } +#vt100 .bgAnsi132 { background-color: #af5f87; } +#vt100 .bgAnsi133 { background-color: #af5faf; } +#vt100 .bgAnsi134 { background-color: #af5fd7; } +#vt100 .bgAnsi135 { background-color: #af5fff; } +#vt100 .bgAnsi136 { background-color: #af8700; } +#vt100 .bgAnsi137 { background-color: #af875f; } +#vt100 .bgAnsi138 { background-color: #af8787; } +#vt100 .bgAnsi139 { background-color: #af87af; } +#vt100 .bgAnsi140 { background-color: #af87d7; } +#vt100 .bgAnsi141 { background-color: #af87ff; } +#vt100 .bgAnsi142 { background-color: #afaf00; } +#vt100 .bgAnsi143 { background-color: #afaf5f; } +#vt100 .bgAnsi144 { background-color: #afaf87; } +#vt100 .bgAnsi145 { background-color: #afafaf; } +#vt100 .bgAnsi146 { background-color: #afafd7; } +#vt100 .bgAnsi147 { background-color: #afafff; } +#vt100 .bgAnsi148 { background-color: #afd700; } +#vt100 .bgAnsi149 { background-color: #afd75f; } +#vt100 .bgAnsi150 { background-color: #afd787; } +#vt100 .bgAnsi151 { background-color: #afd7af; } +#vt100 .bgAnsi152 { background-color: #afd7d7; } +#vt100 .bgAnsi153 { background-color: #afd7ff; } +#vt100 .bgAnsi154 { background-color: #afff00; } +#vt100 .bgAnsi155 { background-color: #afff5f; } +#vt100 .bgAnsi156 { background-color: #afff87; } +#vt100 .bgAnsi157 { background-color: #afffaf; } +#vt100 .bgAnsi158 { background-color: #afffd7; } +#vt100 .bgAnsi159 { background-color: #afffff; } +#vt100 .bgAnsi160 { background-color: #d70000; } +#vt100 .bgAnsi161 { background-color: #d7005f; } +#vt100 .bgAnsi162 { background-color: #d70087; } +#vt100 .bgAnsi163 { background-color: #d700af; } +#vt100 .bgAnsi164 { background-color: #d700d7; } +#vt100 .bgAnsi165 { background-color: #d700ff; } +#vt100 .bgAnsi166 { background-color: #d75f00; } +#vt100 .bgAnsi167 { background-color: #d75f5f; } +#vt100 .bgAnsi168 { background-color: #d75f87; } +#vt100 .bgAnsi169 { background-color: #d75faf; } +#vt100 .bgAnsi170 { background-color: #d75fd7; } +#vt100 .bgAnsi171 { background-color: #d75fff; } +#vt100 .bgAnsi172 { background-color: #d78700; } +#vt100 .bgAnsi173 { background-color: #d7875f; } +#vt100 .bgAnsi174 { background-color: #d78787; } +#vt100 .bgAnsi175 { background-color: #d787af; } +#vt100 .bgAnsi176 { background-color: #d787d7; } +#vt100 .bgAnsi177 { background-color: #d787ff; } +#vt100 .bgAnsi178 { background-color: #d7af00; } +#vt100 .bgAnsi179 { background-color: #d7af5f; } +#vt100 .bgAnsi180 { background-color: #d7af87; } +#vt100 .bgAnsi181 { background-color: #d7afaf; } +#vt100 .bgAnsi182 { background-color: #d7afd7; } +#vt100 .bgAnsi183 { background-color: #d7afff; } +#vt100 .bgAnsi184 { background-color: #d7d700; } +#vt100 .bgAnsi185 { background-color: #d7d75f; } +#vt100 .bgAnsi186 { background-color: #d7d787; } +#vt100 .bgAnsi187 { background-color: #d7d7af; } +#vt100 .bgAnsi188 { background-color: #d7d7d7; } +#vt100 .bgAnsi189 { background-color: #d7d7ff; } +#vt100 .bgAnsi190 { background-color: #d7ff00; } +#vt100 .bgAnsi191 { background-color: #d7ff5f; } +#vt100 .bgAnsi192 { background-color: #d7ff87; } +#vt100 .bgAnsi193 { background-color: #d7ffaf; } +#vt100 .bgAnsi194 { background-color: #d7ffd7; } +#vt100 .bgAnsi195 { background-color: #d7ffff; } +#vt100 .bgAnsi196 { background-color: #ff0000; } +#vt100 .bgAnsi197 { background-color: #ff005f; } +#vt100 .bgAnsi198 { background-color: #ff0087; } +#vt100 .bgAnsi199 { background-color: #ff00af; } +#vt100 .bgAnsi200 { background-color: #ff00d7; } +#vt100 .bgAnsi201 { background-color: #ff00ff; } +#vt100 .bgAnsi202 { background-color: #ff5f00; } +#vt100 .bgAnsi203 { background-color: #ff5f5f; } +#vt100 .bgAnsi204 { background-color: #ff5f87; } +#vt100 .bgAnsi205 { background-color: #ff5faf; } +#vt100 .bgAnsi206 { background-color: #ff5fd7; } +#vt100 .bgAnsi207 { background-color: #ff5fff; } +#vt100 .bgAnsi208 { background-color: #ff8700; } +#vt100 .bgAnsi209 { background-color: #ff875f; } +#vt100 .bgAnsi210 { background-color: #ff8787; } +#vt100 .bgAnsi211 { background-color: #ff87af; } +#vt100 .bgAnsi212 { background-color: #ff87d7; } +#vt100 .bgAnsi213 { background-color: #ff87ff; } +#vt100 .bgAnsi214 { background-color: #ffaf00; } +#vt100 .bgAnsi215 { background-color: #ffaf5f; } +#vt100 .bgAnsi216 { background-color: #ffaf87; } +#vt100 .bgAnsi217 { background-color: #ffafaf; } +#vt100 .bgAnsi218 { background-color: #ffafd7; } +#vt100 .bgAnsi219 { background-color: #ffafff; } +#vt100 .bgAnsi220 { background-color: #ffd700; } +#vt100 .bgAnsi221 { background-color: #ffd75f; } +#vt100 .bgAnsi222 { background-color: #ffd787; } +#vt100 .bgAnsi223 { background-color: #ffd7af; } +#vt100 .bgAnsi224 { background-color: #ffd7d7; } +#vt100 .bgAnsi225 { background-color: #ffd7ff; } +#vt100 .bgAnsi226 { background-color: #ffff00; } +#vt100 .bgAnsi227 { background-color: #ffff5f; } +#vt100 .bgAnsi228 { background-color: #ffff87; } +#vt100 .bgAnsi229 { background-color: #ffffaf; } +#vt100 .bgAnsi230 { background-color: #ffffd7; } +#vt100 .bgAnsi231 { background-color: #ffffff; } +#vt100 .bgAnsi232 { background-color: #080808; } +#vt100 .bgAnsi233 { background-color: #121212; } +#vt100 .bgAnsi234 { background-color: #1c1c1c; } +#vt100 .bgAnsi235 { background-color: #262626; } +#vt100 .bgAnsi236 { background-color: #303030; } +#vt100 .bgAnsi237 { background-color: #3a3a3a; } +#vt100 .bgAnsi238 { background-color: #444444; } +#vt100 .bgAnsi239 { background-color: #4e4e4e; } +#vt100 .bgAnsi240 { background-color: #585858; } +#vt100 .bgAnsi241 { background-color: #626262; } +#vt100 .bgAnsi242 { background-color: #6c6c6c; } +#vt100 .bgAnsi243 { background-color: #767676; } +#vt100 .bgAnsi244 { background-color: #808080; } +#vt100 .bgAnsi245 { background-color: #8a8a8a; } +#vt100 .bgAnsi246 { background-color: #949494; } +#vt100 .bgAnsi247 { background-color: #9e9e9e; } +#vt100 .bgAnsi248 { background-color: #a8a8a8; } +#vt100 .bgAnsi249 { background-color: #b2b2b2; } +#vt100 .bgAnsi250 { background-color: #bcbcbc; } +#vt100 .bgAnsi251 { background-color: #c6c6c6; } +#vt100 .bgAnsi252 { background-color: #d0d0d0; } +#vt100 .bgAnsi253 { background-color: #dadada; } +#vt100 .bgAnsi254 { background-color: #e4e4e4; } +#vt100 .bgAnsi255 { background-color: #eeeeee; } +[endif DEFINES_COLORS] diff --git a/shellinabox/vt100.jspp b/shellinabox/vt100.jspp index b477e17..106a939 100755 --- a/shellinabox/vt100.jspp +++ b/shellinabox/vt100.jspp @@ -182,6 +182,8 @@ function VT100(container) { this.savedX = [ ]; this.savedY = [ ]; this.savedAttr = [ ]; + this.savedAttrFg = [ ]; + this.savedAttrBg = [ ]; this.savedUseGMap = 0; this.savedGMap = [ this.Latin1Map, this.VT100GraphicsMap, this.CodePage437Map, this.DirectToFontMap ]; @@ -216,6 +218,8 @@ VT100.prototype.reset = function(clearHistory) { this.color = 'ansi0 bgAnsi15'; this.style = ''; this.attr = ATTR_DEFAULT; + this.attrFg = false; + this.attrBg = false; this.useGMap = 0; this.GMap = [ this.Latin1Map, this.VT100GraphicsMap, @@ -3359,6 +3363,15 @@ VT100.prototype.updateStyle = function() { if (this.attr & ATTR_BLINK) { this.style = 'text-decoration: blink;'; } + + // Extended color mode support (256 colors). + if (this.attrFg) { + fg = this.attrFg; + } + if (this.attrBg) { + bg = this.attrBg; + } + this.color = 'ansi' + fg + ' bgAnsi' + bg; }; @@ -3370,14 +3383,16 @@ VT100.prototype.setAttrColors = function(attr) { }; VT100.prototype.saveCursor = function() { - this.savedX[this.currentScreen] = this.cursorX; - this.savedY[this.currentScreen] = this.cursorY; - this.savedAttr[this.currentScreen] = this.attr; - this.savedUseGMap = this.useGMap; + this.savedX[this.currentScreen] = this.cursorX; + this.savedY[this.currentScreen] = this.cursorY; + this.savedAttr[this.currentScreen] = this.attr; + this.savedAttrFg[this.currentScreen] = this.attrFg; + this.savedAttrBg[this.currentScreen] = this.attrBg; + this.savedUseGMap = this.useGMap; for (var i = 0; i < 4; i++) { - this.savedGMap[i] = this.GMap[i]; + this.savedGMap[i] = this.GMap[i]; } - this.savedValid[this.currentScreen] = true; + this.savedValid[this.currentScreen] = true; }; VT100.prototype.restoreCursor = function() { @@ -3385,6 +3400,8 @@ VT100.prototype.restoreCursor = function() { return; } this.attr = this.savedAttr[this.currentScreen]; + this.attrFg = this.savedAttrFg[this.currentScreen]; + this.attrBg = this.savedAttrBg[this.currentScreen]; this.updateStyle(); this.useGMap = this.savedUseGMap; for (var i = 0; i < 4; i++) { @@ -3804,7 +3821,11 @@ VT100.prototype.csiM = function(number) { VT100.prototype.csim = function() { for (var i = 0; i <= this.npar; i++) { switch (this.par[i]) { - case 0: this.attr = ATTR_DEFAULT; break; + case 0: + this.attr = ATTR_DEFAULT; + this.attrFg = false; + this.attrBg = false; + break; case 1: this.attr = (this.attr & ~ATTR_DIM)|ATTR_BRIGHT; break; case 2: this.attr = (this.attr & ~ATTR_BRIGHT)|ATTR_DIM; break; case 4: this.attr |= ATTR_UNDERLINE; break; @@ -3830,17 +3851,44 @@ VT100.prototype.csim = function() { case 24: this.attr &= ~ ATTR_UNDERLINE; break; case 25: this.attr &= ~ ATTR_BLINK; break; case 27: this.attr &= ~ ATTR_REVERSE; break; - case 38: this.attr = (this.attr & ~(ATTR_DIM|ATTR_BRIGHT|0x0F))| - ATTR_UNDERLINE; break; - case 39: this.attr &= ~(ATTR_DIM|ATTR_BRIGHT|ATTR_UNDERLINE|0x0F); break; - case 49: this.attr |= 0xF0; break; + case 38: + if (this.npar >= (i+2) && this.par[i+1] == 5) { + // Foreground color for extended color mode (256 colors). Escape code is formated + // as: ESC 38; 5; 0-255. Last parameter is color code in range [0-255]. This is + // not VT100 standard. + this.attrFg = (this.par[i+2] >= 0 && this.par[i+2] <= 255) ? this.par[i+2] : null; + i += 2; + } else { + // Default VT100 behaviour. + this.attr = (this.attr & ~(ATTR_DIM|ATTR_BRIGHT|0x0F))|ATTR_UNDERLINE; + } + break; + case 39: + this.attr &= ~(ATTR_DIM|ATTR_BRIGHT|ATTR_UNDERLINE|0x0F); + this.attrFg = false; + break; + case 48: + if (this.npar >= (i+2) && this.par[i+1] == 5) { + // Background color for extended color mode (256 colors). Escape code is formated + // as: ESC 48; 5; 0-255. Last parameter is color code in range [0-255]. This is + // not VT100 standard. + this.attrBg = (this.par[i+2] >= 0 && this.par[i+2] <= 255) ? this.par[i+2] : null; + i += 2; + } + break; + case 49: + this.attr |= 0xF0; + this.attrBg = false; + break; default: if (this.par[i] >= 30 && this.par[i] <= 37) { var fg = this.par[i] - 30; this.attr = (this.attr & ~0x0F) | fg; + this.attrFg = false; } else if (this.par[i] >= 40 && this.par[i] <= 47) { var bg = this.par[i] - 40; this.attr = (this.attr & ~0xF0) | (bg << 4); + this.attrBg = false; } break; }