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

issues with xterm.js support #118

Open
PerBothner opened this issue Feb 25, 2023 · 0 comments
Open

issues with xterm.js support #118

PerBothner opened this issue Feb 25, 2023 · 0 comments

Comments

@PerBothner
Copy link
Owner

DomTerm now has an option to use xterm.js in a terminal window. This uses xterm.js for the escape sequence processing and rendering (display), but uses"standard" domterm for window management, session management, option processing, and more.

The primary benefit of using xterm.js is speed and possibly memeory usage. It can also do a better job with character-grid graphics. Having a bigger community is also beneficial, though at the cost of more difficulty getting changes accepted.

Critical issues

  • Context menu support.

  • Improvements to link handling. Implement implicit (patern-based) links. Implement hover display. A simple click should not be enough to activate a link, especially if window is unfocused. Instead, require Ctrl to be pressed. (This probably requries changes to xterm.js itself.) Should also be able to activate using context memu.

  • Styling. At the very least we need to be able to select between light mode and dark mode.

Priority enhancements

  • Find mode can probably be implemented using the search addon combined with the existing UI.

  • Basic image support with the image addon

Other issues using xterm.js

  • Variable-width fonts.

  • Handle grapheme clusters. Can probably use the experieemntal registerCharacterJoiner hook.

  • More general image support, including svg.

  • Generally embedded rich html. This could be either as an overlay/background, or as an object in the cell/line data structure.

  • Auto-paging.

  • Shell integration.

  • Line-breaking with pretty-print and folding (show/hide).

  • View mode. Probably doable with an addon.

  • Edit mode. Probably more difficult because the contents of the edit buffer should be ignored when processing process output.

  • Marking ranges of text (for example prompt vs input vs output) that can be styled consistently.

@PerBothner PerBothner mentioned this issue Feb 25, 2023
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

No branches or pull requests

1 participant