Overhaul command palette UX
Six-phase sweep: section headers (Focused / Open / Spawn / Quit) with header-skip cursor; chip strip mirroring sw/sp/k macros, driven by Tab; unified Spawn verbs across agent / process / terminal / custom; dropped duplicate global Close list in favor of Ctrl-X inline close on a Switch row plus the [Close] chip; scored matching (prefix > word-boundary > substring > fuzzy) with matched-char highlighting; title bar surfaces focus subject; rename forms split long subject onto its own row; new Alt-1..9 quick-pick, Home/End, ? help overlay, and Ctrl-R relaunch toggle inside the spawn-process form. Scroll indicator and cursor/total counter round out the footer.
This commit is contained in:
40
CHANGELOG.md
40
CHANGELOG.md
@@ -6,6 +6,46 @@ loosely follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
- Command palette UX overhaul. The single flat list grew section
|
||||
bands (`── Focused ──`, `── Open ──`, `── Spawn ──`, `── Quit ──`)
|
||||
so the rows are scannable at a glance; cursor navigation skips
|
||||
the dim header rows transparently. A chip strip — `[All] Open
|
||||
Spawn Close` — sits below the query line and tracks the active
|
||||
macro filter; `Tab` / `Shift-Tab` cycle through the chips, and
|
||||
the typed-prefix macros (`sw `, `sp `, `k `) still work and now
|
||||
collapse the whole prefix on a single backspace instead of
|
||||
leaving a stray `sw` behind. The title bar surfaces the current
|
||||
focus subject (`on: <child>` / `pad: <name>`) so the user knows
|
||||
which Focused row is targeting what. The duplicate global Close
|
||||
list is gone — close is reachable via the Focused-section action,
|
||||
the `k ` macro / `[Close]` chip, or the new `Ctrl-X` inline close
|
||||
on a Switch row. The "(current)" marker on the focused Switch row
|
||||
became a leading `▶`. The empty-state hint now reads `no matches
|
||||
· ⌫ to widen` instead of bare `no matches`. The middle divider
|
||||
shows a `▼ N more` / `▲ N above` scroll indicator when the list
|
||||
overflows, and the footer carries a `cursor/total` counter.
|
||||
- Spawn verbs are unified on **Spawn**: `Run process: …` →
|
||||
`Spawn process: …`, `New Terminal` → `Spawn terminal`, and the
|
||||
freeform-form row is now `Spawn process… (custom)` so the
|
||||
trailing ellipsis still signals it opens a form.
|
||||
- Filtering switched from binary fuzzy-include to scored ranking.
|
||||
Prefix matches beat word-boundary matches beat substring matches
|
||||
beat scattered-fuzzy matches; ties fall back to section order so
|
||||
a Focused-section hit always outranks an equally tight Spawn
|
||||
hit. The matched characters in the rendered label render in
|
||||
accent+bold so the user can see why a row matched.
|
||||
- Rename forms split the long subject (`scratchpad:
|
||||
some-really-long-name.md`) onto its own dim row above the input
|
||||
so the title bar no longer truncates with an ellipsis when the
|
||||
subject name is wide.
|
||||
- New palette accelerators: `Alt-1` … `Alt-9` quick-pick the Nth
|
||||
visible row, `Home` / `End` jump to first / last selectable row,
|
||||
`?` (with empty query) opens an inline keybinding cheat-sheet
|
||||
which any further keystroke dismisses, and `Ctrl-R` inside the
|
||||
Spawn-process form toggles "Relaunch on exit" without leaving
|
||||
the command field.
|
||||
|
||||
### Fixed
|
||||
- Typing into a focused child while its emulator viewport is
|
||||
scrolled up into scrollback history now auto-snaps the viewport
|
||||
|
||||
Reference in New Issue
Block a user