Skip to content

fix(menubar): unify action buttons across popovers - #7

Merged
kennss merged 2 commits into
kennss:mainfrom
davidarny:fix/popover-buttons
Jun 21, 2026
Merged

fix(menubar): unify action buttons across popovers#7
kennss merged 2 commits into
kennss:mainfrom
davidarny:fix/popover-buttons

Conversation

@davidarny

@davidarny davidarny commented Jun 21, 2026

Copy link
Copy Markdown

What changed

Menu-bar popover buttons

The combined popover and the per-metric popovers (CPU, GPU, Memory, Network, Disk, Sensors, Battery) used default system buttons that clashed with the dark monospaced card UI: uneven heights, a truncated Check for Updates… label, and a bulky full-width Open Dashboard sitting next to small bordered buttons.

A shared PopoverButtonStyle in Theme.swift now gives every button the card look: rounded panel fill, hairline border, monospaced label, fixed 28pt height, and hover + press feedback. A prominent variant adds an accent tint for the single primary action.

  • Combined popover (MenuBarView.swift): Open Dashboard is the primary button; Settings and Quit split a row below at equal width. Dropped Check for Updates… from the popover since it already lives in Settings under Startup & alerts. Renamed Settings… to Settings.
  • Per-metric popovers (MenuBarMetric.swift): the shared OpenDashboardButton adopts PopoverButtonStyle(prominent: true). The CPU dropdown dropped its inline button copy and reuses OpenDashboardButton like the others.

Dev build script

scripts/build-app.sh produced a bundle that crashed on launch:

dyld: Library not loaded: @rpath/Sparkle.framework

The SPM binary links Sparkle, but the script never embedded the framework. It now copies Sparkle.framework into Contents/Frameworks/, adds the @executable_path/../Frameworks rpath, and ad-hoc signs the nested helpers, matching what scripts/package.sh already does for Developer ID distribution.

Testing

  • swift build is clean.
  • Built dist/SiliconScope.app via scripts/build-app.sh and launched it.
  • Opened the combined popover and the CPU per-metric popover; both render the new buttons. The remaining per-metric popovers share the same OpenDashboardButton component.

Screenshots

Before After
image image
image CleanShot 2026-06-21 at 13 42 41@2x

David Arutyunyan and others added 2 commits June 21, 2026 13:41
Both the combined popover and the per-metric popovers (CPU, GPU, Memory,
Network, Disk, Sensors, Battery) used default system buttons that clashed
with the dark monospaced card UI: uneven heights, a truncated "Check for
Updates…" label, and a bulky full-width "Open Dashboard" next to small
bordered buttons.

Add a shared PopoverButtonStyle (Theme.swift): rounded panel fill, hairline
border, monospaced label, fixed 28pt height, hover + press feedback, with a
`prominent` accent variant for the single primary action.

- Combined popover: Open Dashboard is primary; Settings and Quit split a row
  below at equal width. Drop "Check for Updates…" (already in Settings) and
  rename "Settings…" to "Settings".
- Per-metric popovers: the shared OpenDashboardButton adopts the prominent
  style; the CPU dropdown drops its inline copy and reuses OpenDashboardButton.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
build-app.sh produced a bundle that crashed on launch with
"dyld: Library not loaded: @rpath/Sparkle.framework": the SPM binary links
Sparkle but the script never embedded the framework. Copy Sparkle.framework
into Contents/Frameworks/, add the @executable_path/../Frameworks rpath, and
ad-hoc sign the nested helpers, mirroring what scripts/package.sh does for
Developer ID distribution.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kennss
kennss merged commit 144a7bb into kennss:main Jun 21, 2026
@kennss

kennss commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Merged and shipped in v2.2.1 🎉 Thank you — lovely cleanup. The shared PopoverButtonStyle makes the whole menu-bar surface feel consistent, and catching the missing Sparkle embed in build-app.sh was a great bonus. Appreciate the thorough write-up and the before/after shots. Welcome, and thanks for your first contribution to SiliconScope! 🙏

kennss added a commit that referenced this pull request Jun 26, 2026
…d/Replay highlights, in all 6 languages

- Replace hero image with the dashboard showing the Replay scrubber; refresh caption
- Add inspector.png (Process Inspector — SpectaloWhispr, ANE 762 MB)
- New 'New in 3.0' section (Process Inspector + Record & Replay) and Highlights bullets
- English deep-dive #7: per-process metrics via proc_pid_rusage (incl. ri_neural_footprint)
- Propagate hero caption + section + bullets to de/zh-CN/zh-TW/ja/ko
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