Skip to content

macOS: Liquid Glass app icon (macOS 26+) with flattened fallback - #254

Open
quarrel07 wants to merge 1 commit into
JRickey:mainfrom
quarrel07:icon-liquid-glass
Open

macOS: Liquid Glass app icon (macOS 26+) with flattened fallback#254
quarrel07 wants to merge 1 commit into
JRickey:mainfrom
quarrel07:icon-liquid-glass

Conversation

@quarrel07

Copy link
Copy Markdown

Adds a native Liquid Glass app icon for macOS 26 (Tahoe) and later, built from the repo's own branding: the BS burst logo as a glass layer over the SSB64 wavy-blue backdrop, packaged as an Icon Composer document at assets/BattleShipIcon.icon (whitelisted through the assets/* gitignore like the other branding files).

How it works

package-macos.sh compiles the Icon Composer package with actool when the local Xcode supports the format (Xcode 26+):

  • Assets.car ships in Resources and provides the Liquid Glass icon on macOS 26+ via a new CFBundleIconName key (inserted only when the catalog actually shipped, avoiding the generic-icon trap).
  • actool also emits a flattened render of the same artwork, which replaces the hand-made AppIcon.icns so pre-Tahoe systems show matching art.
  • On older Xcode the block quietly no-ops — flat icns only, no new plist key, byte-identical bundle to today. Nothing about your release environment needs to change for this to be safe.
  • US only for now: the JP bundle keeps its distinct flat icon. Happy to do a JP variant of the .icon package if you'd like matching treatment there — or if you'd prefer different layer choices for this one, the source is easy to rework.

Verification

Packaged locally on Apple Silicon (Xcode 26.5) via SSB64_VERSION=us JOBS=4 ./scripts/package-macos.sh: bundle contains Assets.car + both icon keys, and rendering the .app's icon through NSWorkspace (the same pipeline Finder/Dock use) shows the Liquid Glass treatment, with the flattened fallback matching.

🤖 Generated with Claude Code

@quarrel07

quarrel07 commented Jul 14, 2026

Copy link
Copy Markdown
Author

One clarifying note: side by side with the current icon you'll notice this looks almost identical, and that is intentional. The main practical difference is rather than shipping a fixed bitmap, the Icon Composer version lets macOS adapt the icon automatically based on Light/Dark and tinted appearance modes, plus whatever styling future OS versions apply. With that said, it's your branding and I want to respect that! So if you'd rather keep the current icon, or want any adjustments, I completely understand. 🙂👍🏼

Adds assets/BattleShipIcon.icon, an Icon Composer package with the BS
burst logo as a glass layer over the SSB64 wavy-blue backdrop
(whitelisted through the assets/* gitignore like the other branding
files), and compiles it in package-macos.sh with actool when the local
Xcode supports the format (Xcode 26+):

- Assets.car ships in Resources and provides the Liquid Glass icon on
  macOS 26 Tahoe and later via CFBundleIconName.
- actool's flattened render replaces the hand-made AppIcon.icns so
  pre-Tahoe systems show matching artwork.
- On older Xcode the block quietly no-ops: flat icns only, no
  CFBundleIconName (avoids the generic-icon trap when the catalog is
  absent), byte-identical behavior to today.
- US only for now; the JP bundle keeps its distinct flat icon until a
  JP variant of the .icon package exists.

Verified on Apple Silicon (Xcode 26.5): packaged bundle contains
Assets.car + both plist keys, and the NSWorkspace icon render shows the
Liquid Glass treatment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quarrel07
quarrel07 force-pushed the icon-liquid-glass branch from f9cd942 to 1253b56 Compare July 18, 2026 21:11
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