From 8f9667b2186b1685927396db27025b58228b44bc Mon Sep 17 00:00:00 2001 From: megaproxy Date: Fri, 22 May 2026 22:39:54 +0100 Subject: [PATCH] README: refresh shortcuts table and add post-rewrite interactions Lead the "Using it" section with the keyboard shortcuts table, then break the remaining behaviour into mouse/toolbar and broadcast/idle/ presets subsections. Documents drag-to-swap, the 180px resize minimum, the home-cwd default, the new idle border + titlebar badge (replacing the old toasts blurb), and the splice-preserving preset behaviour. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a747ef5..e277854 100644 --- a/README.md +++ b/README.md @@ -21,29 +21,35 @@ A Windows desktop app for running and arranging many WSL terminals at once. Buil ## Using it -- **Split panes** — `⇥` in the pane toolbar splits right, `⇣` splits down. The new pane inherits the parent's distro + cwd. -- **Close pane** — `×`. The sibling expands to fill. -- **Rename pane** — click the label in the toolbar, type, Enter (Esc to cancel). -- **Change distro** — click the small `Ubuntu ▾` chip; pick a distro from the popover. The pane respawns (old shell is killed). -- **Broadcast** — toggle `📡` on two or more panes (orange border). Typing in any of them mirrors to all. The titlebar `📡 all off` / `📡 all on` / `📡 N/M` button flips the whole group at once. -- **Preset layouts** — titlebar buttons: `1` / `2H` / `3H` / `2V` / `2×2`. Confirms before replacing a multi-pane layout. -- **Active pane** — click any pane → blue border + keyboard focus. -- **Jump to pane** — `Ctrl+K` opens a fuzzy picker over label / distro / cwd. ↑/↓ to navigate, Enter to focus, Esc to close. - ### Keyboard shortcuts | Key | Action | |---|---| -| `Ctrl+K` | open the jump-to-pane palette | +| `Ctrl+K` | open the jump-to-pane palette (fuzzy match over label / distro / cwd; `↑`/`↓` to move, `Enter` to focus, `Esc` to close) | | `Ctrl+Shift+E` | split active pane to the right | | `Ctrl+Shift+O` | split active pane downward | | `Ctrl+Shift+W` | close active pane | | `Ctrl+Shift+B` | toggle broadcast on active pane | -| `Ctrl+Shift+Alt+B` | toggle broadcast on ALL panes (titlebar 📡) | -| `Ctrl+Shift+←/→/↑/↓` | focus neighbour pane in that direction | +| `Ctrl+Shift+Alt+B` | toggle broadcast on ALL panes (same as the titlebar 📡 button) | +| `Ctrl+Shift+←` / `→` / `↑` / `↓` | focus neighbour pane in that direction | -Shortcuts work while a terminal is focused (we capture before xterm.js sees the key). They DON'T fire while you're typing into a label edit or the palette input, so those still work normally. -- **Idle toasts** — top-right notification when a pane goes quiet for 5 s. Useful for "I started a long task; tell me when it's done." +Shortcuts work while a terminal is focused — we capture the key before xterm.js sees it. They don't fire while you're typing into a label edit or the palette input, so those still work normally. `Ctrl` and `⌘` (Cmd) are interchangeable. + +### Mouse + toolbar + +- **Split panes** — `⇥` in the pane toolbar splits right, `⇣` splits down. The new pane inherits the parent's distro; the cwd defaults to `~` in the WSL distro. +- **Close pane** — `×`. The sibling expands to fill. +- **Rename pane** — click the label in the toolbar, type, `Enter` (`Esc` to cancel). +- **Change distro** — click the small `Ubuntu ▾` chip; pick a distro from the popover. The pane respawns (old shell is killed). +- **Swap panes** — click-and-drag a pane's toolbar onto another pane. The two leaves trade tree slots; both shells stay alive, both scrollbacks intact. +- **Active pane** — click any pane → blue border + keyboard focus. +- **Resize** — drag the gutter between two panes. A 180 px minimum is enforced on both sides. + +### Broadcast, idle, presets + +- **Broadcast** — toggle `📡` on two or more panes (orange border). Typing in any of them mirrors to the rest. The titlebar `📡 all off` / `📡 all on` / `📡 N/M` button flips the whole group at once. +- **Idle indicator** — when a pane goes quiet for 5 s, its border turns red and its "alive" toolbar tag swaps to red "idle". The titlebar also shows an `N idle` count. Clears the moment new output arrives. Active + broadcasting borders take precedence so the focus indicator isn't masked. +- **Preset layouts** — titlebar buttons `1` / `2H` / `3H` / `2V` / `2×2`. Existing panes are spliced into the new shape in order (ids, shells, scrollback preserved); extra slots spawn fresh shells. Only prompts if the preset has fewer slots than you currently have panes (those overflow shells get killed). Layout + per-pane settings auto-save to `%APPDATA%\com.megaproxy.tiletopia\workspace.json` (debounced 500 ms).