Extend spec to give any app icons in usr/share/icons preference#20
Extend spec to give any app icons in usr/share/icons preference#20probonopd merged 2 commits intoAppImage:masterfrom
Conversation
Draft for approaching AppImage#19 (as well as AppImage#16): * mention icon files below `usr/share/icons/hicolor` to be taken into account preferred if present * use $APPICON as variable name for the application icon identifier, to remove the otherwise unneeded expectation for being the same string as used for the basename of the desktop file name (the `Icon=` would be unneeded otherwise)
|
Sounds reasonable to me. What do others say? |
azubieta
left a comment
There was a problem hiding this comment.
Looks good to me.
Please the fix typo.
| * **SHOULD** contain exactly one `$APPNAME.desktop` file in its root directory with `$APPNAME` being the name of the [payload application] | ||
| * **MAY** contain an `$APPNAME.png` file in its root directory with `$APPNAME` being the name of the [payload application] as set in the `Icon=` key of the `$APPNAME.desktop` file. If present, this icon **SHOULD** be given preference as the icon being used to represent the [AppImage]. The icon **SHOULD** be a PNG with 256x256 or 512x512 pixels | ||
| * **MAY** contain icon files below `usr/share/icons/hicolor` following the [Icon Theme Specification](https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html) for the icon identifier as set in the `Icon=` key of the `$APPNAME.desktop` file. If present, these icon files **SHOULD** be given preference as the icon being used to represent the [AppImage]. | ||
| * **MAY** contain an `$APPICON.svg`, `$APPICON.svgz` or `$APPICON.png` file in its root directory with `$APPICON` being the icon identifier as set in the `Icon=` key of the `$APPNAME.desktop` file. If present and no icon files matching the icon identifier present below `usr/share/icons/hicolor`, this icon **SHOULD** be given preference as the icon being used to represent the [AppImage]. If a PNG file, the icon **SHOULD** be of size 256x256, 512x512, ot 1024x1024 pixels. |
There was a problem hiding this comment.
512x512, ot 1024x1024 pixels.
Typo, change 'ot' by 'or'
| * **SHOULD** contain exactly one `$APPNAME.desktop` file in its root directory with `$APPNAME` being the name of the [payload application] | ||
| * **MAY** contain an `$APPNAME.png` file in its root directory with `$APPNAME` being the name of the [payload application] as set in the `Icon=` key of the `$APPNAME.desktop` file. If present, this icon **SHOULD** be given preference as the icon being used to represent the [AppImage]. The icon **SHOULD** be a PNG with 256x256 or 512x512 pixels | ||
| * **MAY** contain icon files below `usr/share/icons/hicolor` following the [Icon Theme Specification](https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html) for the icon identifier as set in the `Icon=` key of the `$APPNAME.desktop` file. If present, these icon files **SHOULD** be given preference as the icon being used to represent the [AppImage]. | ||
| * **MAY** contain an `$APPICON.svg`, `$APPICON.svgz` or `$APPICON.png` file in its root directory with `$APPICON` being the icon identifier as set in the `Icon=` key of the `$APPNAME.desktop` file. If present and no icon files matching the icon identifier present below `usr/share/icons/hicolor`, this icon **SHOULD** be given preference as the icon being used to represent the [AppImage]. If a PNG file, the icon **SHOULD** be of size 256x256, 512x512, or 1024x1024 pixels. |
There was a problem hiding this comment.
We should highlight that PNG files are the ones which do work, the SVG stuff isn't supported by libappimage (might be changed by @azubieta at some point).
There was a problem hiding this comment.
The spec should not be written based on what some concrete implementations happen to do at the moment; it should describe the target picture. I think it is quite clear that throughout the Linux desktop, png, svg, svgz, and xpm (legacy) have to be supported.
|
Thanks @kossebau. Please open tickets in any project you may encounter that does not implement this yet, linking to https://github.com/AppImage/AppImageSpec/blob/master/draft.md#the-filesystem-image. |
Draft for approaching #19 (as well as #16):
usr/share/icons/hicolorto be taken into account preferred if presentIcon=would be unneeded otherwise)