Skip to content

fix(desktop): regenerate macOS icon sizes without edge halo - #59900

Merged
Brendonovich merged 1 commit into
devfrom
desktop-mac-icon-edges
Oct 28, 2026
Merged

Brendonovich merged 1 commit into
devfrom
desktop-mac-icon-edges

Conversation

@opencode-agent

Copy link
Copy Markdown
Contributor

What

Regenerates every size below 1024px in the macOS icon.icns for prod, beta and dev from that channel's existing 1024px image, and resyncs dock.png. The 1024px artwork, the chunk layout and the info entry are unchanged.

Why

The smaller sizes from Image2Icon had unpremultiplied anti-aliased edges, so the semi-transparent pixels on the rounded outline were near-white instead of the icon's own colour. macOS uses the 64px size (icon_32x32@2x) in System Settings lists, so the prod icon shows a light ring with jagged corners on dark backgrounds that other apps don't have.

Measured against a premultiplied downsample of the same 1024px image, edge pixels that differ by more than 60 in any channel:

  • prod: 56/56 at 64px and 170/345 at 128px. 256px and up were already clean.
  • beta and dev: off at every size from 16px through 512px.

How

Each size is a premultiplied-alpha Lanczos downsample of the channel's 1024px image. The legacy ic04/ic05 ARGB sizes were re-encoded with the same RLE format. dock.png equals the new 256px image, as the README requires. The README now notes that the smaller sizes must be generated this way.

Verification

  • Every size in all three .icns files decodes byte-identical to the expected downsample, and the 1024px size is byte-identical to dev.
  • iconutil -c iconset on macOS unpacks all ten sizes for all three channels.
  • Before/after at 64px over a dark background is in the Slack thread. GitHub attachment upload isn't available to the bot.

Requested by: @Brendonovich (Brendan via Slack)

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sound. I couldn't render it on macOS, so I decoded the .icns and dock.png files directly for all three channels and compared base and PR.

  • The chunk layout and order, the 1024px ic10 image and the info chunk are unchanged, and every smaller size, including the RLE ic04/ic05, decodes at the right dimensions.
  • Against a premultiplied downsample of the 1024px image, the prod 64px edge pixels on the base are much too light (average brightness about 161 against about 19 expected). With this PR they are about 24, and all sizes from 16px to 128px now track the 1024px image closely in every channel.
  • dock.png matches the new 256px image in each channel.

Public API is unchanged: this only touches app icon assets and the icons README.

@Brendonovich
Brendonovich merged commit 3d7eceb into dev Oct 28, 2026
14 checks passed
@Brendonovich
Brendonovich deleted the desktop-mac-icon-edges branch October 28, 2026 13:05
@amrkmn amrkmn mentioned this pull request Oct 29, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant