pyte icon indicating copy to clipboard operation
pyte copied to clipboard

Cross-check pyte features against GateOne

Open superbobry opened this issue 7 years ago • 3 comments

GateOne is a mature web terminal emulator supporting many more features than pyte. This issue is to check what features exactly pyte is missing to be on par with GateOne.

superbobry avatar Jul 09 '17 20:07 superbobry

Hey @superbobry sorry for the late reply. Continuing our discussion from https://github.com/Wramberg/TerminalView/issues/13 heres a few notes.

I think the top feature I am missing in my plugin right now which gateone has to offer is 256 colors. It seems you may already support that but if you do I cannot figure out how to use it :-( see https://github.com/selectel/pyte/issues/92

Besides this it seems like TERM=xterm results in some weird sequences being printed. See https://github.com/Wramberg/TerminalView/issues/17 for example. If we could make simple text work with xterm I think that would be a good step. Then pyte would at least support TERM=xterm for basic usage.

I'll drop more notes as I encounter some things I might find useful. Take them as suggestions and let me know what you think and if it is feasible to include in pyte :-)

Wramberg avatar Jul 29 '17 18:07 Wramberg

We are developing a web terminal around pyte, mainly for its ability to maintain screen state on the server side. We found that as we wanted to push generation of control character sequences to the backend (in most web terminals, e.g. xterm.js, it happens in the frontend), that was the main effort that was required. This allowed both input and output from the terminal not to require any detailed knowledge of terminal emulation in javascript.

acroz avatar Oct 31 '17 16:10 acroz

One feature GateOne has which would be nice in Pyte is mouse modes so when the app requests mouse support then we can start sending the control sequences from the frontend.

Just sending them inconditionally "works" but if you click on an app that doesn't support mouse (like bash) you get all the control sequences.

The relevant code in GateOne starts from here: https://github.com/liftoff/GateOne/blob/master/terminal/terminal.py#L2040

I am willing to give it a shot in Pyte if you like.

ralsina avatar Oct 13 '20 13:10 ralsina