Skip to content

Polish multiple ruler integration#244

Closed
pascalpp wants to merge 10 commits into
codex/234-ruler-state-restorationfrom
codex/235-multiple-rulers-polish
Closed

Polish multiple ruler integration#244
pascalpp wants to merge 10 commits into
codex/234-ruler-state-restorationfrom
codex/235-multiple-rulers-polish

Conversation

@pascalpp

Copy link
Copy Markdown
Owner

Implements #235 as part of #228. Adds the New Ruler menu command, updates the help book for the active-ruler multi-ruler model, and verifies the unit target.

@pascalpp pascalpp force-pushed the codex/235-multiple-rulers-polish branch from 015c501 to 638aa6f Compare June 17, 2026 05:54
@pascalpp pascalpp force-pushed the codex/234-ruler-state-restoration branch 2 times, most recently from 24a922f to ec79118 Compare June 17, 2026 06:14
@pascalpp pascalpp force-pushed the codex/235-multiple-rulers-polish branch from 638aa6f to 33b565d Compare June 17, 2026 06:14
@pascalpp

Copy link
Copy Markdown
Owner Author

[codex reviewer] The new New Ruler menu item in Free Ruler/Base.lproj/MainMenu.xib:82 needs XIB localization entries. I checked the localized MainMenu.strings files and there is no rWt-KM-qSf.title, so all non-English builds will show the English New Ruler label. Please add translations for de, es, fi, ja, and zh-hans as part of this phase, or set the title programmatically with NSLocalizedString.

@pascalpp pascalpp force-pushed the codex/235-multiple-rulers-polish branch from 33b565d to dca7c3c Compare June 18, 2026 02:31
@pascalpp pascalpp force-pushed the codex/234-ruler-state-restoration branch from ec79118 to 90b0201 Compare June 18, 2026 02:31
@pascalpp pascalpp force-pushed the codex/235-multiple-rulers-polish branch from dca7c3c to 78cc289 Compare June 19, 2026 02:20
@pascalpp pascalpp force-pushed the codex/234-ruler-state-restoration branch from 90b0201 to 71ece46 Compare June 19, 2026 02:20

pascalpp commented Jun 19, 2026

Copy link
Copy Markdown
Owner Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@pascalpp

Copy link
Copy Markdown
Owner Author

[codex reviewer] One reset-defaults path still looks stale after the settings-window refactor. RulerSettingsController.resetToDefault replaces the active ruler settings with RulerSettings(defaults: prefs) and refreshes the controls, but it never updates rulerController?.opacity. GroupedRulerController.updateSettings then calls applyStateToWindow, where the window first receives the new settings and then immediately has alphaValue overwritten from the controller’s existing opacity field. The foreground/background slider handlers avoid this by assigning rulerController?.opacity after applying settings, but reset does not. Repro from the existing test data: active ruler foreground opacity is 63%, defaults are 88%, choose Ruler Settings > Reset to Defaults; the label/state move to 88%, but the visible ruler can remain at 0.63 alpha until another opacity/activation path runs. Please update the live opacity on reset and extend testRulerSettingsControllerResetsRulerToDefaults to assert the grouped window alpha.

@pascalpp

Copy link
Copy Markdown
Owner Author

[codex reviewer] Small UI polish issue from the test build: xcodebuild now emits an ibtool notice for Free Ruler/Base.lproj/RulerSettingsControlsView.xib: RSV-fg-value: View is clipping its content. That label is initialized to 100% in a 37 pt text field, so the max opacity value is already at the edge in the new shared settings controls view. Please widen the foreground/background opacity value fields or otherwise let them size to fit so 100% cannot clip in the ruler settings/preferences UI.

… adjust opacity handling and update UI elements accordingly. Modify RulerSettingsControlsView.xib for improved layout of text fields. Enhance RulerCoreTests to validate opacity settings and window alpha values.
@pascalpp pascalpp closed this Jun 19, 2026
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