Skip to content

Fix the Settings pane clipping, align the Files pane, and show a pointer over the new chrome buttons - #4

Merged
jonnilundy merged 1 commit into
mainfrom
fix/locations-polish
Oct 5, 2026
Merged

jonnilundy merged 1 commit into
mainfrom
fix/locations-polish

Conversation

@jonnilundy

Copy link
Copy Markdown
Owner

Found by running PR #3 in the real app.

Fixed

  • Settings > Files was clipped on the right (Change…, the remove button and Restore Defaults cut off). Two causes: the path label had a fixed width that made the pane wider than the window, and the window never followed the pane after a location was added. The path label now takes the leftover space and truncates in the middle (the tooltip keeps the full path). The window grows and shrinks to fit the pane.
  • Alignment: the marker, nickname, Add Location… and the File associations box share one left edge. The label lines up with the first row's baseline. The right edges line up. Rows are even. The grid matches the other panes.
  • Cursor: the palette destination chip, the Overflow and Alternatives panel buttons, the M↓ toggle and the file name bar now show the pointing hand instead of the text cursor. The cause: the page's text view registers an I-beam under any view that registers no cursor of its own. One small helper, PointerCursor.swift.

Verified here

  • swift build passes.
  • Offscreen renders of the Files pane before and after (light and dark; empty, one long path, three, a long nickname). The before render reproduces the clipping from the screenshot. After: nothing clipped in all 8 cases.
  • 94 UI-side tests pass through an XCTest stand-in, including new layout tests and cursor registration tests.

Not verified

  • Real hover: cursor rects cannot be tested offscreen. The tests check what each view registers, not what AppKit shows.
  • Real swift test.

Not fixed (follow-up)

  • The Alternatives panel body and the Overflow panel outside its text probably still show the text cursor over non-text areas.

🤖 Generated with Claude Code

… over the page

Files pane: the path is the flexible part of a location row (middle truncation,
tooltip keeps the full path); nickname, Change... and remove keep their width.
The editor keeps one width, so the File associations box shares both edges. The
marker, Add Location..., the box and its help share one left edge; the label
shares the first row's baseline; rows and gaps are even. The window now grows
and shrinks with the pane (a frame set by hand on the hosted pane view pinned
the tab view to a stale size), around its centre line.

Cursors: the page's text view registers an I-beam under chrome. PointerCursor.swift
gives views a shared way to register their own rect. The palette destination
chip (hand while it is a menu, arrow as a label), the Overflow toggle, the M-down
toggle and the file name now register it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jonnilundy
jonnilundy merged commit 62293c9 into main Oct 5, 2026
0 of 2 checks passed
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