Skip to content

fix(tui): drop the hotbar setup rows' description stub beside the detail pane - #7029

Merged
Hmbown merged 1 commit into
codewhale-hq:mainfrom
Lstarsky0:ux/hotbar-split-row-description
Oct 20, 2026
Merged

Hmbown merged 1 commit into
codewhale-hq:mainfrom
Lstarsky0:ux/hotbar-split-row-description

Conversation

@Lstarsky0

Copy link
Copy Markdown
Contributor

What and why

From 100 columns up, /keys (Hotbar setup) puts the action list and the selected action's details side by side. The list column is then 40 to 48 wide, and the marker, recommended tag, name and status take 39 of it, so a row's description never gets more than nine columns. At 100×32, before:

 │app actions                              Command palette                                        │
 │▸  rec Command palette        ready    … palette.open                                           │
 │   rec Compact session        ready    …                                                        │
 │   rec Cycle reasoning        ready    … Category: app                                          │
 │   rec Operate mode           ready    … Status: ready                                          │

After:

 │app actions                              Command palette                                        │
 │▸  rec Command palette        ready      palette.open                                           │
 │   rec Compact session        ready                                                             │
 │   rec Cycle reasoning        ready      Category: app                                          │
 │   rec Operate mode           ready      Status: ready                                          │

At 120×32 and 140×40 the rows read "Open…", "Shrink…", "Step…", "Do…". The full description is already in the detail pane ("Open the command palette." further down on the right).

So when the layout is split, the rows leave the description out and the detail pane shows it. render() already has layout.stacked, so it's passed down to action_row_line. The stacked layout below 100 columns and the 80-column render_lines export keep their descriptions, and a disabled row's reason still follows its status.

Issue

No-Issue: Hotbar setup rows show a lone "…" or one word of description beside the detail pane, no issue filed for it

How I tested it

  • Ran a debug build in a pseudo-terminal with an empty HOME and opened /keys at 60×16, 80×24, 97×30, 98×30, 100×32, 120×32 and 140×40, with this change and without it. The four stacked sizes (up to 98×30) are byte-identical before and after. At 100, 120 and 140 the rows end after the status column, and so does the slash tab at 100.
  • The one existing action_row_line test call passes true for the new argument, and its word-boundary truncation assertions still hold.
  • cargo fmt --all -- --check, cargo clippy -p codewhale-tui --all-targets --all-features with CI's flags, and cargo check -p codewhale-tui --all-targets: clean. Clippy also on 1.99, plus cargo +1.89.0 check -p codewhale-tui.
  • cargo nextest run -p codewhale-tui --lib: 15347 passed, none failed, including the hotbar setup tests.

Checklist

  • One focused change, on 273ac2d; it merges cleanly into current main
  • cargo fmt --all passes, and tests cover new or changed behavior
  • If this adds or changes a user-facing feature, I updated its docs and its row in docs/features.toml (cargo test -p codewhale-tui --test feature_registry checks it) — n/a

…ail pane

From 100 columns up, /keys (Hotbar setup) puts the action list and the
selected action's details side by side. The list column is then 40 to
48 wide, and the marker, recommended tag, name and status take 39 of
it, so each row's description gets at most nine columns. At 100x32
every row ends in a lone "…"; at 120x32 and 140x40 rows read "Open…",
"Shrink…", "Do…". The full description is already in the detail pane.

When the layout is split, leave the description out of the rows and
let the detail pane show it. The stacked layout below 100 columns, and
the 80-column text export, keep their descriptions, so 60x16, 80x24
and 98x30 render as before. A disabled row's reason still follows its
status.

Signed-off-by: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com>
@Lstarsky0
Lstarsky0 requested a review from Hmbown as a code owner October 19, 2026 16:40

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@github-actions github-actions Bot added the contribution-gate Author not yet in .github/APPROVED_CONTRIBUTORS; a maintainer grants access with /lgtm label Oct 19, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T16:43:44.321614Z dde2986 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Hmbown
Hmbown merged commit da467bb into codewhale-hq:main Oct 20, 2026
28 checks passed
@Hmbown

Hmbown commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

🤖 This reply is from Claude Opus 5.5, an AI agent working on behalf of the Codewhale maintainers. It is posted through @Hmbown's account, but Hunter did not write it.

Thanks @Lstarsky0. Good catch that the side-by-side setup layout left each row with a lone "…" or one word of description while the detail pane already shows it in full, and for checking that the stacked sizes and the 80-column export render byte-identical. Merged in da467bb for 0.10.2, which hasn't shipped yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contribution-gate Author not yet in .github/APPROVED_CONTRIBUTORS; a maintainer grants access with /lgtm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants