ChargeIn/QLightTerminal

1. Crash when g.u == 0xf0150, 2. "textual run -c textual colors" - erresc

Opened this issue · 2 comments

  1. Crash when g.u > 0xffff (?!), possible fix the following:
diff --git a/qlightterminal.cpp b/qlightterminal.cpp
index a6a594f..1e1860d 100644
--- a/qlightterminal.cpp
+++ b/qlightterminal.cpp
@@ -259,7 +259,12 @@ void QLightTerminal::paintEvent(QPaintEvent *event) {
painter.setFont(font);
}

-            line += QChar(g.u);
+            if (0xffff < g.u) {
+                for (auto c: QStringView(QChar::fromUcs4(g.u)))
+                    line += QChar(c);
+            } else {
+                line += QChar(g.u);
+            }
}
painter.drawText(QPointF(offset, yPos), line);
yPos -= win.lineheight;
  1. "textual run -c textual colors" - mouse doesn't work. WTF? textual
erresc: unknown csi ESC[>1u
erresc: unknown csi ESC[=1;u
erresc: unknown csi ESC[?2026$p

After Ctrl+C:

erresc: unknown csi ESC[<u

Hey, thank you for the report, I will look into it.

Hey, so I fixed the issues with the chars larger than 0xffff. Thanks for the diff.

So the issue with the mouse support is related to the unknown csi commands you are seeing. (https://invisible-island.net/xterm/ctlseqs/ctlseqs.html).

So the commands tell the terminal which mouse mode to use and so on. There is currently no support for these mouse modes except for the standard. So this will be a longer feature request. Since I currently do not have the time to do it I wiil leave this request open.

Also we need to fix the line height for full screen apps like the textual app.