Terminal: ConPTY 直通模式

创建于 2019-07-16  ·  3评论  ·  资料来源: microsoft/terminal

我之前在不同的线程上讨论过这个问题几次,但我认为我从来没有为它提出过真正的问题。

conpty passthrough 模式的想法是,命令行客户端应用程序_知道_它只会使用 VT 序列(和 __not__ API)来修改控制台,可以设置特殊模式ENABLE_PASSTHROUGH_MODE 。 如果 conpty 处于活动状态,则控制台将_停止_在 conpty 上渲染自身,并且写入控制台的任何内容都将直接进入终端。

  • 这对于像wsl这样的东西特别有效,它只会谈论 VT。
  • 由于 cmd.exe 对 API 的严重依赖,它_not_ 对 cmd.exe 起作用。
  • Windows Powershell 再次非常需要 API,但也许跨平台的 Powershell Core 可以使用它。

这有一些需要整理的粗糙边缘。

  • [ ] 当应用程序退出并关闭直通模式时会发生什么? 终端和 conpty 的缓冲区将不再相等!

    • 我一直在玩弄让 conpty 既传递序列,又自己处理它们的想法,以便终端和 conpty 保持同步。

  • [ ] 当有人试图在直通模式下调用控制台 API 时会发生什么?

    • 我在想我们只是让他们失败了。 全部节省Get/SetConsoleMode和读取输入/写入输出。

    • 我们可能还需要能够读取调整大小事件。

这需要编写一个真正的规范,但它可能需要在此之前完成原型设计。

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

最有用的评论

_哦,我的上帝,我已经提交了一个骗局,你可以继续画我现在的四分卫_

所有3条评论

这实际上可能是#1173?

_哦,我的上帝,我已经提交了一个骗局,你可以继续画我现在的四分卫_

mfw“现在就画出我的四分之一”:🤔😱

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

warpdesign picture warpdesign  ·  3评论

ghost picture ghost  ·  3评论

wkbrd picture wkbrd  ·  3评论

carlos-zamora picture carlos-zamora  ·  3评论

miniksa picture miniksa  ·  3评论