aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorsl0p <sl0p@sl0p.foo>2026-08-14 00:21:56 +0200
committersl0p <sl0p@sl0p.foo>2026-08-14 00:21:56 +0200
commitf2f3d678495e37d2eee2d26f0f704f2accf451e1 (patch)
tree4ee05f2c77cfe1d2d921e05cbd478cf9a1346236 /README.md
parentsl0ptty: select-to-copy, middle-click paste, and toasts (diff)
downloadslosh-f2f3d678495e37d2eee2d26f0f704f2accf451e1.tar.gz
slosh-f2f3d678495e37d2eee2d26f0f704f2accf451e1.tar.xz
slosh-f2f3d678495e37d2eee2d26f0f704f2accf451e1.zip
sl0ptty: the border is the button — click an edge to split toward it
The per-pane '+' is gone. It was one glyph for a verb with four directions, so it always split into columns; it taxed every frame three columns of title forever; and there were N of them on screen for one verb. Clicking a pane's border now splits toward that border: the side you click is the side the new pane appears on. Hovering arms the edge (it goes heavy) and draws a dashed line exactly where the new boundary would land, so the gesture explains itself and an idle frame stays quiet. ╭──────────────────── shell ─────────────────────╮ ┃ ╎ │ ┃ ╎ │ hovering the left ╰────────────────────────────────────────────────╯ border │╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌│ hovering the bottom ╰━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╯ border The top border keeps its other job: a click splits upward, a drag moves the pane. A press that never moves is a click, which is a distinction the drag machine already had to make. The guide has to be painted after the pane's content, not with the frame: the dashed line crosses the terminal's own cells, and the first version was drawn underneath them and was invisible. Two old tests changed rather than the code, both because the gesture set is better now: 'beside the split button' is a drag handle, and 'dropping a pane on itself does nothing' is a click, which splits. The replacement asserts what actually needs asserting — a drag that wanders and returns changes nothing. 387 checks green (360 headless + 27 live).
Diffstat (limited to 'README.md')
-rw-r--r--README.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/README.md b/README.md
index b51b7a0..3bda04b 100644
--- a/README.md
+++ b/README.md
@@ -52,8 +52,10 @@ sl0ptty cmd '{"cmd":"panes"}'
| `C-a x` / `C-a d` / `C-a q` | close pane / detach / quit |
| `C-a C-a` | send a literal `C-a` |
-The mouse works throughout: click a pane to focus it, a tab to switch, `+` on a
-frame to split, `+tab` to open one, a collapsed header to expand it, and a
+The mouse works throughout. **Click a pane's border to split toward it** — the
+side you click is the side the new pane appears on, and hovering a border arms
+it and shows a dashed line where the split would land. Click a pane to focus
+it, a tab to switch, `+tab` to open one, a collapsed header to expand it, and a
pane's own buttons to talk to the program inside it. **Drag a pane's title bar
onto another pane to swap them, or drag the gap between two panes to move the
boundary.** Focus follows the pointer (`focus_follows_mouse`, on by default,