feat(tui): queue strip — always-visible queued prompts, ^Q controls - #43
Merged
Conversation
Queued prompts were invisible between submit and drain: a footer count was the only trace. The strip puts one row per held prompt directly above the input — where the eyes already are — with ▲▼✕ mouse controls and a ctrl+q keyboard focus mode (↑↓/jk select · ←→/hl move · d delete · esc back). Rows fold into an overflow tail past 8, cancel returns held prompts to the composer, and the strip collapses to zero rows when the queue runs dry. Mouse controls render only when the terminal tracks the mouse (--mouse) — glyphs without tracking are dead pixels. The hit test works in terminal cells, not byte offsets: multibyte prompt text used to shift every hit zone so ▼ moved up and ✕ moved down. Mouseless runs get a ^Q hint row that becomes the key legend while focused, and the F1 card now teaches the binding.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Round-2 follow-on: the always-visible queue panel (A10 continued past the visibility-only increment in #42).
What it does
^Qfocus mode:↑↓/jkselect ·←→/hlmove ·ddelete ·esc/⏎back to the composer. Only latches when prompts are queued; drops focus automatically when the queue drains.▲ ▼ ✕per-row mouse controls: reorder, delete, or click a row body to select it.Correctness details
--mouse— glyphs without terminal mouse tracking are dead pixels; mouseless runs get a^q managehint row that becomes the key legend while focused.▼moved up and✕moved down. Both the dispatcher and the test helper now compute display-width columns; covered with ASCII and multibyte prompts.inputAreaHeight, and mouse offsets all derive fromqueueStripHeight.^Q; README synced.Verification
go test -race -count=1 ./...— all 7 packages ok (~38s tui)go vetclean,go fmtclean