Skip to content

feat(icons): generate Tauri desktop icon set from brand.toml#42

Merged
IamMrCupp merged 1 commit into
mainfrom
feat/desktop-icon-set
Jun 2, 2026
Merged

feat(icons): generate Tauri desktop icon set from brand.toml#42
IamMrCupp merged 1 commit into
mainfrom
feat/desktop-icon-set

Conversation

@IamMrCupp

Copy link
Copy Markdown
Member

Closes #30. Part of #26 (Phase 3 — extension).

The Tauri prototype in audiophore/audiophore ships flat-color placeholder icons — committed once, never the real mark. This generates the actual set its tauri.conf.json icon array expects:

  • logos/icons/icon.icns — full macOS set (16/32/128/256/512 + @2x), written by a small pure-Python ICNS writer. No macOS iconutil in the build path (it's absent on the ubuntu CI runner); verified that iconutil itself parses the output.
  • logos/icons/icon.ico — multi-res Windows/app icon (16–256), via ImageMagick, the same path favicon.ico already uses.
  • logos/icons/{32x32,128x128,128x128@2x}.png — the PNGs the icon array points at directly.

New [icons.desktop] section in brand.toml (source variant + .ico sizes). The .icns is byte-identical on rebuild; the web favicon.ico was never a substitute for a desktop app icon.

Wiring these into tauri.conf.json is a follow-up in the app repo.

Signed-off-by: Aaron Cupp <mrcupp@mrcupp.com>
@IamMrCupp

Copy link
Copy Markdown
Member Author

Switched icon.ico from ImageMagick to a pure-Python ICO writer over the cairosvg PNGs. ImageMagick's encoder isn't byte-stable across versions (homebrew IMv7 locally vs the ubuntu runner), which tripped the reproducibility gate; the PNGs themselves are identical cross-platform, so framing them in a deterministic ICO container fixes it. Amended onto the original commit.

@IamMrCupp IamMrCupp force-pushed the feat/desktop-icon-set branch from 978cc16 to 464edcb Compare June 2, 2026 03:25
@IamMrCupp IamMrCupp merged commit 5808b77 into main Jun 2, 2026
1 check passed
@IamMrCupp IamMrCupp deleted the feat/desktop-icon-set branch June 2, 2026 03:26
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.

B.1 — desktop app icon set

1 participant