Terminal: ConPTY Passthrough-Modus

Erstellt am 16. Juli 2019  ·  3Kommentare  ·  Quelle: microsoft/terminal

Ich habe das schon ein paar Mal in verschiedenen Threads diskutiert, aber ich glaube, ich habe nie ein wirkliches Problem daraus gemacht.

Die Idee des Conpty-Passthrough-Modus ist, dass eine Befehlszeilen-Client-Anwendung, die _weiß_, dass sie nur VT-Sequenzen (und __nicht____ die API) verwendet, um die Konsole zu modifizieren, einen speziellen Modus setzen könnte, ENABLE_PASSTHROUGH_MODE . Wenn conpty aktiv ist, würde die Konsole dann _aufhören_, sich selbst über conpty zu rendern, und alles, was auf die Konsole geschrieben wurde, würde direkt zum Terminal gehen.

  • Dies würde besonders gut für etwas wie wsl funktionieren, wo immer nur VT gesprochen wird.
  • Es würde _nicht_ für cmd.exe funktionieren, da cmd.exe stark von der API abhängig ist.
  • Windows Powershell benötigt die API wieder ziemlich stark, aber vielleicht könnte Powershell Core, das plattformübergreifend ist, davon Gebrauch machen.

Dies hat einige Ecken und Kanten, die aussortiert werden müssen.

  • [ ] Was passiert, wenn die App beendet und der Passthrough-Modus deaktiviert wird? Die Puffer von Terminal und Conpty wären nicht mehr gleichwertig!

    • Ich habe mit dem Gedanken gespielt, dass conpty sowohl die Sequenzen durchgibt als auch selbst verarbeitet, sodass Terminal und conpty synchron bleiben.

  • [ ] Was passiert, wenn jemand versucht, Konsolen-APIs im Passthrough-Modus aufzurufen?

    • Ich denke, wir bringen sie einfach zum Scheitern. Alle außer für Get/SetConsoleMode und Lesen von Eingaben / Schreiben von Ausgaben.

    • Wir müssen wahrscheinlich auch in der Lage sein, Größenänderungsereignisse zu lesen.

Dazu muss eine echte Spezifikation geschrieben werden, aber es muss wahrscheinlich vorher ein Prototyp erstellt werden.

Area-Server Issue-Feature Needs-Triage Product-Conpty Resolution-Duplicate

Hilfreichster Kommentar

_oh mein Gott, ich habe einen Dupe eingereicht, du kannst weitermachen und mich jetzt zeichnen und vierteln_

Alle 3 Kommentare

Dies kann tatsächlich # 1173 sein?

_oh mein Gott, ich habe einen Dupe eingereicht, du kannst weitermachen und mich jetzt zeichnen und vierteln_

mfw "Zieh und viertel mich jetzt": 🤔😱

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen