Hacker News new | ask | show | jobs
Show HN: Boo – Screen-style terminal multiplexer built on libghostty (github.com)
39 points by kylecarbs 3 hours ago
4 comments

You've obviously written this because screen wasn't doing the right thing, but your readme only explains that it's a "young project, not a drop-in GNU screen replacement". What are its advantages over screen or tmux?
Fair. Adding a section for this now.

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.

can you share more on the tmux model vs boo?
Tmux is n clients to 1 server.

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.

this is incorrect. you can have multiple clients using screen -x instead of screen -a
I think Cmux is the incumbent in the "screen-style terminal multiplexer built on libghostty" - any key differentiators here? https://cmux.com/
Cmux is a standalone terminal. Boo is a command-line similar to screen, backed by libghostty for terminal emulation.
Installed using the curl-to-bash on Sequoia and I’m getting “error: ReadOnlyFileSystem” on ‘boo new’. Can’t see any open issues on gh and nothing in the readme.

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).

I'll take a look at this now. Thanks for reporting!
Just published v0.5.13 which should fix this! It seems to be a path issue. Now boo falls back to tmpdir for storing sockets.
this looks nice! i've been using herdr the last couple of weeks as a terminal multiplexer for agents, which works amazingly well.