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

Serializable terminal state #781

Closed
rauchg opened this issue Oct 5, 2016 · 3 comments
Closed

Serializable terminal state #781

rauchg opened this issue Oct 5, 2016 · 3 comments

Comments

@rauchg
Copy link
Member

rauchg commented Oct 5, 2016

Right now we're deferring to hterm for terminal rendering. This has worked fantastically well, but has the major drawback that hterm's implementation is very dependent on the rendering logic and the DOM.

We need to transition into a system that allows us to separate the terminal data from its rendering.
In other words, the state of the terminal, such as the visible rows and columns, caret position, active ANSI modes and scrollback should live in reducers.

A strong candidate to transition into is Terminal.js by @Gottox, who's also the author of child_pty. Here's some of its relevant documentation: http://terminal.js.org/TermState.html

@rauchg
Copy link
Member Author

rauchg commented Oct 5, 2016

One of the nice advantages of this would be the ability to trivially re-instantiate terminals after re-renderings (i.e: very clean hot code reloading), or even move a session from one window to the other (through drag and drop for example).

@Tyriar
Copy link
Contributor

Tyriar commented Oct 7, 2016

FYI xterm.js is about to go through a refactor to achieve something like this in order to enable the tty to exist and function entirely without being attached to the DOM (xtermjs/xterm.js#266) to better support the terminal API in vscode (microsoft/vscode#12000).

@rauchg
Copy link
Member Author

rauchg commented Oct 7, 2016

That sounds great! Definitely a great option then.
On Fri, Oct 7, 2016 at 1:20 PM Daniel Imms notifications@github.com wrote:

FYI xterm.js https://github.com/sourcelair/xterm.js is about to go
through a refactor to achieve something like this in order to enable the
tty to exist and function entirely without being attached to the DOM (
xtermjs/xterm.js#266
xtermjs/xterm.js#266) to better support
the terminal API in vscode (microsoft/vscode#12000
microsoft/vscode#12000).


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#781 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAy8dfFJ_koxF66_ta0e1k0u0ptjYpbks5qxqmrgaJpZM4KPJ5Y
.

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

3 participants