-
Notifications
You must be signed in to change notification settings - Fork 155
Enable Windows support by using a conpty-proxy #777
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
base: master
Are you sure you want to change the base?
Conversation
The proxy launches processes through conpty and redirects their input/output to its own stdin and stdout.
|
I don't have access to windows machines. Would anyone be interested in testing this? |
I confirm it works, but documentation and config need polish. e.g. The package relies on conpty_proxy.exe, whose path seems not configurable (default: the same path as vterm.el, see https://github.com/xhcoding/emacs-libvterm/blob/master/vterm.el#L1465-L1467). |
|
|
This is also working fine for me. Here is my branch if anyone wants to try out https://github.com/kiennq/emacs-libvterm. It also includes a pre-built binary that can be tried out immediately. |
Maybe try to install the pre-built version of libvterm by pacman, instead of building it from src repo by cmake ExternalProject_add. Such as, |
Somehow it doesn't work for native comp version of Emacs on Windows. The module loading kept failing. |
|
@xhcoding, when I use interactive command line tool (ex: copilot-cli or python) inside |
I found out the reason why. It's because vterm creates a new conpty process and wait for its result when doing resizing. Since the overhead is high, it makes the whole Emacs slow as long as the vterm is in display. Also, if the new conpty process is stuck the whole Emacs will hang without be able to quit using Ctrl + g (as I observed).
Here is a fix using approach 1 kiennq@0e0e179 |
Your version works! Laggy, but usable. |
Nice fixing! One remark: Some small adapt: |
Nice catch. |
|
Three weeks have passed. Is there any progress? |
You can use it right now, today, and then upstreaming shouldn't bother you that much. |


The conpty-proxy launches processes through conpty and redirects their input/output to its own stdin and stdout.