Skip to content

gui: Grow the window so no page needs scrolling - #223

Merged
BenWestgate merged 1 commit into
claude/project-thread-p319g5from
claude/project-thread-vfmjdk
Nov 10, 2026
Merged

BenWestgate merged 1 commit into
claude/project-thread-p319g5from
claude/project-thread-vfmjdk

Conversation

@BenWestgate

Copy link
Copy Markdown
Owner

Requested by Ben · project thread

Ben's VM screenshots showed the home window and the "Your wallet is back" page scrolling. The window there was about 470×450. At the default 880×620 size the home page fits, but the finished pages still did not.

Change (one shared fix in _page, plus one in _rows):

  • When a page is taller than the window, the window grows to fit it, up to the screen's height. This happens when the page opens, when a section expands (e.g. "Something else" on the card-count page), and when a message gets longer. If the operator shrinks the window, it grows back. On a screen too short for the page, the scroller is still there as a last resort.
  • Name/value rows (wallet identity, wallet record, new card) are now one line each, with the value on the right. The finished page now fits in 880×620 and reads straight down against the paper record. Long wallet names wrap.
  • GUI size budget: 2050 → 2063. This change takes 13 lines more than the 3 that were free.

Checked (Xvfb, GTK 4.14, libadwaita 1.5). Every page was rendered with stub data: home, network, card count (both states), before-you-start, write, read-back, wallet picker (new/restore), unlock, new wallet, fingerprint (new/restore/mismatch), finished (created/restored/with warning), card entry, guess gate, intact/guessed, seed, letter, new card done, working.

  • Before: at 880×620, 4 pages scrolled. At 470×450, 13 did.
  • After: none scrolled at either size.
  • On a 600-pixel-high screen the window stops at the screen height and the scroller takes over, with no resize loop.
  • python -m pytest: 1053 passed, 2 skipped. tools/gui_walkthrough.py passes. ruff and mypy are clean.
  • Not checked: Wayland and mutter. They should honour the resize request, but I could only test on X11.

Stacked on #217 (the Bails pin line). The same change ports to gui-reviewability-v1 with two trivial conflicts (import line, budget).


Generated by Claude Code

Every page now asks the window to grow, never past the screen's height,
whenever its content is taller than the space it has: on arrival, when a
section opens, and when a message gets longer. A window the operator
shrinks grows back to fit. The scroller stays as the last resort on a
screen too short for the page.

Name-and-value rows (wallet identity, wallet record, new card) are one
line each, value on the right, so the finished page fits the default
880x620 window and reads straight down against the paper record.

The GUI size budget rises by the 13 lines this takes.

Claude-Session: https://claude.ai/code/session_01N8jLK9eptxLjUcNnMk1VGr
@BenWestgate BenWestgate self-assigned this Nov 10, 2026
@BenWestgate
BenWestgate marked this pull request as ready for review November 10, 2026 22:32
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-10T22:33:49.375598Z ea00eba Draft marked ready
ℹ️ 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.

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

lGTM

@BenWestgate
BenWestgate merged commit 6bcbfa0 into claude/project-thread-p319g5 Nov 10, 2026
12 checks passed
@BenWestgate
BenWestgate deleted the claude/project-thread-vfmjdk branch November 10, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant