Browse Source

Update xterm

Fabian 8 months ago
parent
commit
09188ae361
4 changed files with 54 additions and 15 deletions
  1. 3 3
      Makefile
  2. 1 1
      index.html
  3. 3 2
      src/browser/serial.js
  4. 47 9
      v86.css

+ 3 - 3
Makefile

@@ -335,6 +335,6 @@ build/libwabt.js:
 	rm build/1.0.6.zip
 
 build/xterm.js:
-	curl https://cdn.jsdelivr.net/npm/xterm@4.9.0/lib/xterm.js > build/xterm.js
-	curl https://cdn.jsdelivr.net/npm/xterm@4.9.0/lib/xterm.js.map > build/xterm.js.map
-	curl https://cdn.jsdelivr.net/npm/xterm@4.9.0/css/xterm.css > build/xterm.css
+	curl https://cdn.jsdelivr.net/npm/xterm@5.2.1/lib/xterm.min.js > build/xterm.js
+	curl https://cdn.jsdelivr.net/npm/xterm@5.2.1/lib/xterm.js.map > build/xterm.js.map
+	curl https://cdn.jsdelivr.net/npm/xterm@5.2.1/css/xterm.css > build/xterm.css

+ 1 - 1
index.html

@@ -201,7 +201,7 @@
             <input type="number" min="0.25" step="0.25" value="1.0" id="scale" style="width: 50px">
         </label>
 
-        <br>
+        <br><br>
     </div>
     <pre style="display: none" id="loading"></pre>
 </div>

+ 3 - 2
src/browser/serial.js

@@ -223,8 +223,9 @@ function SerialAdapterXtermJS(element, bus)
         return;
     }
 
-    var term = this.term = new window["Terminal"]();
-    term["setOption"]("logLevel", "off");
+    var term = this.term = new window["Terminal"]({
+        "logLevel": "off",
+    });
     term.write("This is the serial console. Whatever you type or paste here will be sent to COM1");
 
     const on_data_disposable = term["onData"](function(data) {

+ 47 - 9
v86.css

@@ -124,7 +124,7 @@ h4 {
 /* the code below was copied from xterm.css */
 
 .xterm {
-    font-feature-settings: "liga" 0;
+    cursor: text;
     position: relative;
     user-select: none;
     -ms-user-select: none;
@@ -213,16 +213,13 @@ h4 {
     line-height: normal;
 }
 
-.xterm {
-    cursor: text;
-}
-
 .xterm.enable-mouse-events {
     /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
     cursor: default;
 }
 
-.xterm.xterm-cursor-pointer {
+.xterm.xterm-cursor-pointer,
+.xterm .xterm-cursor-pointer {
     cursor: pointer;
 }
 
@@ -240,6 +237,7 @@ h4 {
     right: 0;
     z-index: 10;
     color: transparent;
+    pointer-events: none;
 }
 
 .xterm .live-region {
@@ -251,9 +249,49 @@ h4 {
 }
 
 .xterm-dim {
-    opacity: 0.5;
+    /* Dim should not apply to background, so the opacity of the foreground color is applied
+     * explicitly in the generated class and reset to 1 here */
+    opacity: 1 !important;
+}
+
+.xterm-underline-1 { text-decoration: underline; }
+.xterm-underline-2 { text-decoration: double underline; }
+.xterm-underline-3 { text-decoration: wavy underline; }
+.xterm-underline-4 { text-decoration: dotted underline; }
+.xterm-underline-5 { text-decoration: dashed underline; }
+
+.xterm-overline {
+    text-decoration: overline;
+}
+
+.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
+.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
+.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
+.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
+.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
+
+.xterm-strikethrough {
+    text-decoration: line-through;
 }
 
-.xterm-underline {
-    text-decoration: underline;
+.xterm-screen .xterm-decoration-container .xterm-decoration {
+	z-index: 6;
+	position: absolute;
+}
+
+.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
+	z-index: 7;
+}
+
+.xterm-decoration-overview-ruler {
+    z-index: 8;
+    position: absolute;
+    top: 0;
+    right: 0;
+    pointer-events: none;
+}
+
+.xterm-decoration-top {
+    z-index: 2;
+    position: relative;
 }