Skip to content

fix: keep menu bar style options inside the settings card - #143

Merged
cclank merged 2 commits into
cclank:mainfrom
maxchui:fix/menu-bar-style-overflow
Oct 30, 2026
Merged

cclank merged 2 commits into
cclank:mainfrom
maxchui:fix/menu-bar-style-overflow

Conversation

@maxchui

@maxchui maxchui commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Summary

In English, Japanese and Korean, the seven-option Style picker in Settings → Menu Bar is wider than the settings column even at its narrowest, so it spills over both sides of the card. Chinese only just fits. This replaces it with a grid of preview tiles, one per style, so the layout no longer depends on label length.

 settingsMenuBarSection
   Style
-    Picker(.segmented)              # 7 text segments
+    LazyVGrid(2 columns)
+      menuBarStyleTile × 7          # MenuBarStylePreview + label, tap to select
   Info
-    Picker(.segmented)
+    settingsFittingPicker           # segments; menu if they cannot fit
   Source
   …
-  MenuBarStylePreview              # the tiles already show it
  • Each tile renders MenuBarStylePreview with the current Info and Source settings, so the selected tile shows exactly what the menu bar will display. Style names like "Ticks" or "Star trails" don't describe the look on their own.
  • Info keeps its three segments. They fit in all five languages, but French only fits once the control shrinks, so settingsFittingPicker falls back to a menu if a translation ever outgrows the column. MeasuredAtWidth measures the segments at the column width rather than their full width, which is why Chinese doesn't fall back as well.
  • The selection is still stored under menuBarStyle; existing choices carry over.

Evidence

Settings → Menu Bar, rendered from main and from this branch with the same width and dark appearance.

Before After
English before-en after-en
Japanese before-ja after-ja

maxchui and others added 2 commits October 30, 2026 17:22
The seven-option segmented Style picker could not shrink to the settings
column in English, Japanese or Korean, so it overflowed both sides of the
card. Show each style as a preview tile instead, so every language uses the
same layout and users can compare styles without selecting each one. The
tiles follow the current Info and Source settings, which makes the separate
preview below the card redundant.

The Info picker keeps its segments and falls back to a menu only when they
cannot fit the column.
@cclank
cclank merged commit fd94e9a into cclank:main Oct 30, 2026
9 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.

2 participants