aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-27 16:04:37 +0200
committeruser <user@clank>2026-08-27 16:04:37 +0200
commitc76159dd380bf5a37d1a24e5295c42c626090c5c (patch)
treecdc4ce82662f9e75d13095da73d8e0e319f640e0 /docs
parentdocs: drop the ascii mockup from the landing page too (diff)
downloadslosh-c76159dd380bf5a37d1a24e5295c42c626090c5c.tar.gz
slosh-c76159dd380bf5a37d1a24e5295c42c626090c5c.tar.xz
slosh-c76159dd380bf5a37d1a24e5295c42c626090c5c.zip
docs: the landing page stops arguing
The 'Why another one' section was two paragraphs of case-making against other multiplexers, and a landing page that defends its existence reads as unsure of it. What the section said truthfully -- the vendored core, recompute-not-remember, scriptable to its depth -- design.md already says where it belongs. The one-line closer stays: 15k lines of C and no dependencies is a fact, not a defence.
Diffstat (limited to 'docs')
-rw-r--r--docs/index.md38
1 files changed, 11 insertions, 27 deletions
diff --git a/docs/index.md b/docs/index.md
index 52f9183..3ebd5eb 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,11 +1,11 @@
# slosh
-A terminal multiplexer — panes, tabs, sessions you can detach from — written in
+A terminal multiplexer -- panes, tabs, sessions you can detach from -- written in
C on top of [libghostty-vt](https://github.com/ghostty-org/ghostty).
## Install
-Needs [zig](https://ziglang.org) 0.16 and nothing else — no cmake, no
+Needs [zig](https://ziglang.org) 0.16 and nothing else -- no cmake, no
autotools, no libraries. The result is one static binary.
```bash
@@ -30,30 +30,14 @@ by name.
## Where to go
-- **[Keys](keys.md)** — the leader, the defaults, rebinding, the palette.
-- **[Panes and tabs](panes.md)** — splitting, moving, zooming, the mouse.
-- **[Configuration](config.md)** — one file, live reload, themes, `include`.
-- **[Shaders](shaders.md)** — colour passes over a pane's contents.
-- **[Chrome shaders](chrome.md)** — the same passes over a pane's frame.
-- **[Layouts](layouts.md)** — a session as a file you check in.
-- **[Workspaces](workspaces.md)** — projects on disk, opened by name.
-- **[Scripting](scripting.md)** — the control socket, and what a pane can draw.
-- **[How it works](design.md)** — the two decisions that shape the rest.
-
-## Why another one
-
-The multiplexers we have are crusty, and the things that make them awkward are
-not features somebody forgot to add — they follow from how the programs are
-built. Layout state that is stored and edited rather than recomputed, so it
-drifts out of sync with itself. Mouse handling written as a second
-implementation of the drawing code, so the two disagree about where a button
-is. Extension models bolted onto a core that never expected one.
-
-So: start over, and stand on the shoulders of the person who already solved the
-genuinely hard part. The terminal emulation core from
-[ghostty](https://ghostty.org) is vendored as a library and does the VT
-parsing, scrollback, selection, images and key encoding. What sits on top is
-small, recomputes rather than remembers, and is scriptable to the same depth it
-is usable.
+- **[Keys](keys.md)** -- the leader, the defaults, rebinding, the palette.
+- **[Panes and tabs](panes.md)** -- splitting, moving, zooming, the mouse.
+- **[Configuration](config.md)** -- one file, live reload, themes, `include`.
+- **[Shaders](shaders.md)** -- colour passes over a pane's contents.
+- **[Chrome shaders](chrome.md)** -- the same passes over a pane's frame.
+- **[Layouts](layouts.md)** -- a session as a file you check in.
+- **[Workspaces](workspaces.md)** -- projects on disk, opened by name.
+- **[Scripting](scripting.md)** -- the control socket, and what a pane can draw.
+- **[How it works](design.md)** -- the two decisions that shape the rest.
About 15k lines of C, no dependencies beyond libc and the vendored core.