Terminal: Modo de passagem ConPTY

Criado em 16 jul. 2019  ·  3Comentários  ·  Fonte: microsoft/terminal

Eu já discuti isso algumas vezes em tópicos diferentes antes, mas acho que nunca fiz um problema real para isso.

A idéia do modo de passagem conpty é que um aplicativo cliente de linha de comando que _sabe_ que usará apenas sequências VT (e __não__ a API) para modificar o console poderia definir um modo especial, ENABLE_PASSTHROUGH_MODE . Se conpty estiver ativo, o console então _stop_ se renderiza sobre conpty, e qualquer coisa que tenha sido escrita no console irá direto para o terminal.

  • Isso funcionaria especialmente bem para algo como wsl , onde só vai estar falando VT.
  • Ele _não_ funcionaria para cmd.exe, devido à forte dependência do cmd.exe na API.
  • O Windows Powershell novamente precisa muito da API, mas talvez o Powershell Core, que é multiplataforma, possa usá-lo.

Isso tem algumas arestas que precisam ser resolvidas.

  • [ ] O que acontece quando o aplicativo é encerrado e o modo de passagem é desativado? Os buffers do terminal e do conpty não seriam mais equivalentes!

    • Eu estive brincando com a idéia de ter conpty passando as sequências e também processando-as, para que o terminal e o conpty fiquem em sincronia.

  • [ ] O que acontece quando alguém tenta chamar as APIs do Console no modo de passagem?

    • Eu estou pensando que nós apenas fazemos com que eles falhem. Todos economizam Get/SetConsoleMode e entrada de leitura/saída de escrita.

    • Provavelmente também precisaremos ser capazes de ler eventos de redimensionamento.

Isso precisa de uma especificação real escrita, mas provavelmente precisa de prototipagem feita antes disso.

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

Comentários muito úteis

_oh meu deus eu arquivei um dupe, você pode ir em frente e me desenhar e me esquartejar agora_

Todos 3 comentários

Isso pode realmente ser # 1173?

_oh meu deus eu arquivei um dupe, você pode ir em frente e me desenhar e me esquartejar agora_

mfw "desenhe e esquarte-me agora": 🤔😱

Esta página foi útil?
0 / 5 - 0 avaliações