Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embed latest ConPTY implementation #490

Open
Eugeny opened this issue Aug 15, 2021 · 3 comments
Open

Embed latest ConPTY implementation #490

Eugeny opened this issue Aug 15, 2021 · 3 comments

Comments

@Eugeny
Copy link
Contributor

Eugeny commented Aug 15, 2021

Microsoft ships the bleeding edge ConPTY client-side implementation with Windows Terminal, which includes features like mouse support. Only much later does it get pushed into Windows baseline which means node-pty doesn't get these features until then.

Do we want to pull these sources into node-pty?

Their code is MIT licensed.

Note: this also requires building a custom conhost binary

@Tyriar
Copy link
Member

Tyriar commented Aug 17, 2021

I thought about doing this but I didn't really want to take on the potential instability and additional build complexity that comes with it.

@Tyriar Tyriar added the help wanted Issues identified as good community contribution opportunities label Oct 21, 2021
@Tyriar
Copy link
Member

Tyriar commented Oct 21, 2021

As an optional addition we could support it, maybe by adding options to point to the conhost binary. I'm not sure we would want to take on burden for maintaining extra build targets or something.

@avih
Copy link

avih commented Aug 24, 2023

As an optional addition we could support it, maybe by adding options to point to the conhost binary

I don't know whether that's still considered, but I think it could be useful.

While currently new conpty/conhost is not available publicly, the Windows Terminal does embed a new one, and their build artifacts (but not the release package) currently does include conpty.dll and OpenConsole.exe.

So an adventurous user could use those, and for node-pty it could be an opportunity to test the integration with an out-of-tree conpty (at PATH maybe?) before it becomes available publicly (or maybe in-tree where conpty.dll and openconsole.exe are placed manually together with winpty.dll).

One main advantage I think a new conpty/conhost has is support for mouse (wheel?) events in console applications, which currently doesn't work at the vscode terminal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants