Scribery / tlog

Terminal I/O logger
http://scribery.github.io/tlog/
GNU General Public License v2.0
307 stars 52 forks source link

Consider embedding a terminal emulator in tlog #91

Open spbnick opened 7 years ago

spbnick commented 7 years ago

Research for the availability of a well-written and modular terminal emulator to embed in tlog, and have a translation for the actual terminal. Similarly to screen and tmux.

If we have a specific terminal emulator we know the behavior of, it might be easier to implement playback, and store recordings in a uniform manner. If we have that terminal emulator in tlog-play, we then can implement rewinding and random positioning relatively easily.

anazmy commented 7 years ago

Checking what script/scriptreplay uses might help

spbnick commented 7 years ago

Thanks @anazmy, unfortunately script/scriptreplay don't use any terminal emulation and read/write directly to/from the actual terminal.

spbnick commented 7 years ago

The neovim project uses libvterm to implement a built-in terminal emulator. We might do the same.

spbnick commented 6 years ago

We can also use a built-in terminal emulator in tlog-rec to build "keyframes" (terminal emulator state snapshots) while recording, so that playback would be ready for random positioning right away. We might need to key them in a certain way so that it would be possible to request the storage for "keyframes" for a particular recording specifically.