Skip to content

Settings: even out the two columns on wide windows - #119

Merged
uyujkk merged 1 commit into
mainfrom
claude/settings-balance
Nov 10, 2026
Merged

uyujkk merged 1 commit into
mainfrom
claude/settings-balance

Conversation

@uyujkk

@uyujkk uyujkk commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to #104. Maximized, the Settings page's main column ended far above the information rail, leaving a large empty area in the lower left (295–358 DIP difference between the column bottoms).

  • The rail's later groups (online category, diagnostics, project and open-source) now act as units. In the two-column layout, the page moves whichever set best evens out the two column bottoms to the end of the main column, and re-checks when the width or language changes.
  • Below the 1180 DIP breakpoint every group goes back to its original place and order.
  • Tab order follows the visual order (main column, then rail) in both layouts; automation names are unchanged.
  • Nothing is padded or enlarged to fill space.
  • The rule is in Core (SettingsLayoutPolicy) with unit tests.

Difference between the two column bottoms:

Window Before After
Maximized 295–358 DIP zh 29, en 59, ru 91 DIP (the project group moves)
1400×900 not measured en 172, zh 140 DIP (project group); ru 115 DIP (online group)

Which group moves depends on the window height, so on a much smaller screen a different group may move than on the machine these were measured on.

Test plan

🤖 Generated with Claude Code

Maximized, the main column ended about 300 DIP above the side column, which
left the lower part of the main column empty. The side column's later groups
(online category, diagnostics, project) are now units; with two columns the
page moves the set that best evens out the column bottoms to the end of the
main column, in their own order (SettingsLayoutPolicy.BalanceColumns, unit
tested). It decides from the content heights after layout, again when the
width or the language changes.

Column bottoms, main vs side (DIP):
- maximized (2560x1392): before 295-358 apart (side longer); after the
  project group moves: zh 29, en 59, ru 91 apart.
- 1400x900: after: en 172, zh 140 (project moves), ru 115 (online moves).

Below the 1180 DIP breakpoint every group is back in the side panel in its
original order. Tab order follows the panels (main column, then side column),
matching what is seen; automation names are unchanged. A UI test checks both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@uyujkk
uyujkk merged commit 6607f3e into main Nov 10, 2026
4 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