Skip to content

Extend spec to give any app icons in usr/share/icons preference#20

Merged
probonopd merged 2 commits intoAppImage:masterfrom
kossebau:patch-1
Jan 1, 2019
Merged

Extend spec to give any app icons in usr/share/icons preference#20
probonopd merged 2 commits intoAppImage:masterfrom
kossebau:patch-1

Conversation

@kossebau
Copy link
Copy Markdown
Contributor

Draft for approaching #19 (as well as #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)

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)
@probonopd
Copy link
Copy Markdown
Member

Sounds reasonable to me. What do others say?

Copy link
Copy Markdown
Contributor

@azubieta azubieta left a comment

Choose a reason for hiding this comment

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

Looks good to me.
Please the fix typo.

Comment thread draft.md Outdated
* **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.
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.

512x512, ot 1024x1024 pixels.

Typo, change 'ot' by 'or'

Comment thread draft.md
* **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.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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.

@probonopd probonopd merged commit 2da4024 into AppImage:master Jan 1, 2019
@probonopd
Copy link
Copy Markdown
Member

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.

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.

4 participants