osxbundle: add and generate new macOS 26 compatible App icon - #17127
osxbundle: add and generate new macOS 26 compatible App icon#17127Akemi wants to merge 2 commits into
Conversation
be3ea98 to
66d290b
Compare
add the Icon Composer project to generate all icon variants with it. actool will generate an Assets.car file which is compatible with all the new Theme variants of macOS 26 (default, dark, monochrome, tinted, etc). it also generates an old icns file as a fallback, only default style. since the new Assets.car file can't be used from cocoa directly, without using private APIs, we still use the icns file when used from CLI. this also means that from CLI only the default icon is used and the macOS theming doesn't have any effect. the macOS theming mechanism only works with the bundle and a Assets.car file. all icons are generated on the fly depending on the Theme. this generation has no public API and the mechanism would need to be replicated by hand. to replicate this behaviour at least three different icns would need to be generated, tinting needs to be implemented, several system events need to be subscribed, and this wouldn't guarantee the same look as the system mechanism. also none of the tools make it possible to generate macOS 26 compatible icns file, besides for the default file, since it at least is missing the necessary padding.
use the newly generates App icons for the bundle. keep the old icns file as fallback for older macOS versions.
There was a problem hiding this comment.
Why this icon is in oxsbundle and not with other icons in repository?
There was a problem hiding this comment.
if you mean that specific png, then it's because it's within the Icon Composer project folder (icon.icon). we have to keep that folder structure.
if you mean the whole Icon Composer project folder (icon.icon), i just kept it besides the bundle close to where the old icon was. so not much of a reason. if you prefer i can move the whole folder to /etc, since we move the generated icon files into the bundle anyway?
There was a problem hiding this comment.
I mean, we already have icons in etc/ directory.
|
sadly we can't generate the various icons in our pipelines with the actool and the Icon Composer project because only the latest xcode 26 has support for this. see as alternative #17131 |
alternative to #16926. generated with mpv-player/random-stuff#6
this is a lazy macOS 26 compatible icon. it just uses our current icon at 1024x1024px for an Icon Composer project. it tries to preserve the current colour scheme, see remark on the PR mentioned above. it also deactivates all the liquid glass effects, because they don't work well with raster images. for a proper macOS 26 icon we need a properly layered (layered in Icon Composer) vector image(s).
the macOS theming only works with the bundle but not from the CLI. see remarks on the first commit.
just some generation infos:
default, dark, clear light, clear dark, tinted light, tinted dark: