TUI Stability
Dear beta testers,
I’ve just shipped the latest version of Terminal Click: TC v0.8.8. Recall that we are re-examining the basics to get us out of the beta and become a “fully grown” Terminal Click.
I know it’s start of June, but this is still technically the build for May. Forgive the delay!
This version requires a brand new database. Do not copy the old one over. macOS beta testers should run the following command before anything else:
rm ~/Library/Application\ Support/TerminalClick/tc.db
Stable TUIs
Terminal Click can now run TUIs such as tmux, vim, ssh generally without glitching. Here I am logging into my TC server:
I’m exclusively supporting the keyboard instead of the mouse. We’ll enable mouse behavior under TUIs in the next monthly build. If there’s still any hiccup you might notice, contact me at once.
As usual, whatever works on macOS will work on Windows and Linux too!
Offline Replay
A seriously positive side-effect from having stabilized TUIs is they can be replayed offline now, even after closing the terminal and re-opening it. Let’s use <Up> or <Down> to navigate the history and proceed to replay our ssh session from earlier:
Now let’s find a previous vim session:
This replay interface is a work-in-progress, with kinks to iron, but I find it plenty powerful already. The terminal can play back, natively and offline, any command I ran previously. (Why wouldn’t it?)
Of course there’s plenty of design considerations for future versions: hotkeys to disable replay, encrypting your history, and improving the rewind behavior. For example imagine a YouTube-like scrubber with preview thumbnails and chapter menus. We have the right data primitives available to us for that. I also think <Ctrl-R> should open a pane to search for a command, where all instances of, say, ssh whould show up under timestamps.
Musing further, I’d love that calendar picker we’ve talked about before in order to find old commands a lot easier. Sharing your replay sessions is also very appealing to me: think of a quick drag-n-drop to a coworker on Slack, who could then drop it in their terminal. Powerful stuff. (Lots of privacy concerns to address here though.)
Finally, speaking of kinks, two big ones to watch out for now are:
- UTF-8 support is currently disabled throughout a replay.
- We’re currently not tracking window resize events. So if you’ve resized the
vimwindow a bunch you won’t like how it plays back during Offline Replay.
These will be addressed within the next few builds.
P.S. I’ve been told asciinema has the resizing problem too. As a terminal emulator I should have more appropriate tools to address it, but time will tell. Personally I want nothing more than make asciinema’s tagline categorically false once I reach a 1.0 release:
Record and share your terminal sessions, the simple way.
Polish: Rounded Corners
I’m delighted to round off the corner of some windows, dropdown boxes and the scrollbar, just as I did for image previews last time:
Next TC Release: Performance Optimizations
Any power user printing a lot of fast output will feel the lag of Terminal Click. I’ve never once tuned anything for speed: it’s been dumb, straightforward vanilla C code. Written by hand.
But now it’s time.
Core performance improvements are my next priority, alongside any TUI and Offline Replay bugs / feature requests that get reported.
See you late June,
Abner