Skip to content

Fix macOS 26+ dock icon losing system theming (#8816)#11577

Open
d3ns0n wants to merge 1 commit into
bambulab:masterfrom
d3ns0n:fix/macos26-dock-icon-theming
Open

Fix macOS 26+ dock icon losing system theming (#8816)#11577
d3ns0n wants to merge 1 commit into
bambulab:masterfrom
d3ns0n:fix/macos26-dock-icon-theming

Conversation

@d3ns0n

@d3ns0n d3ns0n commented Jul 16, 2026

Copy link
Copy Markdown

Problem

On macOS 26 (Tahoe) the Bambu Studio dock icon does not respect the system's
new icon theming (Liquid Glass / Tinted / Clear / Dark). When the app launches
it loses the themed appearance and shows a plain raster icon instead.

Root cause: on startup MainFrame sets a custom dock icon at runtime via a
wxTBI_DOCK taskbar icon (BambuStudio-mac_256px.ico). This calls
-[NSApp setApplicationIconImage:] under the hood, which overrides the system
theming that macOS applies to the app bundle icon (Icon.icns).

Fixes #8816

Change

Skip the runtime dock-icon override on macOS 26 and later, so the system-themed
bundle icon is used instead. Behaviour on macOS < 26 is unchanged.

  • Add Slic3r::is_mac_os_at_least(int major) in MacUtils.mm, implemented with
    -[NSProcessInfo isOperatingSystemAtLeastVersion:]. This is a lower-bound
    check, so future releases (27+) are covered automatically, and it works
    regardless of the SDK the project is built with.
  • Guard the #ifdef __APPLE__ dock-icon initialization in MainFrame with
    if (!is_mac_os_at_least(26)).

Testing

  • Built and ran locally on macOS 26.5 (Apple Silicon, arm64).
  • With the fix, the dock icon now follows the system Icon & Widget Style
    (verified with the "Tinted" style — the running app's dock icon stays tinted
    instead of reverting to the raster icon).
  • Change is fully contained in #ifdef __APPLE__, so non-Apple builds are
    unaffected.

On macOS 26 (Tahoe) the runtime dock icon override suppressed the
system's Liquid Glass / tinted icon theming. Skip setting a custom
dock icon on macOS 26 and later so the themed bundle icon is used.

Add is_mac_os_at_least() using NSProcessInfo so the check is a lower
bound (covers 27+) and works regardless of the build SDK.

Fixes bambulab#8816
@d3ns0n

d3ns0n commented Jul 16, 2026

Copy link
Copy Markdown
Author

Screenshots (app running on macOS 26.5, Apple Silicon)

Before → After — Icon & Widget Style: Tinted – Light

Before (current behaviour) After (this PR)
before after-tinted-light

With the fix the dock icon follows the system Icon & Widget Style instead of the raster override:

Dark Tinted – Dark Tinted – Light
after-dark after-tinted-dark after-tinted-light

@Haidiye00
Haidiye00 removed their request for review July 17, 2026 01:09
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.

macOS Tahoe icon correction

1 participant