From f16742e59a11ad84418c30d83a160060c69a7b25 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Thu, 11 Jun 2026 22:08:16 +0000 Subject: [PATCH 1/3] docs: explain advantages over screen and tmux in README --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b3333aa..918b317 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Sessions that haunt your terminal. -[Install](#install) | [Usage](#usage) | [Automation](#automation) | [Architecture](#architecture) +[Why](#why-boo) | [Install](#install) | [Usage](#usage) | [Automation](#automation) | [Architecture](#architecture) [![ci](https://github.com/coder/boo/actions/workflows/ci.yml/badge.svg)](https://github.com/coder/boo/actions/workflows/ci.yml) [![release](https://img.shields.io/github/v/release/coder/boo)](https://github.com/coder/boo/releases/latest) @@ -38,6 +38,25 @@ exactly as a human would see it. +## Why boo? + +GNU screen works the same way boo does, 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 are answered while detached so +TUIs don't hang unattended. + +Scripting is the other win: `send`, `peek --json`, and +`wait --text`/`--idle` instead of `-X stuff`, hardcopy files, and +sleep loops. + +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. + ## Install For Linux and macOS: From cc77f496723821393e5e1906f09882e929e79c5d Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Thu, 11 Jun 2026 22:10:27 +0000 Subject: [PATCH 2/3] docs: move why section below usage --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 918b317..e67d99d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Sessions that haunt your terminal. -[Why](#why-boo) | [Install](#install) | [Usage](#usage) | [Automation](#automation) | [Architecture](#architecture) +[Install](#install) | [Usage](#usage) | [Automation](#automation) | [Why](#why-boo) | [Architecture](#architecture) [![ci](https://github.com/coder/boo/actions/workflows/ci.yml/badge.svg)](https://github.com/coder/boo/actions/workflows/ci.yml) [![release](https://img.shields.io/github/v/release/coder/boo)](https://github.com/coder/boo/releases/latest) @@ -38,25 +38,6 @@ exactly as a human would see it. -## Why boo? - -GNU screen works the same way boo does, 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 are answered while detached so -TUIs don't hang unattended. - -Scripting is the other win: `send`, `peek --json`, and -`wait --text`/`--idle` instead of `-X stuff`, hardcopy files, and -sleep loops. - -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. - ## Install For Linux and macOS: @@ -134,6 +115,25 @@ boo kill build # 5. clean up See `boo help automation` for the full page. +## Why boo? + +GNU screen works the same way boo does, 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 are answered while detached so +TUIs don't hang unattended. + +Scripting is the other win: `send`, `peek --json`, and +`wait --text`/`--idle` instead of `-X stuff`, hardcopy files, and +sleep loops. + +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. + ## Contributing Requires [Zig](https://ziglang.org) 0.15.2. From b7ce9ee9a15491b2278fd082b8c2fa9caa7ef636 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Thu, 11 Jun 2026 22:12:12 +0000 Subject: [PATCH 3/3] docs: use design rationale voice in why section --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e67d99d..c8766ba 100644 --- a/README.md +++ b/README.md @@ -130,9 +130,9 @@ Scripting is the other win: `send`, `peek --json`, and `wait --text`/`--idle` instead of `-X stuff`, hardcopy files, and sleep loops. -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. +tmux is great, it just solves a different problem. boo keeps screen's +model by design: sessions, a prefix key, and nothing else to learn. +One session per task, with `boo ui` to juggle them. ## Contributing