From d711909812b32e351a3e6e1e914063fb80667f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Mon, 31 Jul 2017 00:39:46 +0200 Subject: [PATCH] w.i.p. Terminal Themes added, improved terminal color picker, new compression in front-end --- html_orig/_debug_replacements.php | 13 +- html_orig/css/app.css | 547 +++++++++++++++++++++++------ html_orig/fontello/fontello.zip | Bin 52542 -> 54971 bytes html_orig/js/app.js | 535 ++++++++++++++-------------- html_orig/jssrc/term.js | 561 ++++++++++++++++-------------- html_orig/lang/en.php | 27 +- html_orig/pages/cfg_term.php | 120 +++++-- html_orig/pages/help.php | 2 +- html_orig/pages/term.php | 28 +- html_orig/sass/_fontello.scss | 6 +- html_orig/sass/_term-colors.scss | 24 -- html_orig/sass/app.scss | 1 - html_orig/sass/pages/_term.scss | 134 ++++++- user/cgi_main.c | 16 +- user/cgi_term_cfg.c | 14 + user/persist.c | 11 +- user/persist.h | 2 +- user/screen.c | 20 +- user/screen.h | 2 + 19 files changed, 1329 insertions(+), 734 deletions(-) delete mode 100644 html_orig/sass/_term-colors.scss diff --git a/html_orig/_debug_replacements.php b/html_orig/_debug_replacements.php index bbaa401..ef20620 100644 --- a/html_orig/_debug_replacements.php +++ b/html_orig/_debug_replacements.php @@ -14,12 +14,13 @@ return [ '%btn4%' => '4', '%btn5%' => '5', - '%screenData%' => '{ + '%screenData%' => '  HELLOx NRE3',//'\u000b\u0001\u001b\u0001\u0001\u0001\u0001\u0001\f\u0005\u0001\u0010\u0003HELLOx\u0002\u000b\u0001\u0001N\u0001RE\u00023\u0001', //, + /*'{ "w": 26, "h": 10, - "x": 0, "y": 0, - "cv": 1, - "screen": "70 t259" - }', + "x": 10, "y": 5, + "cv": 1, "fg": 10, "bg": 2, + "screen": "" + }',//"70 t259"*/ '%opmode%' => '2', '%sta_enable%' => '0', @@ -65,4 +66,6 @@ return [ '%uart_baud%' => 115200, '%uart_stopbits%' => 1, '%uart_parity%' => 2, + + '%theme%' => 5, ]; diff --git a/html_orig/css/app.css b/html_orig/css/app.css index 5e352c3..88ee2fe 100644 --- a/html_orig/css/app.css +++ b/html_orig/css/app.css @@ -311,7 +311,7 @@ th { /* Fontello data, processed by the unpack script. */ @font-face { font-family: 'fontello'; - src: url("data:application/octet-stream;base64,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") format("woff"), url("data:application/octet-stream;base64,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") format("truetype"); } + src: url("data:application/octet-stream;base64,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") format("woff"), url("data:application/octet-stream;base64,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JzYmJzMyNTYnJgM2NyYiLwE2Ji8BJi8BJg8BIg8BFSYnIi4BDgEPASY2JgYPAQY2BhUOARUuATceARcWBwYHBhcUBhYBrXTGcnLG6MhuBnq8ARMCCAMBAgQDERUTCgEMAggGAwEHBgQECgUGBAEIAQIBAwMEBAQEBgEGAggJBQQGAgQDAQgMAQUcBAMCAgEIAQ4BAgcJAwQEAQQCAwEHCgIEBQ0DAxQOEwQIBgECAQIFCQIBEwkGBAIFBgoDCAQHBQIDBgkEBgEFCQQFAwMCBQQBDgcLDwQQAwMBCAQIAQgDAQgEAwICAwQCBBIFAwwMAQMDAgwZGwMGBQUTBQMLBA0LAQQCBgQIBAkEUTIEBQIGBQMBGAoBAgcFBAMEBAQBAgEBAQIKBwcSBAcJBAMIBAIOAQECAg4CBAICDwgDBAMCAwUBBAoKAQQIBAUMBwIDCAMJBxYGBgUICBAEFAoBAgQCBgMOAwQBCgUIEQoCAgICAQUCBAEKAgMMAwIIAQIIAwEDAgcLBAECAggUAwgKAQIBBAIDBQIBAwIBAwEEGAMJAwEBAQMNAg4EAgMBBAMFAgYIBAICAQgEBAcIBQcMBAQCAgIGAQUEAwIDBQwEAhIBBAICBQ4JAgIKCAUJAgYGBwUJDAppc1ABDAENAQQDFQEDBQIDAgIBBQwIAwYGBgYBAQQIBAoBBwYCCgIEAQwBAQICBAsPAQIJCgEDPXTE6sR0dMTqxHT+3QEIAgYGAQQIAwULAQwBAwICDAEKBwIDBAIEAQIGDAUGAwMCBAEBAwMEAgQBAwMCAggEAgYEAQMEAQQEBgcDCAcKBwQFBgUMAwECBAIBAwwJDgMEBQcIBQMRAgMOCAUMAwEDCQkGBAMGAQ4ECgQBAgUCAgYKBAcHBwEJBQgHCAMCBwMCBAIGAgQFCgMDDgIFAgIFBAcCAQoIDwIDAwcDAg4DAgMEBgQGBAQBAS1PBAEIBAMEBg8KAgYEBQQFDgkUCwIBBhoCARcFBAYDBRQDAxAFAgEECAUIBAELGA0FDAICBAQMCA4EDgEKCxQHCAEFAw0CAQIBEgMKBAQJBQYCAwoDAgMFDAIQCBIDAwQEBgIECgcOAQUCBAEEAgIQBQ8FAgUDAgsCCAQEAgIEGA4JDgUJAQQGAQIDAgEEAwYHBgUCDwoBBAECAwECAwgFFwQCCAgDBQ4CCgoFAQID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") format("truetype"); } [class^="icn-"]::before, [class*=" icn-"]::before { font-family: "fontello"; font-style: normal; @@ -341,6 +341,9 @@ th { /* Fontello icon codes */ /* Fontello classes */ +.icn-keyboard::before { + content: '\2328'; } + .icn-about::before { content: '\2605'; } @@ -1087,11 +1090,14 @@ form span.required { .AP-preview .wrap .x-passwd { font-family: monospace; } -body.term h1 { - font-size: 1.80203em; } - @media screen and (max-width: 544px) { - body.term h1 { - font-size: 1.42383em; } } +body.term #content { + padding-left: 0; + padding-right: 0; } + body.term #content h1 { + font-size: 1.80203em; } + @media screen and (max-width: 544px) { + body.term #content h1 { + font-size: 1.42383em; } } body.term #screen { -webkit-user-select: none; -moz-user-select: none; @@ -1118,7 +1124,7 @@ body.term #buttons { body.term #buttons button { margin: 0 3px; padding: 8px 5px; - min-width: 65px; + min-width: 62px; cursor: pointer; font-weight: bold; } body.term #botnav { @@ -1128,13 +1134,436 @@ body.term #botnav { padding: 0 0.38198rem; text-decoration: underline; } body.term #botnav a, body.term #botnav a:visited, body.term #botnav a:link { - color: #2e4d6e; } + color: #336085; } body.term #botnav a:hover { color: #5abfff; } + body.term #botnav .icn-keyboard { + text-decoration: none; + font-size: 150%; + vertical-align: middle; } #termwrap { text-align: center; } +#softkb-input { + position: absolute; + top: -9999px; } + +.nb { + font-weight: normal !important; } + +.theme-0 .fg0 { + color: #111213; } +.theme-0 .bg0 { + background-color: #111213; } +.theme-0 .fg1 { + color: #CC0000; } +.theme-0 .bg1 { + background-color: #CC0000; } +.theme-0 .fg2 { + color: #4E9A06; } +.theme-0 .bg2 { + background-color: #4E9A06; } +.theme-0 .fg3 { + color: #C4A000; } +.theme-0 .bg3 { + background-color: #C4A000; } +.theme-0 .fg4 { + color: #3465A4; } +.theme-0 .bg4 { + background-color: #3465A4; } +.theme-0 .fg5 { + color: #75507B; } +.theme-0 .bg5 { + background-color: #75507B; } +.theme-0 .fg6 { + color: #06989A; } +.theme-0 .bg6 { + background-color: #06989A; } +.theme-0 .fg7 { + color: #D3D7CF; } +.theme-0 .bg7 { + background-color: #D3D7CF; } +.theme-0 .fg8 { + color: #555753; } +.theme-0 .bg8 { + background-color: #555753; } +.theme-0 .fg9 { + color: #EF2929; } +.theme-0 .bg9 { + background-color: #EF2929; } +.theme-0 .fg10 { + color: #8AE234; } +.theme-0 .bg10 { + background-color: #8AE234; } +.theme-0 .fg11 { + color: #FCE94F; } +.theme-0 .bg11 { + background-color: #FCE94F; } +.theme-0 .fg12 { + color: #729FCF; } +.theme-0 .bg12 { + background-color: #729FCF; } +.theme-0 .fg13 { + color: #AD7FA8; } +.theme-0 .bg13 { + background-color: #AD7FA8; } +.theme-0 .fg14 { + color: #34E2E2; } +.theme-0 .bg14 { + background-color: #34E2E2; } +.theme-0 .fg15 { + color: #EEEEEC; } +.theme-0 .bg15 { + background-color: #EEEEEC; } + +.theme-1 .fg0 { + color: #000000; } +.theme-1 .bg0 { + background-color: #000000; } +.theme-1 .fg1 { + color: #aa0000; } +.theme-1 .bg1 { + background-color: #aa0000; } +.theme-1 .fg2 { + color: #00aa00; } +.theme-1 .bg2 { + background-color: #00aa00; } +.theme-1 .fg3 { + color: #aa5500; } +.theme-1 .bg3 { + background-color: #aa5500; } +.theme-1 .fg4 { + color: #0000aa; } +.theme-1 .bg4 { + background-color: #0000aa; } +.theme-1 .fg5 { + color: #aa00aa; } +.theme-1 .bg5 { + background-color: #aa00aa; } +.theme-1 .fg6 { + color: #00aaaa; } +.theme-1 .bg6 { + background-color: #00aaaa; } +.theme-1 .fg7 { + color: #aaaaaa; } +.theme-1 .bg7 { + background-color: #aaaaaa; } +.theme-1 .fg8 { + color: #555555; } +.theme-1 .bg8 { + background-color: #555555; } +.theme-1 .fg9 { + color: #ff5555; } +.theme-1 .bg9 { + background-color: #ff5555; } +.theme-1 .fg10 { + color: #55ff55; } +.theme-1 .bg10 { + background-color: #55ff55; } +.theme-1 .fg11 { + color: #ffff55; } +.theme-1 .bg11 { + background-color: #ffff55; } +.theme-1 .fg12 { + color: #5555ff; } +.theme-1 .bg12 { + background-color: #5555ff; } +.theme-1 .fg13 { + color: #ff55ff; } +.theme-1 .bg13 { + background-color: #ff55ff; } +.theme-1 .fg14 { + color: #55ffff; } +.theme-1 .bg14 { + background-color: #55ffff; } +.theme-1 .fg15 { + color: #ffffff; } +.theme-1 .bg15 { + background-color: #ffffff; } + +.theme-2 .fg0 { + color: #000000; } +.theme-2 .bg0 { + background-color: #000000; } +.theme-2 .fg1 { + color: #cd0000; } +.theme-2 .bg1 { + background-color: #cd0000; } +.theme-2 .fg2 { + color: #00cd00; } +.theme-2 .bg2 { + background-color: #00cd00; } +.theme-2 .fg3 { + color: #cdcd00; } +.theme-2 .bg3 { + background-color: #cdcd00; } +.theme-2 .fg4 { + color: #0000ee; } +.theme-2 .bg4 { + background-color: #0000ee; } +.theme-2 .fg5 { + color: #cd00cd; } +.theme-2 .bg5 { + background-color: #cd00cd; } +.theme-2 .fg6 { + color: #00cdcd; } +.theme-2 .bg6 { + background-color: #00cdcd; } +.theme-2 .fg7 { + color: #e5e5e5; } +.theme-2 .bg7 { + background-color: #e5e5e5; } +.theme-2 .fg8 { + color: #7f7f7f; } +.theme-2 .bg8 { + background-color: #7f7f7f; } +.theme-2 .fg9 { + color: #ff0000; } +.theme-2 .bg9 { + background-color: #ff0000; } +.theme-2 .fg10 { + color: #00ff00; } +.theme-2 .bg10 { + background-color: #00ff00; } +.theme-2 .fg11 { + color: #ffff00; } +.theme-2 .bg11 { + background-color: #ffff00; } +.theme-2 .fg12 { + color: #5c5cff; } +.theme-2 .bg12 { + background-color: #5c5cff; } +.theme-2 .fg13 { + color: #ff00ff; } +.theme-2 .bg13 { + background-color: #ff00ff; } +.theme-2 .fg14 { + color: #00ffff; } +.theme-2 .bg14 { + background-color: #00ffff; } +.theme-2 .fg15 { + color: #ffffff; } +.theme-2 .bg15 { + background-color: #ffffff; } + +.theme-3 .fg0 { + color: #000000; } +.theme-3 .bg0 { + background-color: #000000; } +.theme-3 .fg1 { + color: #cd0000; } +.theme-3 .bg1 { + background-color: #cd0000; } +.theme-3 .fg2 { + color: #00cd00; } +.theme-3 .bg2 { + background-color: #00cd00; } +.theme-3 .fg3 { + color: #cdcd00; } +.theme-3 .bg3 { + background-color: #cdcd00; } +.theme-3 .fg4 { + color: #0000cd; } +.theme-3 .bg4 { + background-color: #0000cd; } +.theme-3 .fg5 { + color: #cd00cd; } +.theme-3 .bg5 { + background-color: #cd00cd; } +.theme-3 .fg6 { + color: #00cdcd; } +.theme-3 .bg6 { + background-color: #00cdcd; } +.theme-3 .fg7 { + color: #faebd7; } +.theme-3 .bg7 { + background-color: #faebd7; } +.theme-3 .fg8 { + color: #404040; } +.theme-3 .bg8 { + background-color: #404040; } +.theme-3 .fg9 { + color: #ff0000; } +.theme-3 .bg9 { + background-color: #ff0000; } +.theme-3 .fg10 { + color: #00ff00; } +.theme-3 .bg10 { + background-color: #00ff00; } +.theme-3 .fg11 { + color: #ffff00; } +.theme-3 .bg11 { + background-color: #ffff00; } +.theme-3 .fg12 { + color: #0000ff; } +.theme-3 .bg12 { + background-color: #0000ff; } +.theme-3 .fg13 { + color: #ff00ff; } +.theme-3 .bg13 { + background-color: #ff00ff; } +.theme-3 .fg14 { + color: #00ffff; } +.theme-3 .bg14 { + background-color: #00ffff; } +.theme-3 .fg15 { + color: #ffffff; } +.theme-3 .bg15 { + background-color: #ffffff; } + +.theme-4 .fg0 { + color: #2e3436; } +.theme-4 .bg0 { + background-color: #2e3436; } +.theme-4 .fg1 { + color: #cc0000; } +.theme-4 .bg1 { + background-color: #cc0000; } +.theme-4 .fg2 { + color: #4e9a06; } +.theme-4 .bg2 { + background-color: #4e9a06; } +.theme-4 .fg3 { + color: #c4a000; } +.theme-4 .bg3 { + background-color: #c4a000; } +.theme-4 .fg4 { + color: #3465a4; } +.theme-4 .bg4 { + background-color: #3465a4; } +.theme-4 .fg5 { + color: #75507b; } +.theme-4 .bg5 { + background-color: #75507b; } +.theme-4 .fg6 { + color: #06989a; } +.theme-4 .bg6 { + background-color: #06989a; } +.theme-4 .fg7 { + color: #d3d7cf; } +.theme-4 .bg7 { + background-color: #d3d7cf; } +.theme-4 .fg8 { + color: #555753; } +.theme-4 .bg8 { + background-color: #555753; } +.theme-4 .fg9 { + color: #ef2929; } +.theme-4 .bg9 { + background-color: #ef2929; } +.theme-4 .fg10 { + color: #8ae234; } +.theme-4 .bg10 { + background-color: #8ae234; } +.theme-4 .fg11 { + color: #fce94f; } +.theme-4 .bg11 { + background-color: #fce94f; } +.theme-4 .fg12 { + color: #729fcf; } +.theme-4 .bg12 { + background-color: #729fcf; } +.theme-4 .fg13 { + color: #ad7fa8; } +.theme-4 .bg13 { + background-color: #ad7fa8; } +.theme-4 .fg14 { + color: #34e2e2; } +.theme-4 .bg14 { + background-color: #34e2e2; } +.theme-4 .fg15 { + color: #eeeeec; } +.theme-4 .bg15 { + background-color: #eeeeec; } + +.theme-5 .fg0 { + color: #073642; } +.theme-5 .bg0 { + background-color: #073642; } +.theme-5 .fg1 { + color: #dc322f; } +.theme-5 .bg1 { + background-color: #dc322f; } +.theme-5 .fg2 { + color: #859900; } +.theme-5 .bg2 { + background-color: #859900; } +.theme-5 .fg3 { + color: #b58900; } +.theme-5 .bg3 { + background-color: #b58900; } +.theme-5 .fg4 { + color: #268bd2; } +.theme-5 .bg4 { + background-color: #268bd2; } +.theme-5 .fg5 { + color: #d33682; } +.theme-5 .bg5 { + background-color: #d33682; } +.theme-5 .fg6 { + color: #2aa198; } +.theme-5 .bg6 { + background-color: #2aa198; } +.theme-5 .fg7 { + color: #eee8d5; } +.theme-5 .bg7 { + background-color: #eee8d5; } +.theme-5 .fg8 { + color: #002b36; } +.theme-5 .bg8 { + background-color: #002b36; } +.theme-5 .fg9 { + color: #cb4b16; } +.theme-5 .bg9 { + background-color: #cb4b16; } +.theme-5 .fg10 { + color: #586e75; } +.theme-5 .bg10 { + background-color: #586e75; } +.theme-5 .fg11 { + color: #657b83; } +.theme-5 .bg11 { + background-color: #657b83; } +.theme-5 .fg12 { + color: #839496; } +.theme-5 .bg12 { + background-color: #839496; } +.theme-5 .fg13 { + color: #6c71c4; } +.theme-5 .bg13 { + background-color: #6c71c4; } +.theme-5 .fg14 { + color: #93a1a1; } +.theme-5 .bg14 { + background-color: #93a1a1; } +.theme-5 .fg15 { + color: #fdf6e3; } +.theme-5 .bg15 { + background-color: #fdf6e3; } + +.bold { + font-weight: bold !important; } + +.Row.color-preview { + font-family: monospace; + font-size: 16pt; + display: block; + margin-bottom: 0; + padding-left: 160px; } + @media screen and (max-width: 544px) { + .Row.color-preview { + padding-left: 0; + font-size: 14pt; } } + .Row.color-preview .colorprev { + display: block; + margin: 0; + cursor: pointer; } + +#color-example { + display: inline-block; + padding: 5px; } + .page-about .Box { padding-left: 1rem; padding-right: 1rem; } @@ -1173,108 +1602,6 @@ body.term #botnav { .ansiref.w100 td:nth-child(2) { width: 8em; } -.fg0 { - color: #111213; } - -.bg0 { - background-color: #111213; } - -.fg1 { - color: #CC0000; } - -.bg1 { - background-color: #CC0000; } - -.fg2 { - color: #4E9A06; } - -.bg2 { - background-color: #4E9A06; } - -.fg3 { - color: #C4A000; } - -.bg3 { - background-color: #C4A000; } - -.fg4 { - color: #3465A4; } - -.bg4 { - background-color: #3465A4; } - -.fg5 { - color: #75507B; } - -.bg5 { - background-color: #75507B; } - -.fg6 { - color: #06989A; } - -.bg6 { - background-color: #06989A; } - -.fg7 { - color: #D3D7CF; } - -.bg7 { - background-color: #D3D7CF; } - -.fg8 { - color: #555753; } - -.bg8 { - background-color: #555753; } - -.fg9 { - color: #EF2929; } - -.bg9 { - background-color: #EF2929; } - -.fg10 { - color: #8AE234; } - -.bg10 { - background-color: #8AE234; } - -.fg11 { - color: #FCE94F; } - -.bg11 { - background-color: #FCE94F; } - -.fg12 { - color: #729FCF; } - -.bg12 { - background-color: #729FCF; } - -.fg13 { - color: #AD7FA8; } - -.bg13 { - background-color: #AD7FA8; } - -.fg14 { - color: #34E2E2; } - -.bg14 { - background-color: #34E2E2; } - -.fg15 { - color: #EEEEEC; } - -.bg15 { - background-color: #EEEEEC; } - -.fg8, .fg9, .fg10, .fg11, .fg12, .fg13, .fg14, .fg15 { - font-weight: bold; } - -.nb { - font-weight: normal !important; } - @media screen and (min-width: 545px) { .mq-phone { display: none !important; } } diff --git a/html_orig/fontello/fontello.zip b/html_orig/fontello/fontello.zip index a9d757fc347cfaf178b559ecd260e311bc2b96a3..0af4bdae34e62b2d21fb8834113fd0026e48753f 100644 GIT binary patch delta 52940 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 XAUMxNN`u{8AW)$PDX8$^i}t?(eFZxz delta 50514 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%0DR-$6Ydp`L8TzfH?L0B#~N_Z9oRgnxK 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 i--) { + var cell = screen[i]; + cell.t = ' '; + cell.bg = cursor.bg; + cell.fg = cursor.fg; + cell.bold = false; + _draw(cell); } + } - /** Get cell under cursor */ - function cursorCell() { - return cellAt(cursor.y, cursor.x); - } + /** Set text and color at XY */ + function _cellAt(y, x) { + return screen[y*W+x]; + } -/* - /!** Enable or disable cursor visibility *!/ - function cursorEnable(enable) { - cursor.hidden = !enable; - cursor.a &= enable; - blit(cursorCell(), cursor.a); - } + /** Get cell under cursor */ + function _curCell() { + return screen[cursor.y*W + cursor.x]; + } - /!** Safely move cursor *!/ - function cursorSet(y, x) { - // Hide and prevent from showing up during the move - cursor.suppress = true; - blit(cursorCell(), false); + /** Enable or disable cursor visibility */ + function _cursorEnable(enable) { + cursor.hidden = !enable; + cursor.a &= enable; + _draw(_curCell()); + } - cursor.x = x; - cursor.y = y; + /** Safely move cursor */ + function cursorSet(y, x) { + // Hide and prevent from showing up during the move + cursor.suppress = true; + _draw(_curCell(), false); + cursor.x = x; + cursor.y = y; + // Show again + cursor.suppress = false; + _draw(_curCell()); + } - // Show again - cursor.suppress = false; - blit(cursorCell(), cursor.a); - } -*/ - - /** Update cell on display. inv = invert (for cursor) */ - function blit(cell, inv) { - var e = cell.e, fg, bg; - // Colors - fg = inv ? cell.bg : cell.fg; - bg = inv ? cell.fg : cell.bg; - // Update - e.innerText = (cell.t+' ')[0]; - e.className = 'fg'+fg+' bg'+bg; + /** Update cell on display. inv = invert (for cursor) */ + function _draw(cell, inv) { + if (typeof inv == 'undefined') { + inv = cursor.a && cursor.x == cell.x && cursor.y == cell.y; } - /** Show entire screen */ - function blitAll() { - screen.forEach(function(cell, i) { - /* Invert if under cursor & cursor active */ - var inv = cursor.a && (i == cursor.y*W+cursor.x); - blit(cell, inv); - }); - } + var e = cell.e, fg, bg; + // Colors + fg = inv ? cell.bg : cell.fg; + bg = inv ? cell.fg : cell.bg; + // Update + e.innerText = (cell.t + ' ')[0]; + e.className = 'fg' + fg + ' bg' + bg + (cell.bold ? ' bold' : ''); + } - /** Load screen content from a 'binary' sequence */ - function load(obj) { - cursor.x = obj.x; - cursor.y = obj.y; - cursor.hidden = !obj.cv; + /** Show entire screen */ + function _drawAll() { + for (var i = W*H-1; i>=0; i--) { + _draw(screen[i]); + } + } - // full re-init if size changed - if (obj.w != W || obj.h != H) { - Term.init(obj); - return; - } + function _rebuild(rows, cols) { + W = cols; + H = rows; - // Simple compression - hexFG hexBG 'ASCII' (r/s/t/u NUM{1,2,3,4})? - // comma instead of both colors = same as before + /* Build screen & show */ + var e, cell, scr = qs('#screen'); - var i = 0, ci = 0, str = obj.screen; - var fg = 7, bg = 0; - while(i < str.length && ci 0) { - var rep = parseInt(str.substr(i+1,repchars)); - i = i + repchars + 1; - for (; rep>0 && ci 0) && (i % W == 0)) { + scr.appendChild(mk('br')); } - - blitAll(); + /* The cell */ + scr.appendChild(e); + + cell = { + t: ' ', + fg: cursor.fg, + bg: cursor.bg, + e: e, + x: i % W, + y: Math.floor(i / W), + }; + screen.push(cell); + _draw(cell); } + } - /** Init the terminal */ - function init(obj) { - W = obj.w; - H = obj.h; + /** Init the terminal */ + function _init() { + /* Cursor blinking */ + clearInterval(blinkIval); + blinkIval = setInterval(function () { + cursor.a = !cursor.a; + if (cursor.hidden) { + cursor.a = false; + } - /* Build screen & show */ - var e, cell, scr = qs('#screen'); + if (!cursor.suppress) { + _draw(_curCell(), cursor.a); + } + }, 500); + inited = true; + } - // Empty the screen node - while (scr.firstChild) scr.removeChild(scr.firstChild); + /** Decode two-byte number */ + function parse2B(s, i) { + return (s.charCodeAt(i++) - 1) + (s.charCodeAt(i) - 1) * 127; + } - screen = []; + var SEQ_SET_COLOR = 1; + var SEQ_REPEAT = 2; - for(var i = 0; i < W*H; i++) { - e = mk('span'); + /** Load screen content from a binary sequence (new) */ + function load(str) { + var i = 0, ci = 0, j, jc, num, num2, t = ' ', fg, bg, bold, cell; - (function() { - var x = i % W; - var y = Math.floor(i / W); - e.addEventListener('click', function () { - Input.onTap(y, x); - }); - })(); + if (!inited) _init(); - /* End of line */ - if ((i > 0) && (i % W == 0)) { - scr.appendChild(mk('br')); + // Set size + num = parse2B(str, i); i += 2; + num2 = parse2B(str, i); i += 2; + if (num != H || num2 != W) { + _rebuild(num, num2); + } + console.log("Size ",num, num2); + + // Cursor position + num = parse2B(str, i); i += 2; + num2 = parse2B(str, i); i += 2; + cursorSet(num, num2); + console.log("Cursor at ",num, num2); + + // Attributes + num = parse2B(str, i); i += 2; + cursor.fg = num & 0x0F; + cursor.bg = (num & 0xF0) >> 4; + cursor.bold = !!(num & 0x100); + cursor.hidden = !(num & 0x200); + console.log("FG ",cursor.fg, ", BG ", cursor.bg,", BOLD ", cursor.bold, ", HIDE ", cursor.hidden); + + fg = cursor.fg; + bg = cursor.bg; + bold = cursor.bold; + + // Here come the content + while(i < str.length && ci> 4; + bold = !!(num & 0x100); + console.log("Switch to ",fg,bg,bold); + } + else if (jc == SEQ_REPEAT) { + num = parse2B(str, i); i += 2; + console.log("Repeat x ",num); + for (; num>0 && ci= 32 && code < 127) { - var ch = String.fromCharCode(code); - //console.log("Typed ", ch, "code", code, e); - sendStrMsg(ch); - } - }); + function init() { + window.addEventListener('keypress', function(e) { + var code = +e.which; + if (code >= 32 && code < 127) { + var ch = String.fromCharCode(code); + //console.log("Typed ", ch, "code", code, e); + sendStrMsg(ch); + } + }); - window.addEventListener('keydown', function(e) { - var code = e.keyCode; - //console.log("Down ", code, e); - switch(code) { - case 8: sendStrMsg('\x08'); break; - case 13: sendStrMsg('\x0d\x0a'); break; - case 27: sendStrMsg('\x1b'); break; // this allows to directly enter control sequences - case 37: sendStrMsg('\x1b[D'); break; - case 38: sendStrMsg('\x1b[A'); break; - case 39: sendStrMsg('\x1b[C'); break; - case 40: sendStrMsg('\x1b[B'); break; - } - }); + window.addEventListener('keydown', function(e) { + var code = e.keyCode; + //console.log("Down ", code, e); + switch(code) { + case 8: sendStrMsg('\x08'); break; + case 10: + case 13: sendStrMsg('\x0d\x0a'); break; + case 27: sendStrMsg('\x1b'); break; // this allows to directly enter control sequences + case 37: sendStrMsg('\x1b[D'); break; + case 38: sendStrMsg('\x1b[A'); break; + case 39: sendStrMsg('\x1b[C'); break; + case 40: sendStrMsg('\x1b[B'); break; + } + }); - qsa('#buttons button').forEach(function(s) { - s.addEventListener('click', function() { - sendBtnMsg(+this.dataset['n']); - }); + qsa('#buttons button').forEach(function(s) { + s.addEventListener('click', function() { + sendBtnMsg(+this.dataset['n']); }); - } - - return { - init: init, - onTap: sendPosMsg - }; - })(); - + }); + } - window.termInit = function (obj) { - Term.init(obj); - Conn.init(); - Input.init(); + return { + init: init, + onTap: sendPosMsg }; })(); + +window.termInit = function (str) { + Screen.load(str); + Conn.init(); + Input.init(); +}; diff --git a/html_orig/jssrc/term.js b/html_orig/jssrc/term.js index 6206c85..31c3d9b 100644 --- a/html_orig/jssrc/term.js +++ b/html_orig/jssrc/term.js @@ -1,303 +1,334 @@ -(function() { - /** - * Terminal module - */ - var Term = (function () { - var W, H; - var cursor = {a: false, x: 0, y: 0, suppress: false, hidden: false}; - var screen = []; - var blinkIval; - -/* - /!** Clear screen *!/ - function cls() { - screen.forEach(function(cell, i) { - cell.t = ' '; - cell.fg = 7; - cell.bg = 0; - blit(cell); - }); - } -*/ - - /** Set text and color at XY */ - function cellAt(y, x) { - return screen[y*W+x]; - } - - /** Get cell under cursor */ - function cursorCell() { - return cellAt(cursor.y, cursor.x); - } - -/* - /!** Enable or disable cursor visibility *!/ - function cursorEnable(enable) { - cursor.hidden = !enable; - cursor.a &= enable; - blit(cursorCell(), cursor.a); - } - - /!** Safely move cursor *!/ - function cursorSet(y, x) { - // Hide and prevent from showing up during the move - cursor.suppress = true; - blit(cursorCell(), false); - - cursor.x = x; - cursor.y = y; +var Screen = (function () { + var W, H; // dimensions + var inited = false; + + var cursor = { + a: false, // active (blink state) + x: 0, // 0-based coordinates + y: 0, + fg: 7, // colors 0-15 + bg: 0, + bold: false, + suppress: false, // do not turn on in blink interval (for safe moving) + hidden: false // do not show + }; - // Show again - cursor.suppress = false; - blit(cursorCell(), cursor.a); + var screen = []; + var blinkIval; + + /** Clear screen */ + function _clear() { + for (var i = W*H-1; i>=0; i--) { + var cell = screen[i]; + cell.t = ' '; + cell.bg = cursor.bg; + cell.fg = cursor.fg; + cell.bold = false; + _draw(cell); } -*/ - - /** Update cell on display. inv = invert (for cursor) */ - function blit(cell, inv) { - var e = cell.e, fg, bg; - // Colors - fg = inv ? cell.bg : cell.fg; - bg = inv ? cell.fg : cell.bg; - // Update - e.innerText = (cell.t+' ')[0]; - e.className = 'fg'+fg+' bg'+bg; + } + + /** Set text and color at XY */ + function _cellAt(y, x) { + return screen[y*W+x]; + } + + /** Get cell under cursor */ + function _curCell() { + return screen[cursor.y*W + cursor.x]; + } + + /** Enable or disable cursor visibility */ + function _cursorEnable(enable) { + cursor.hidden = !enable; + cursor.a &= enable; + _draw(_curCell()); + } + + /** Safely move cursor */ + function cursorSet(y, x) { + // Hide and prevent from showing up during the move + cursor.suppress = true; + _draw(_curCell(), false); + cursor.x = x; + cursor.y = y; + // Show again + cursor.suppress = false; + _draw(_curCell()); + } + + /** Update cell on display. inv = invert (for cursor) */ + function _draw(cell, inv) { + if (typeof inv == 'undefined') { + inv = cursor.a && cursor.x == cell.x && cursor.y == cell.y; } - /** Show entire screen */ - function blitAll() { - screen.forEach(function(cell, i) { - /* Invert if under cursor & cursor active */ - var inv = cursor.a && (i == cursor.y*W+cursor.x); - blit(cell, inv); - }); + var e = cell.e, fg, bg; + // Colors + fg = inv ? cell.bg : cell.fg; + bg = inv ? cell.fg : cell.bg; + // Update + e.innerText = (cell.t + ' ')[0]; + e.className = 'fg' + fg + ' bg' + bg + (cell.bold ? ' bold' : ''); + } + + /** Show entire screen */ + function _drawAll() { + for (var i = W*H-1; i>=0; i--) { + _draw(screen[i]); } + } - /** Load screen content from a 'binary' sequence */ - function load(obj) { - cursor.x = obj.x; - cursor.y = obj.y; - cursor.hidden = !obj.cv; + function _rebuild(rows, cols) { + W = cols; + H = rows; - // full re-init if size changed - if (obj.w != W || obj.h != H) { - Term.init(obj); - return; - } + /* Build screen & show */ + var e, cell, scr = qs('#screen'); - // Simple compression - hexFG hexBG 'ASCII' (r/s/t/u NUM{1,2,3,4})? - // comma instead of both colors = same as before + // Empty the screen node + while (scr.firstChild) scr.removeChild(scr.firstChild); - var i = 0, ci = 0, str = obj.screen; - var fg = 7, bg = 0; - while(i < str.length && ci 0) { - var rep = parseInt(str.substr(i+1,repchars)); - i = i + repchars + 1; - for (; rep>0 && ci 0) && (i % W == 0)) { + scr.appendChild(mk('br')); } - - blitAll(); + /* The cell */ + scr.appendChild(e); + + cell = { + t: ' ', + fg: cursor.fg, + bg: cursor.bg, + e: e, + x: i % W, + y: Math.floor(i / W), + }; + screen.push(cell); + _draw(cell); } - - /** Init the terminal */ - function init(obj) { - W = obj.w; - H = obj.h; - - /* Build screen & show */ - var e, cell, scr = qs('#screen'); - - // Empty the screen node - while (scr.firstChild) scr.removeChild(scr.firstChild); - - screen = []; - - for(var i = 0; i < W*H; i++) { - e = mk('span'); - - (function() { - var x = i % W; - var y = Math.floor(i / W); - e.addEventListener('click', function () { - Input.onTap(y, x); - }); - })(); - - /* End of line */ - if ((i > 0) && (i % W == 0)) { - scr.appendChild(mk('br')); - } - /* The cell */ - scr.appendChild(e); - - cell = {t: ' ', fg: 7, bg: 0, e: e}; - screen.push(cell); - blit(cell); + } + + /** Init the terminal */ + function _init() { + /* Cursor blinking */ + clearInterval(blinkIval); + blinkIval = setInterval(function () { + cursor.a = !cursor.a; + if (cursor.hidden) { + cursor.a = false; } - /* Cursor blinking */ - clearInterval(blinkIval); - blinkIval = setInterval(function() { - cursor.a = !cursor.a; - if (cursor.hidden) { - cursor.a = false; - } - - if (!cursor.suppress) { - blit(cursorCell(), cursor.a); - } - }, 500); + if (!cursor.suppress) { + _draw(_curCell(), cursor.a); + } + }, 500); + inited = true; + } - load(obj); - } + /** Decode two-byte number */ + function parse2B(s, i) { + return (s.charCodeAt(i++) - 1) + (s.charCodeAt(i) - 1) * 127; + } - // publish - return { - init: init, - load: load - }; - })(); + var SEQ_SET_COLOR = 1; + var SEQ_REPEAT = 2; - /** Handle connections */ - var Conn = (function() { - var ws; + /** Load screen content from a binary sequence (new) */ + function load(str) { + var i = 0, ci = 0, j, jc, num, num2, t = ' ', fg, bg, bold, cell; - function onOpen(evt) { - console.log("CONNECTED"); - } + if (!inited) _init(); - function onClose(evt) { - console.warn("SOCKET CLOSED, code "+evt.code+". Reconnecting..."); - setTimeout(function() { - init(); - }, 1000); + // Set size + num = parse2B(str, i); i += 2; + num2 = parse2B(str, i); i += 2; + if (num != H || num2 != W) { + _rebuild(num, num2); } - - function onMessage(evt) { - try { - console.log("RX: ", evt.data); - // Assume all our messages are screen updates - Term.load(JSON.parse(evt.data)); - } catch(e) { - console.error(e); + console.log("Size ",num, num2); + + // Cursor position + num = parse2B(str, i); i += 2; + num2 = parse2B(str, i); i += 2; + cursorSet(num, num2); + console.log("Cursor at ",num, num2); + + // Attributes + num = parse2B(str, i); i += 2; + cursor.fg = num & 0x0F; + cursor.bg = (num & 0xF0) >> 4; + cursor.bold = !!(num & 0x100); + cursor.hidden = !(num & 0x200); + console.log("FG ",cursor.fg, ", BG ", cursor.bg,", BOLD ", cursor.bold, ", HIDE ", cursor.hidden); + + fg = cursor.fg; + bg = cursor.bg; + bold = cursor.bold; + + // Here come the content + while(i < str.length && ci> 4; + bold = !!(num & 0x100); + console.log("Switch to ",fg,bg,bold); } - } - - function doSend(message) { - console.log("TX: ", message); - if (ws.readyState != 1) { - console.error("Socket not ready"); - return; + else if (jc == SEQ_REPEAT) { + num = parse2B(str, i); i += 2; + console.log("Repeat x ",num); + for (; num>0 && ci= 32 && code < 127) { - var ch = String.fromCharCode(code); - //console.log("Typed ", ch, "code", code, e); - sendStrMsg(ch); - } - }); - - window.addEventListener('keydown', function(e) { - var code = e.keyCode; - //console.log("Down ", code, e); - switch(code) { - case 8: sendStrMsg('\x08'); break; - case 13: sendStrMsg('\x0d\x0a'); break; - case 27: sendStrMsg('\x1b'); break; // this allows to directly enter control sequences - case 37: sendStrMsg('\x1b[D'); break; - case 38: sendStrMsg('\x1b[A'); break; - case 39: sendStrMsg('\x1b[C'); break; - case 40: sendStrMsg('\x1b[B'); break; - } - }); +/** User input */ +var Input = (function() { + function sendStrMsg(str) { + Conn.send("STR:"+str); + } + + function sendPosMsg(y, x) { + Conn.send("TAP:"+y+','+x); + } + + function sendBtnMsg(n) { + Conn.send("BTN:"+n); + } + + function init() { + window.addEventListener('keypress', function(e) { + var code = +e.which; + if (code >= 32 && code < 127) { + var ch = String.fromCharCode(code); + //console.log("Typed ", ch, "code", code, e); + sendStrMsg(ch); + } + }); + + window.addEventListener('keydown', function(e) { + var code = e.keyCode; + //console.log("Down ", code, e); + switch(code) { + case 8: sendStrMsg('\x08'); break; + case 10: + case 13: sendStrMsg('\x0d\x0a'); break; + case 27: sendStrMsg('\x1b'); break; // this allows to directly enter control sequences + case 37: sendStrMsg('\x1b[D'); break; + case 38: sendStrMsg('\x1b[A'); break; + case 39: sendStrMsg('\x1b[C'); break; + case 40: sendStrMsg('\x1b[B'); break; + } + }); - qsa('#buttons button').forEach(function(s) { - s.addEventListener('click', function() { - sendBtnMsg(+this.dataset['n']); - }); + qsa('#buttons button').forEach(function(s) { + s.addEventListener('click', function() { + sendBtnMsg(+this.dataset['n']); }); - } + }); + } - return { - init: init, - onTap: sendPosMsg - }; - })(); - - - window.termInit = function (obj) { - Term.init(obj); - Conn.init(); - Input.init(); + return { + init: init, + onTap: sendPosMsg }; })(); + +window.termInit = function (str) { + Screen.load(str); + Conn.init(); + Input.init(); +}; diff --git a/html_orig/lang/en.php b/html_orig/lang/en.php index d25b3b6..a9a506d 100644 --- a/html_orig/lang/en.php +++ b/html_orig/lang/en.php @@ -27,27 +27,22 @@ return [ Those are the initial settings used after ESPTerm powers on. They will also be applied immediately after you submit this form.', - 'term.example' => 'Color settings example', + 'term.example' => 'Default colors preview', 'term.term_title' => 'Header text', - 'term.term_width' => 'Screen width', - 'term.term_height' => 'Screen height', - 'term.default_fg' => 'Text color', - 'term.default_bg' => 'Background', - 'term.btn1' => 'Button 1 text', - 'term.btn2' => 'Button 2 text', - 'term.btn3' => 'Button 3 text', - 'term.btn4' => 'Button 4 text', - 'term.btn5' => 'Button 5 text', + 'term.term_width' => 'Screen width / height', + 'term.default_fg_bg' => 'Text / background', + 'term.buttons' => 'Button labels', + 'term.theme' => 'Color scheme', // terminal color labels 'color.0' => 'Black', - 'color.1' => 'Dark Red', - 'color.2' => 'Dark Green', - 'color.3' => 'Dim Yellow', - 'color.4' => 'Deep Blue', - 'color.5' => 'Deep Purple', - 'color.6' => 'Dark Cyan', + 'color.1' => 'Red', + 'color.2' => 'Green', + 'color.3' => 'Yellow', + 'color.4' => 'Blue', + 'color.5' => 'Purple', + 'color.6' => 'Cyan', 'color.7' => 'Silver', 'color.8' => 'Gray', 'color.9' => 'Light Red', diff --git a/html_orig/pages/cfg_term.php b/html_orig/pages/cfg_term.php index 3cc0e04..1086a5d 100644 --- a/html_orig/pages/cfg_term.php +++ b/html_orig/pages/cfg_term.php @@ -6,21 +6,78 @@
-
+ + +
+ +
+
+ 3031323334353637 +
+ +
+ 9091929394959697 +
+ +
+ 4041424344454647 +
+ +
+ 100101102103104105106107 +
+
+ +
+
+ +
- + -
- -
- -   -
- -
- - +  
@@ -43,27 +96,11 @@
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- + +   +   +   +  
@@ -75,12 +112,25 @@ diff --git a/html_orig/pages/help.php b/html_orig/pages/help.php index 6f6314b..ac62b71 100644 --- a/html_orig/pages/help.php +++ b/html_orig/pages/help.php @@ -178,7 +178,7 @@ \e[<n>E [count] - Go N line down, start of line + Go N lines down, start of line \e[<n>F diff --git a/html_orig/pages/term.php b/html_orig/pages/term.php index 5f96a80..47d32bb 100644 --- a/html_orig/pages/term.php +++ b/html_orig/pages/term.php @@ -2,6 +2,7 @@ // Workaround for badly loaded page setTimeout(function() { if (typeof termInit == 'undefined' || typeof $ == 'undefined') { + console.error("Page load failed, refreshing…"); location.reload(true); } }, 2000); @@ -10,7 +11,7 @@

%term_title%

-
+
HelpAbout + HelpAbout diff --git a/html_orig/sass/_fontello.scss b/html_orig/sass/_fontello.scss index 3eae0aa..2de4b22 100644 --- a/html_orig/sass/_fontello.scss +++ b/html_orig/sass/_fontello.scss @@ -4,8 +4,8 @@ @font-face { font-family: 'fontello'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,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') format('truetype'); + src: url('data:application/octet-stream;base64,d09GRgABAAAAABpEAA8AAAAAKoQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFZ5SGGsY21hcAAAAdgAAAC0AAACRiyLNmJjdnQgAAACjAAAABQAAAAgBzn/aGZwZ20AAAKgAAAFkAAAC3CKkZBZZ2FzcAAACDAAAAAIAAAACAAAABBnbHlmAAAIOAAADucAABY0K3eBf2hlYWQAABcgAAAAMwAAADYOwiwhaGhlYQAAF1QAAAAgAAAAJAfjBBtobXR4AAAXdAAAACgAAAA4NCv/+WxvY2EAABecAAAAHgAAAB4pCCIObWF4cAAAF7wAAAAgAAAAIAF+DbpuYW1lAAAX3AAAAXcAAALNzJ0dH3Bvc3QAABlUAAAAdAAAAJthm4blcHJlcAAAGcgAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZN7FOIGBlYGBqYppDwMDQw+EZnzAYMjIBBRlYGVmwAoC0lxTGByUNf7/Z275P4chirmFIQUozAiSAwAJOgzEAHic5ZE7DsJADERn8+MbCaHcAGlNQcNZcoUUVDlBjkETzkBHz6UItGFs0/C5AV69XXkkr6wZADmAlOxIBoQTArSOVIPpKeamZziwX2NFJdlsYx672EsltTTSjiPwS/uowPn3o1rCHzNuUmCCKYXia+7/amn3+dWV6q6jqcTcoXOInaMpxt7RJKVyNGGpHToMaRx6DWkduh5upQHMEIa9ASYfhqsBLPg+DN0u3C8Gd3sC1ZomOHicY2BAAxIQyNzyfw4IAwAVjASleJytVml300YUHXlJnIQsJQstamHExGmwRiZswYAJQbJjIF2crZWgixQ76b7xid/gX/Nk2nPoN35a7xsvJJC053Cak6N3583VzNtlElqS2AvrkZSbL8XU1iaN7DwJ6YZNy1F8KDt7IWWKyd8FURCtltq3HYdERCJQta6wRBD7HlmaZHzoUUbLtqRXTcotPekuW+NBvVXffho6yrE7oaRmM3RoPbIlVRhVokimPVLSpmWo+itJK7y/wsxXzVDCiE4iabwZxtBI3htntMpoNbbjKIpsstwoUiSa4UEUeZTVEufkigkMygfNkPLKpxHlw/yIrNijnFawS7bT/L4vead3OT+xX29RtuRAH8iO7ODsdCVfhFtbYdy0k+0oVBF213dCbNnsVP9mj/KaRgO3KzK90IxgqXyFECs/ocz+IVktnE/5kkejWrKRE0HrZU7sSz6B1uOIKXHNGFnQ3dEJEdT9kjMM9pg+Hvzx3imWCxMCeBzLekclnAgTKWFzNEnaMHJgJWWLKqn1rpg45XVaxFvCfu3a0ZfOaONQd2I8Ww8dWzlRyfFoUqeZTJ3aSc2jKQ2ilHQmeMyvAyg/oklebWM1iZVH0zhmxoREIgIt3EtTQSw7saQpBM2jGb25G6a5di1apMkD9dyj9/TmVri501PaDvSzRn9Wp2I62AvT6WnkL/Fp2uUiRen66Rl+TOJB1gIykS02w5SDB2/9DtLL15YchdcG2O7t8yuofdZE8KQB+xvQHk/VKQlMhZhViFZAYq1rWZbJ1awWqcjUd0OaVr6s0wSKchwXx76Mcf1fMzOWmBK+34nTsyMuPXPtSwjTHHybdT2a16nFcgFxZnlOp1mW7+s0x/IDneZZntfpCEtbp6MsP9RpgeVHOh1jeUELmnTfwZCLMOQCDpAwhKUDQ1hegiEsFQxhuQhDWBZhCMslGMLyYxjCchmGsLysZdXUU0nj2plYBmxCYGKOHrnMReVqKrlUQrtoVGpDnhJulVQUz6p/ZaBePPKGObAWSJfIml8xzpWPRuX41hUtbxo7V8Cx6m8fjvY58VLWi4U/Bf/V1lQlvWLNw5Or8BuGnmwnqjapeHRNl89VPbr+X1RUWAv0G0iFWCjKsmxwZyKEjzqdhmqglUPMbMw8tOt1y5qfw/03MUIWUP34NxQaC9yDTllJWe3grNXX27LcO4NyOBMsSTE38/pW+CIjs9J+kVnKno98HnAFjEpl2GoDrRW82ScxD5neJM8EcVtRNkja2M4EiQ0c84B5850EJmHqqg3kTuGGDfgFYW7BeSdconqjLIfuRezzKKT8W6fiRPaoaIzAs9kbYa/vQspvcQwkNPmlfgxUFaGpGDUV0DRSbqgGX8bZum1Cxg70Iyp2w7Ks4sPHFveVkm0ZhHykiNWjo5/WXqJOqtx+ZhSX752+BcEgNTF/e990cZDKu1rJMkdtA1O3GpVT15pD41WH6uZR9b3j7BM5a5puuiceel/TqtvBxVwssPZtDtJSJhfU9WGFDaLLxaVQ6mU0Se+4BxgWGNDvUIqN/6v62HyeK1WF0XEk307Ut9HnYAz8D9h/R/UD0Pdj6HINLs/3mhOfbvThbJmuohfrp+g3MGutuVm6BtzQdAPiIUetjrjKDXynBnF6pLkc6SHgY90V4gHAJoDF4BPdtYzmUwCj+Yw5PsDnzGHQZA6DLeYw2GbOGsAOcxjsMofBHnMYfMGcdYAvmcMgZA6DiDkMnjAnAHjKHAZfMYfB18xh8A1z7gN8yxwGMXMYJMxhsK/p1jDMLV7QXaC2QVWgA1NPWNzD4lBTZcj+jheG/b1BzP7BIKb+qOn2kPoTLwz1Z4OY+otBTP1V050h9TdeGOrvBjH1D4OY+ky/GMtlBr+MfJcKB5RdbD7n74n3D9vFQLkAAQAB//8AD3icxVh7jFzVeT/fed3n3HnduXe9Ozu7O7s7s+yuZ/HsPMyuvQx+7WIPrlmvzS4CvOUVF8eYugZUIqcIrIgEBFGkEJoSYxdQq6hQQkKfCeofQKpEVaGVjNM0Uguq6uaPSK0ctaIw9HdmFkoUtY36RzuPc+455zvf+c7vfOd7XJZk+Mgr+YvMYzEbZTNsni2yg+wIO8buZw+zJ9gz7Fn2TfZY6/NLxAUtsgIbUIWBW/rjXNJTKgoDV0qh5PqmdMKRoi/l25KT4L+ctThlNGd5YutDlB8czC+jyg+ussH8YPvcuZd//+u/c+7Zc8/+9vlnnv7qU1/+0hOPff5zDz94+oH7T/3q3ceO3nHrkZvWDi8fuG7v4q5rFua3zm58qsNqcKqZC6eouJ1q81T95HP5E8+UC0dHzPPsSHX8v6CJf4H++Gd5/k80ddPOpkfSlA41BCjV07UGRIguOHUHvyXntIPfUq/FtzmdguPQO07nt5yGg9/GwAXbtOzFjVavertH0nmnVz/xUQWOC3hYfP+IuDQx9P6RwcnJQXG+MPlv3Vmf65W9qT/4ua6nfu65V1Ku27Xxe61L5HQO0uWOb/5mDbpcmJyE+hBjH74vzouTbIjVW24m6UIhGKfFfS/lD6y2fCLG2T2Mc59fO9By0eAn0MfuXHtlMIyFiqcoTFI2FwY0Q5YGZrVmtmzK8WajOkQqEueT37vSz/n//p4f+XTl94Mh6vusN+yfpr5hPuAnX+/8k++lyDpzxsq40qb49aSfUxOdOO5MqK5874o1sZ1tYQut+UkSanyQS8EXmRQkJB1nRrX5MaaYkEqsQ0LGVyAwW8UDa19Rj0fjMa36IWjArWKpXKpdTY0oLtBsdUFUeFFbcaShA6VyvdYYogX0F7hY23Xy3OH1F7dJ1dZpecV9O+eOHpjklfanT9w+cV06G7+XDGk6vbTtq8s3nD21g75oSr58rQ7kdYp0fa7SvuvUXe3KxPh1qc1R8F5fNrN01cKuU2eBucaenpMz4jPMZhk2wB5gf8D+mT3d+s2f/IDL4K6bubLf/PY9gqlXf+/cvcvt3aODDrFvnm0JTnObueZffpB7wlr8xx/yYPdD5O1yyXaUY6vjTHOLa+s4C5h0ArnOHJs5K0wliJFigEYTXzFHagmy1pnwPLHChPBWmSe89j+8+903vv67j37h+Kdvv/XGtVp1ajIbhmE2kzTY1UpFHUbVhqqVAorNkzBdBao2rFyok6StKI5CK6DiDJ7xNYjWy6UylKKrDwvULM1QhXDVGjiApjmIpgF7CA18cfeiIYpiqE0c5cIuxyEqEC4u2EWmHDW8i+WArB5LsAA3TEYDLGermB2DeZeBkSf9ybmlcnfuLziVLq/ct4IfvTC9dZom56Zpo75oyxu0nx2S0t+VUq1cpC2ZOKrdRDbeIRP6gFRjdsI6pGxbHba8Hp2rdSvbpy1hCAmU16iEul72pe2EPqQ13XlQu3m+i1Ru0PM9a1rQLjHoWgcPWu6gqKVITtrpdD6WfCfPO+jeoJ60u9TyvyWmL86bfay8OzjNJ4Zw9/kaivnJyb/4FGQJsvHAuPZleoesenrbQMKGQH5Vyn1Jpexpvy9KkG0dVR9TqhQoXXtbf5fS22IopS7kEgNZn9udv9zv2Mng6oDziYFxIq9GE5yjnbSd/Y6TSpiRglODEk7EVDZDiZTDZzHWm1U2Q36t3JvkYJL98SSPqPzxJLtruxgTz/PvsRwbbPUnoeXwcZz4CQzRCQzeGcZhz0ZZRnGoe/WhcN0iEs+nOsOp6VTnx8lkG/VzdDfKdoovRRhIJinqNlPP04lUqp1k4sMPYIuOwBYlWZPtYkut3VeQEg5xGEnYIy5gmI4zobhQx5jFuLT4OuxS7/IRznkFEupVpkm3c4WpbFQqjdoqPzVer5VwXfQghRGuQSNbq9Bo0dKQcbaKO1KFTmpcLfiq7ri5QAsihs0tVjiGcUkuu/Yx2+0WTyzctOWRRSexV2pHFca3TkYDo9uoO9SXybuF0H/75BuX/vxu/cC3L//JZ898NM2l39iyUrk/4TWlVRooZHL9fnLHeIiBTNFL6f78xPK9r5069dqPTbFhly+JBZZnI61Cuos9J4O7MO6BWJxLeAgg8lKFUwrYlysC9rUJ2xpD9mpkjoQuB17nuaQ7Wex//HRxaaGSDadbe0ZPP/5g53l30KUDSbfRODD+mS9Q32QxF45N9NNjP32w8w23u/6/8KfEfSxkm1+h7vL7XhqDy/KMYtyDtk/wWM7HqrD2rTjmKppyeGSMS1cbmj1FCPnjnbfpCte92ct7nVs9j866Bfdml/9t52Ln7e6jS8+gprOed7NbMGrX1QXjl3z6Dv0rv3/fS86B1Wu2se+wP2V/hMDrSfYIDL0A6RPM+FDB/ob9NTvO1tj1bAdbYLNsmG1irlETOktP0ZP0GD1KD9C9dAfdRoL9Pfs75oODRQfpOprAfBt6c5l+SG/R9+nP6FXaSrPoI9PPFgf2veRi/Z0bqz/CpFE8SEOYqf4PZLAQej6JJ+Oy9wz8/wGxttY9iVadcWEJDmdoaWHpY0zbQtvHmE3CpmNQj7vhVIVgK6iYWFW4vUy0ezC25iTiDK7EHYxbilu4zFr1eKgeD/WfPJTq8VCHsXe1d+B/ufLa2jWbjFbTRbpAf0x/SDfQYfZd9jp7hX2LfYO9yH6d3QeMEDsADcLfxXIIXXH5P7IDBMdYXaA6PG0jLhknezXpUj20aiVdr8gZKLyJ0cJJCou6aDXKpdFGqTxb4eWK6cZFgD+3jC83rlwX8QA3WS5Z5l8tWQs0apiWI+O+G9VoNqqVq10CHRtiLFAGW3Atl0y7YLyphaV0ZFWoHJVHiyYWaNbisraqhhV8bsk4aAsSYKq2CjxsRhamYWK5pKNZw2cIAjX1kIDl0IZfHVRRs1Gu8LqJHnSBz0LuakEOiajaje2iZtGEDrkCxY06uKAwuy814moD28W2Qp0bbRhvgH6raAWiBBFMu2zkgpGtYR9RA5wgcNQscKDTaJqocYEQ1tQrgKAbx5SroChCGoQykSmbUaO0QLlmY9TIaACu1gGIQKiB8KWBGMj8koSd5YBXBaeWpFKjZHBv6FxAuQo1IXhkgqg41BG9cOqNkx9ZbMpyG+GuFOlc1iV4XI1QTkvpKi3JhicSQuIDD8MRFEoNSrJ9UnmEzBwEAXHLAQlB68hyuVQJIcIgK23EhsSVwynraMmVdoUtofxCO+CmHMTWgitJgeUlZUqAK2J121RgLCSXGSV8H8tzf9OA0EpllfBkwsNCWtrSkddXpeJaCepzIYOSRk4sScRdy8pICwkoss8AbR5wyXnSFmAtFEkYX3BQvsWFLRwr0hrBVUqG4APmIkAW4Co77XJ8SHG0uPAFBxqQDxfRwzrcDoWNCWbfyuS4JEj2CUdAAJHggYEDmQ/XkAE4SWnZyvIlGgiaVVcQX/IMpnMVOJy7NqDS2lKO7/7Krx2As0lgfs6YDQO08nHn8SEjuYsT4oAaRBBEeknijkti+4YvRdH5EdngBmKhPJCBhU+u1cWVOIIuDVwlmcNFhWduG1hN/oOztoRtuZZUWvlGNbA13wEoClsQaS4C2/QLB8cqNAXSBUuFbbnSsixylG3ZAEkYLKEOrhCBGVYIXhA0JLkwxiwAAFLjCyE2/5I0py510oUMSgKP0OOk+znF0DihQiFSwFjaypbk9SWUj11L3w5kQK4XWjCfgBxnkRGulI7SXLhdgHnKzhj9hRwuwh1zlMA7pZLGFnMPm0ZT9gVOoByCVgJqgI5rongSOtJNBIWtEPraADLgrqvQIT1HGdXAGWDPEhcCEGjC9jDRnDuKTiJ3yOxZ8ySZewCouSs0uoBuoLmhMfpk+Ki8nXYCx+cyZcHNmjjoPP8pLPIm+LIb2b7W0try/kXQJ4y344sOWbZ1gtncPmFERHQKe2+SaMVOMAVlRoamTFSodPvQyujgvmYxM5XPumpwahymvSIWeIHUx09xrWRiQxhSmFMrLIimyWObSL2kVazIXnaDPzIapDWxMUgmo6E7gmJlDBAPVwsZuu0TjdX918SHJ9bLh/p2tGmssby3cktl7/LW4meL0d6Vuw5Xp5Zu2t+ey462k/ntN25fvvHg3rmb5geT7R9FlQk+Vp2oFeXkdN/PNHbe4mvt37Jzy9J0BBvVP9H+0qndUwvFEAfq9hW3ju0+dWZtc7V11fRMmKlM0lWtLZvXNrA0MZVgI8j3d7PrW/unJkeLuEO0mDAnbvM9zLWgWi6yW5vBryLj1/CHmm7BITPHYcumZs4qc5jTbm3fWo9Ls+nsfDqd8szrp5H6iJpN17qpqMlczXuecn00PVvvveuxxEYwboJtQNtQGy+Dyhsvg4xjuUAvmNcpS776GrShEHdejQq0tDSco7eiYbqAeNryqVfeXog/yMBtDEdcxY3k06lo6sIFumz3W09rny5Fw8PRpQ8a3ZoKL5tY/GUz1/3gPdPFfxIN9wVfSza6r/q6hck/XMRMc2yZPdp6ZJE8ewbQ5GBUEXmTXEwnuGdr29PHkVlZ0mQhx5PGLJn7cdxEDrbvGvRgl/U6uBozs96NPUx+wlYDsGHt+fmREUTCbH55frm9b/fO1tUjcyNztdnNU+Vxb9gb7t+UzSQDrZhLbgYx/jggqi1QZIW6Ca9WhD/rvg1a4JHJqdFpwoxiIEZ73WR83EY/170EHQn52LDsdvN57wDtmV6i5cdocmlpTxS5K2r6oYfOTKmVx7VuP3RoZn3P1mHurOi9b178q2s1eq3bLnYu3G5pZ4X0URqmaSp+Sq1Ul71MH8+nvOWv5PP5IFhxLT11Ja9doS135Sk1t5X6imN96FV7l/n+tkLvV9TqKr/psDKkR0+ePGooGeMffvjhu3JGnEH+N8OubG3uZn7Dxlov4qILJB09G7SOc1KruNU+u7YO114Ku++foHXlEdzZdBhBkRpZKJY1EgKGDQUDenXUzQ1FE5dc+/2HLXh5LU5b/p7aeOetTIrCZOedZEiZTOfNsQbVxsXp8RrdSG91CTszFrzlxQ/Ooy+sIK6JosAuTucaY/zIeK3G/gNR6gyHAHicY2BkYGAA4sXzJCXi+W2+MnAzvwCKMFxdXMIFo////b+EJZ65BcjlYGACiQIAToQMiQB4nGNgZGBgbvk/h4GBpez/3/+/WOIZgCIogA8ArKoHBXicY37BwMCiz8DAvACII6HsFyD2/78gmukUlA2TLwOp+f8fAEEpDU0AAAAAASIBcgHcA4ADuAQ+BH4EvgjCCWgJ+Aq4CxoAAAABAAAADgH4AA8AAAAAAAIAQABQAHMAAACtC3AAAAAAeJx1kN1qwjAYht/Mn20K29hgp8vRUMbqDwxBEASHnmwnMjwdtda2UhtJo+Bt7B52MbuJXcte2ziGspY0z/fky5evAXCNbwjkzxNHzgJnjHI+wSl6lgv0z5aL5BfLJVTxZrlM/265ggcElqu4wQcriOI5owU+LQtciUvLJ7gQd5YL9I+Wi+Se5RJuxavlMr1nuYKJSC1XcS++Bmq11VEQGlkb1GW72erI6VYqqihxY+muTah0KvtyrhLjx7FyPLXc89gP1rGr9+F+nvg6jVQiW05zr0Z+4mvX+LNd9XQTtI2Zy7lWSzm0GXKl1cL3jBMas+o2Gn/PwwAKK2yhEfGqQhhI1GjrnNtoooUOacoMycw8K0ICFzGNizV3hNlKyrjPMWeU0PrMiMkOPH6XR35MCrg/ZhV9tHoYT0i7M6LMS/blsLvDrBEpyTLdzM5+e0+x4WltWsNduy511pXE8KCG5H3s1hY0Hr2T3Yqh7aLB95//+wHmboRRAHicbcHREoIgEAVQriGglX0j6KoMxjrrOk5/30OvnWMa89Ob/wY0uMGihYNHQIcedzzwxICXCYU+iaNMbUx8qhc6lIW6keucl1Oo4WJX2nY3cY1KNsWx+Ep6sRS3ZF3P5HeSIx9qrzznoCTvXONmzBdEIiFQeJxj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxlYnTYxMDJogRibuZgYOSAsPgYwi81pF9MBoDQnkM3utIvBAcJmZnDZqMLYERixwaEjYiNzistGNRBvF0cDAyOLQ0dySARISSQQbOZhYuTR2sH4v3UDS+9GJgYXAAx2I/QAAA==') format('woff'), + url('data:application/octet-stream;base64,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JzYmJzMyNTYnJgM2NyYiLwE2Ji8BJi8BJg8BIg8BFSYnIi4BDgEPASY2JgYPAQY2BhUOARUuATceARcWBwYHBhcUBhYBrXTGcnLG6MhuBnq8ARMCCAMBAgQDERUTCgEMAggGAwEHBgQECgUGBAEIAQIBAwMEBAQEBgEGAggJBQQGAgQDAQgMAQUcBAMCAgEIAQ4BAgcJAwQEAQQCAwEHCgIEBQ0DAxQOEwQIBgECAQIFCQIBEwkGBAIFBgoDCAQHBQIDBgkEBgEFCQQFAwMCBQQBDgcLDwQQAwMBCAQIAQgDAQgEAwICAwQCBBIFAwwMAQMDAgwZGwMGBQUTBQMLBA0LAQQCBgQIBAkEUTIEBQIGBQMBGAoBAgcFBAMEBAQBAgEBAQIKBwcSBAcJBAMIBAIOAQECAg4CBAICDwgDBAMCAwUBBAoKAQQIBAUMBwIDCAMJBxYGBgUICBAEFAoBAgQCBgMOAwQBCgUIEQoCAgICAQUCBAEKAgMMAwIIAQIIAwEDAgcLBAECAggUAwgKAQIBBAIDBQIBAwIBAwEEGAMJAwEBAQMNAg4EAgMBBAMFAgYIBAICAQgEBAcIBQcMBAQCAgIGAQUEAwIDBQwEAhIBBAICBQ4JAgIKCAUJAgYGBwUJDAppc1ABDAENAQQDFQEDBQIDAgIBBQwIAwYGBgYBAQQIBAoBBwYCCgIEAQwBAQICBAsPAQIJCgEDPXTE6sR0dMTqxHT+3QEIAgYGAQQIAwULAQwBAwICDAEKBwIDBAIEAQIGDAUGAwMCBAEBAwMEAgQBAwMCAggEAgYEAQMEAQQEBgcDCAcKBwQFBgUMAwECBAIBAwwJDgMEBQcIBQMRAgMOCAUMAwEDCQkGBAMGAQ4ECgQBAgUCAgYKBAcHBwEJBQgHCAMCBwMCBAIGAgQFCgMDDgIFAgIFBAcCAQoIDwIDAwcDAg4DAgMEBgQGBAQBAS1PBAEIBAMEBg8KAgYEBQQFDgkUCwIBBhoCARcFBAYDBRQDAxAFAgEECAUIBAELGA0FDAICBAQMCA4EDgEKCxQHCAEFAw0CAQIBEgMKBAQJBQYCAwoDAgMFDAIQCBIDAwQEBgIECgcOAQUCBAEEAgIQBQ8FAgUDAgsCCAQEAgIEGA4JDgUJAQQGAQIDAgEEAwYHBgUCDwoBBAECAwECAwgFFwQCCAgDBQ4CCgoFAQID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') format('truetype'); } %fontello-icon-base { @@ -50,6 +50,7 @@ $icon-codes: ( + keyboard: '\2328', about: '\2605', restore: '\267c', configure: '\2699', @@ -67,6 +68,7 @@ $icon-codes: ( /* Fontello classes */ +.icn-keyboard::before { content: '\2328'; } .icn-about::before { content: '\2605'; } .icn-restore::before { content: '\267c'; } .icn-configure::before { content: '\2699'; } diff --git a/html_orig/sass/_term-colors.scss b/html_orig/sass/_term-colors.scss deleted file mode 100644 index b665aee..0000000 --- a/html_orig/sass/_term-colors.scss +++ /dev/null @@ -1,24 +0,0 @@ -$term-colors: - // 0 black, 1 red, 2 green, 3 yellow - // 4 blue, 5 mag, 6 cyan, 7 white - #111213, #CC0000, #4E9A06, #C4A000, - #3465A4, #75507B, #06989A, #D3D7CF, - // BRIGHT - // 8 black, 9 red, 10 green, 11 yellow - // 12 blue, 13 mag, 14 cyan, 15 white - #555753, #EF2929, #8AE234, #FCE94F, - #729FCF, #AD7FA8, #34E2E2, #EEEEEC; - -@for $i from 1 through length($term-colors) { - $c: nth($term-colors, $i); - .fg#{$i - 1} { color: $c; } - .bg#{$i - 1} { background-color: $c; } -} - -.fg8, .fg9, .fg10, .fg11, .fg12, .fg13, .fg14, .fg15 { - font-weight: bold; -} - -.nb { - font-weight: normal !important; -} diff --git a/html_orig/sass/app.scss b/html_orig/sass/app.scss index de9b263..abe8cb0 100755 --- a/html_orig/sass/app.scss +++ b/html_orig/sass/app.scss @@ -33,7 +33,6 @@ $c-form-highlight-a: #2ea1f9; @import "pages/wifi"; @import "pages/term"; @import "pages/about"; -@import "term-colors"; // media queries diff --git a/html_orig/sass/pages/_term.scss b/html_orig/sass/pages/_term.scss index 17634ba..c058bfe 100755 --- a/html_orig/sass/pages/_term.scss +++ b/html_orig/sass/pages/_term.scss @@ -1,8 +1,13 @@ body.term { - h1 { - font-size: fsize(5); - @include media($phone) { - font-size: fsize(3); + #content { + padding-left: 0; + padding-right: 0; + + h1 { + font-size: fsize(5); + @include media($phone) { + font-size: fsize(3); + } } } @@ -36,7 +41,7 @@ body.term { margin: 0 3px; padding: 8px 5px; //width: 18%; - min-width: 65px; + min-width: 62px; //max-width: 65px; //min-width: initial; cursor: pointer; @@ -53,16 +58,133 @@ body.term { text-decoration: underline; &, &:visited, &:link { - color: #2e4d6e; + color: #336085; } &:hover { color: #5abfff; } } + + .icn-keyboard { + text-decoration: none; + font-size: 150%; + vertical-align: middle; + } } } #termwrap { text-align: center; } + +#softkb-input { + position: absolute; + top: -9999px; +} + +// "non-bold" +.nb { + font-weight: normal !important; +} + +// Tango +.theme-0 { + $term-colors: + #111213, #CC0000, #4E9A06, #C4A000, #3465A4, #75507B, #06989A, #D3D7CF, + #555753, #EF2929, #8AE234, #FCE94F, #729FCF, #AD7FA8, #34E2E2, #EEEEEC; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +// Linux +.theme-1 { + $term-colors: + #000000, #aa0000, #00aa00, #aa5500, #0000aa, #aa00aa, #00aaaa, #aaaaaa, + #555555, #ff5555, #55ff55, #ffff55, #5555ff, #ff55ff, #55ffff, #ffffff; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +// xterm +.theme-2 { + $term-colors: + #000000, #cd0000, #00cd00, #cdcd00, #0000ee, #cd00cd, #00cdcd, #e5e5e5, + #7f7f7f, #ff0000, #00ff00, #ffff00, #5c5cff, #ff00ff, #00ffff, #ffffff; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +// rxvt +.theme-3 { + $term-colors: + #000000, #cd0000, #00cd00, #cdcd00, #0000cd, #cd00cd, #00cdcd, #faebd7, + #404040, #ff0000, #00ff00, #ffff00, #0000ff, #ff00ff, #00ffff, #ffffff; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +// Ambience +.theme-4 { + $term-colors: + #2e3436, #cc0000, #4e9a06, #c4a000, #3465a4, #75507b, #06989a, #d3d7cf, + #555753, #ef2929, #8ae234, #fce94f, #729fcf, #ad7fa8, #34e2e2, #eeeeec; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +// Solarized +.theme-5 { + $term-colors: + #073642, #dc322f, #859900, #b58900, #268bd2, #d33682, #2aa198, #eee8d5, + #002b36, #cb4b16, #586e75, #657b83, #839496, #6c71c4, #93a1a1, #fdf6e3; + @for $i from 1 through length($term-colors) { + $c: nth($term-colors, $i); + .fg#{$i - 1} { color: $c; } + .bg#{$i - 1} { background-color: $c; } + } +} + +.bold { + font-weight: bold !important; +} + +.Row.color-preview { + font-family: monospace; + font-size: 16pt; + display: block; + margin-bottom: 0; + + padding-left: $form-label-w; + + @include media($phone) { + padding-left: 0; + font-size: 14pt; + } + + .colorprev { + display:block; + margin: 0; + cursor: pointer; + } +} + +#color-example { + display: inline-block; + padding: 5px; +} diff --git a/user/cgi_main.c b/user/cgi_main.c index 70a5ec7..c1aba85 100644 --- a/user/cgi_main.c +++ b/user/cgi_main.c @@ -44,12 +44,16 @@ httpd_cgi_state ICACHE_FLASH_ATTR tplScreen(HttpdConnData *connData, char *token else if (streq(token, "btn5")) { httpdSend(connData, termconf->btn5, -1); } - else if (streq(token, "default_bg")) { - sprintf(buff, "%d", termconf->default_bg); - httpdSend(connData, buff, -1); - } - else if (streq(token, "default_fg")) { - sprintf(buff, "%d", termconf->default_fg); +// else if (streq(token, "default_bg")) { +// sprintf(buff, "%d", termconf->default_bg); +// httpdSend(connData, buff, -1); +// } +// else if (streq(token, "default_fg")) { +// sprintf(buff, "%d", termconf->default_fg); +// httpdSend(connData, buff, -1); +// } + else if (streq(token, "theme")) { + sprintf(buff, "%d", termconf->theme); httpdSend(connData, buff, -1); } else if (streq(token, "screenData")) { diff --git a/user/cgi_term_cfg.c b/user/cgi_term_cfg.c index f42c2c5..86869fa 100644 --- a/user/cgi_term_cfg.c +++ b/user/cgi_term_cfg.c @@ -82,6 +82,17 @@ cgiTermCfgSetParams(HttpdConnData *connData) } } + if (GET_ARG("theme")) { + dbg("Screen color theme: %s", buff); + int theme = atoi(buff); + if (theme >= 0 && theme <= 5) { // ALWAYS ADJUST WHEN ADDING NEW THEME! + termconf->theme = (u8) theme; + } else { + warn("Bad theme num: %s", buff); + redir_url += sprintf(redir_url, "theme,"); + } + } + if (GET_ARG("term_title")) { dbg("Terminal title default text: \"%s\"", buff); strncpy_safe(termconf->title, buff, 64); // ATTN those must match the values in @@ -148,6 +159,9 @@ tplTermCfg(HttpdConnData *connData, char *token, void **arg) else if (streq(token, "term_height")) { sprintf(buff, "%d", termconf->height); } + else if (streq(token, "theme")) { + sprintf(buff, "%d", termconf->theme); + } else if (streq(token, "default_bg")) { sprintf(buff, "%d", termconf->default_bg); } diff --git a/user/persist.c b/user/persist.c index a5d7cab..14d9573 100644 --- a/user/persist.c +++ b/user/persist.c @@ -105,7 +105,15 @@ persist_load(void) } if (hard_reset) { + // Zero all out + memset(&persist, 0, sizeof(PersistBlock)); + persist_load_hard_default(); + + // write them also as defaults + memcpy(&persist.defaults, &persist.current, sizeof(AppConfigBundle)); + persist_store(); + // this also stores them to flash and applies to modules } else { apply_live_settings(); @@ -141,9 +149,6 @@ persist_load_hard_default(void) restore_live_settings_to_hard_defaults(); persist_store(); -// // Store current -> default -// memcpy(&persist.defaults, &persist.current, sizeof(AppConfigBundle)); - info("[Persist] Settings restored to hard defaults."); apply_live_settings(); // apply diff --git a/user/persist.h b/user/persist.h index 9e110a8..aa05e52 100644 --- a/user/persist.h +++ b/user/persist.h @@ -16,7 +16,7 @@ // Changing this could be used to force-erase the config area // after a firmware upgrade -#define CHECKSUM_SALT 1 +#define CHECKSUM_SALT 2 #define APPCONF_SIZE 2048 diff --git a/user/screen.c b/user/screen.c index ce9075d..1e29a8b 100644 --- a/user/screen.c +++ b/user/screen.c @@ -671,7 +671,25 @@ screenSerializeToBuffer(char *buffer, size_t buf_len, void **data) ss->lastFg = 0; ss->lastChar = '\0'; - bufprint("{\n \"w\": %d, \"h\": %d,\n \"x\": %d, \"y\": %d,\n \"cv\": %d,\n \"screen\": \"", W, H, cursor.x, cursor.y, cursor.visible); + // TODO implement the new more efficient encoder! + + bufprint( + "{" + "\"w\":%d," + "\"h\":%d," + "\"x\":%d," + "\"y\":%d," + "\"fg\":%d," + "\"bg\":%d," + "\"cv\":%d," + "\"screen\":\"", + W, + H, + cursor.x, + cursor.y, + cursor.fg, + cursor.bg, + cursor.visible); } int i = ss->index; diff --git a/user/screen.h b/user/screen.h index 72bd207..4ddb10e 100644 --- a/user/screen.h +++ b/user/screen.h @@ -52,6 +52,7 @@ typedef struct { char btn3[TERM_BTN_LEN]; char btn4[TERM_BTN_LEN]; char btn5[TERM_BTN_LEN]; + u8 theme; u8 _filler[ TERMCONF_SIZE @@ -59,6 +60,7 @@ typedef struct { - 4 - 1 - 1 + - 1 - TERM_TITLE_LEN - TERM_BTN_LEN * 5 ];