Skip to content

Give document types dedicated Finder icons#55

Merged
desertkun merged 2 commits into
masterfrom
format-icons
Jun 17, 2026
Merged

Give document types dedicated Finder icons#55
desertkun merged 2 commits into
masterfrom
format-icons

Conversation

@morozov

@morozov morozov commented Jun 17, 2026

Copy link
Copy Markdown
Member

Problems solved

  1. Many document types FuseX registers (FDI, WAV, PZX, SPC, STA, LTP, MGTSNP, IMG, MGT, OPD, OPU, POK, D40, D80, MLT) shared the generic blank icon in Finder, so they were visually indistinguishable.
  2. The existing per-format icons were one-offs with no reproducible way to add more, leaving any new format stuck on blank.

What this PR does

Adds fusepb/format-icon.swift, a generator that takes the shared blank.icns as a base and stamps an uppercase label onto each layer, matching the look of the hand-made icons already in the set. A make icon FORMAT=<ext> [LABEL=<text>] target wraps it. Running it for the 15 remaining blank-mapped formats produces dedicated .icns files, which are wired into the app's Resources build phase, and Info-FuseX.plist repoints every affected CFBundleTypeIconFile/UTTypeIconFile from blank to its own icon. After this branch no document type still falls back to blank, and adding a new one is a single make icon invocation.

Other changes

  • project.pbxproj carries incidental Xcode normalizations from adding the icons through the IDE (a dangling build-file comment, a dropped group-name annotation, an added productRefGroup, a re-serialized run-script string). None affect the build.

morozov added 2 commits June 16, 2026 18:19
Generate per-format Finder icons that match FuseX's existing set, so a
new file type gets an icon without hand-editing artwork. Reuses
blank.icns as the shared base and stamps the uppercase label in Lucida
Grande Bold. Run with 'make icon FORMAT=<ext>' from fusepb/.
Every declared ZX Spectrum document type now shows a format-specific
Finder icon. Fifteen formats previously fell back to the generic blank
icon.
@desertkun desertkun merged commit a0fb141 into master Jun 17, 2026
2 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