Skip to content

feat(desktop): add persistent UI scaling - #705

Open
katulevskiy wants to merge 1 commit into
zeronsh:mainfrom
katulevskiy:feat/desktop-ui-scale
Open

katulevskiy wants to merge 1 commit into
zeronsh:mainfrom
katulevskiy:feat/desktop-ui-scale

Conversation

@katulevskiy

@katulevskiy katulevskiy commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Add persistent whole-interface scaling in Settings → Appearance → Interface scale. The minus/plus controls and Ctrl+Shift+Plus / Ctrl+Shift+Minus adjust the UI from 50% to 200% in 10-point steps; Ctrl+Shift+0 resets to 100%. macOS also accepts Command equivalents.

Text, icons, spacing, and panes scale together without changing font preferences or native window dimensions. The device-local preference saves immediately and restores on startup. Pointer hit testing, pixel scrolling, IME coordinates, and native browser placement follow the selected scale. Reserved zoom shortcuts survive keymap edits and work from settings and a focused conversation composer.

Supporting dependency

Depends on zeronsh/zui#14, which adds independent GPUI window scaling. A temporary pinned Cargo patch makes this branch build and keeps GPUI and gpui-base on the same types. After that change merges, replace the patch with the upstream revision before merging this PR.

Validation

  • All 1,433 Zeron UI tests passed (cargo test --locked -p zeron-ui --lib -- --test-threads=1).
  • Both supporting GPUI scale regression tests passed.
  • Desktop cargo check --locked -p zeron passed.
  • Native Linux fixture checks shortcuts, immediate persistence, retained zoom after native bounds updates, and reset; captures use an isolated profile without engine/model calls.
  • macOS/Windows live platform verification remains outstanding.

Screenshots

The same 1440 × 1080 native app window at each scale. Captured from the production shell using the reproducible fixture documented in docs/ui-scale.md.

Dark · 100% Dark · 150%
Appearance at 100% Appearance at 150%

Light · 120%:

Appearance in light mode at 120%


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

RemingtonWilcox added a commit to RemingtonWilcox/zeron that referenced this pull request Oct 5, 2026
Brings katulevskiy's Settings > Appearance > Interface scale (50-200%)
onto current main, plus plain zoom shortcuts.

- Conflicts: shortcuts.rs now refuses UI-scale combos inside main's
  refusal(); shell.rs keeps main's merge_changes-based pull_settings and
  settings.rs adds ui_scale_percent to its merge list.
- zui: patch to zeronsh/zui 3569fc6f, GitHub's merge of zui#14 into
  main's 667d0aaf, so main's per-edge fade bands stay. The git@ user in
  the URL makes Cargo accept a patch from the same repository.
- Ctrl+= / Ctrl+- / Ctrl+0 (Cmd on macOS) zoom alongside zeronsh#705's
  Ctrl+Shift chords; the Appearance hint names the plain ones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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