Show HN: Boo – Screen-style terminal multiplexer built on libghostty
Posted by kylecarbs 5 days ago
Comments
Comment by stereo 5 days ago
Comment by kylecarbs 5 days ago
screen actually works the same way architecturally: it parses all output through its own built-in terminal emulator and redraws from that state on reattach. But that emulator is decades old and lags far behind what modern programs emit. Whatever it doesn't understand gets dropped or mangled on redraw. boo swaps that layer for libghostty-vt, Ghostty's VT core, so the saved state matches what your terminal would actually display, and terminal queries get answered while detached so TUIs don't hang unattended.
tmux is great, it was just never the model I wanted. I really liked screen's simplicity, sessions and a prefix key and nothing else to learn, and boo keeps exactly that.
Comment by dgnemo 5 days ago
Comment by drzaiusx11 5 days ago
Screen is 1 server to 1 client.
In screen each client session is a fork of the screen server. In tmux there's one server and many client forks iirc.
Comment by gguingff 5 days ago
Comment by drzaiusx11 5 days ago
Comment by drzaiusx11 5 days ago
Without -x though it works as originally described.
Edit: gnu screen 1.0 was originally released in 1987. The -x flag was released in screen 3.0 in the 90s. TIL
Comment by kylecarbs 5 days ago
They also compose: a boo session is just a PTY running a program, so you can run tmux inside one if you want.
Comment by dang 5 days ago
Of course, it's impossible to know for sure what was LLM processed or not, but some of your posts (like this one) are getting classified that way.
Comment by WalterGR 5 days ago
Comment by ac29 5 days ago
Very similar, based on libghostty
Comment by akshat2602 5 days ago
Comment by SwiftyBug 4 days ago
I currently use tmux. Not because I need to multiplex shells in a remote server, but because I like to have my sessions persisted in my local machine. Even between reboots (technically not the same session, but the same tabs and splits I had). I currently have that with tmux and a tmux plugin that restores my sessions. But I think that tmux is overkill for this. And if I'm in a tmux session, then I can't use my terminal emulator's native tabs and splits. Does anyone have a recommendation of how to handle only terminal sessions on Linux?
Comment by kylecarbs 4 days ago
Comment by johnfn 5 days ago
Comment by kylecarbs 5 days ago
Comment by darkteflon 5 days ago
Definitely interested in something like this - love ghostty and I’ve been finding Zellij a bit crashy recently (plus I don’t really need tabs).
Comment by relyks 5 days ago
Comment by KolenCh 5 days ago
Comment by lavaman131 5 days ago
Comment by boltguo 5 days ago
Comment by miningmai 5 days ago
Comment by Scarbutt 5 days ago
This no good ;)
Old busted screen can do multiple windows per session.
Comment by kseistrup 3 days ago
Comment by asar 5 days ago