Rationale
Currently, there’s no method to specify an icon for a specific app
, a packager has to specifically patch each of the app’s corresponding desktop entries themselves, or if the snap only features an app
with the same name, has to maintain a separate copy of patched desktop entry and icon as /snap/gui/_app_name_.desktop
and /snap/gui/_app_name_.{png,svg}
according to the Getting ready for stable - doc - snapcraft.io topic. This proposal tries to save the redundant work in order to make a snap app
's desktop entry’s icon works as one expected to be.
Reference
Application icon doesn’t work in the launcher - snapcraft - snapcraft.io
Value Type
A YAML string
Value Description
A path relative to the prime
directory pointing to a PNG/SVG icon, snapcraft should take care of the rest just like the apps.<app-name>.desktop
key.
Expected Behavior
When this key and the apps.<app-name>.desktop
key is specified, snapcraft
should copy the desktop entry from apps.<app-name>.desktop
to $SNAP/meta/gui/_app_name_.desktop
, copy the icon from apps.<app-name>.icon
to $SNAP/meta/gui/_app_name_.{png,svg}
, do all necessary modifications to the new desktop entry file as it should be before, and replace/insert the Icon
key’s value with the value $SNAP/meta/gui/_app_name_.{png,svg}
.