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

[WIP] UWP based renderer #217

Closed
wants to merge 3 commits into from
Closed

[WIP] UWP based renderer #217

wants to merge 3 commits into from

Conversation

felixse
Copy link
Owner

@felixse felixse commented Mar 2, 2019

I started some investigation into a true UWP renderer. xterm.js is a great library and it really helped us to get where we are now, but I think it is time to invest into a custom renderer to leave the limitations behind we have right now due to having our view basically in another process.

As as first step I isolated everything regarding xterm.js and moved it into XtermTerminalView. This is basically a bigger refactoring of TerminalViewModel and TerminalView.

The next step would be to create a new implementation based on the UWP Canvas control. Since I want to avoid writing a VT parser from scratch I will make use of VtNetCore. This project died somewhere in the mid of development so we will most probably need to fork and extend it at some point.

@felixse
Copy link
Owner Author

felixse commented Mar 4, 2019

VtNetCore doesn't look very promising, guess there would be a lot to do.
My next approach is to wait until xtermjs/xterm.js#1920 is done and then try to port xterm.js to .NET 💀

I will create a new PR for the encapsulation I did in this branch.

@felixse felixse closed this Mar 4, 2019
@hanskokx
Copy link
Contributor

hanskokx commented Mar 4, 2019 via email

@felixse
Copy link
Owner Author

felixse commented Mar 4, 2019

I had a lot of issues with wiggling text and the viewport not acting reasonable. And a miriad of todos in the base library made it pretty hard to distinguish whether it was my fault or something that wasn't implemented completely.

@jerch
Copy link

jerch commented Aug 18, 2019

My next approach is to wait until xtermjs/xterm.js#1920 is done and then try to port xterm.js to .NET

That would be doable but quite a big effort. It might be easier using a C++/C# lib right from the start. Not sure if you could benefit from the new windows terminal here. Others are floating around as well, this lib looks very promising https://github.com/ismail-yilmaz/upp-components/tree/master/CtrlLib/Terminal. Have not looked at it in detail, not sure if its NET compatible.

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

Successfully merging this pull request may close these issues.

3 participants