don't reference and expect non-standard icons, ship branded icons instead

Bug #1658325 reported by Fabio Valentini on 2017-01-21
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Audience
New
Undecided
Unassigned
Calculator
Invalid
Undecided
Unassigned
Camera
New
Undecided
Unassigned
Files
Invalid
Medium
Unassigned
Maya
New
Undecided
Unassigned
Photos
New
Undecided
Unassigned
Scratch
Invalid
Undecided
Unassigned
Screenshot
Fix Released
Medium
Daniel Fore
Switchboard
Invalid
Undecided
Unassigned
Terminal
Invalid
Undecided
Unassigned
Wingpanel
New
Undecided
Unassigned

Bug Description

Most elementary desktop apps don't ship the icons (to /usr/share/icons/hicolor) they reference in their .desktop files. This results in some problems (especially on other linux distributions, but also on other DEs), including:

1) Apps not shipping their own icon might show in Application Menus with the "missing icon" icon.

2) The affected apps will not show up in "Application Centers" which are using appdata for metadata, because the metadata is deemed to be invalid due to a non-existent icon (not in the package) being referenced at metadata generation time.

This behavior is intentional, because metadata generation for one package cannot (and should not) depend on other packages being present (to be reproducible).

For example, some elementary apps don't show up in GNOME Software because of that - this affects at least ubuntu and fedora, probably other distros too.

The affected packages are (I may have missed some in that list):

application icon name
--------------------------------------------
audience multimedia-video-player
maya-calendar office-calendar
screenshot-tool accessories-screenshot
snap-photobooth accessories-camera
wingpanel wingpanel

Related branches

tags: added: cross-distro
Neal Gompa (ngompa13) on 2017-01-21
tags: added: fedora
Daniel Fore (danrabbit) wrote :

Several of these are icon names covered by the fd.o icon naming spec. It doesn't make sense to ship these icons as they are mandated to be present in all icon sets. Namely the following:

AppCenter: system-software-install
Calculator: accessories-calculator
Files: system-file-manager
Scratch: accessories-text-editor
Switchboard: preferences-desktop
Terminal: utilities-terminal

Fabio Valentini (decathorpe) wrote :

Yes, I know that some of the icons are considered "generic" and are covered by the fd.o spec.

However, some infrastructure components (for example the appstream metadata generators / parsers, which use the included appdata file) expect the referenced icon to be present within the package itself and cannot rely on an icon theme being present. This prevents appstream metadata to be generated for the affected packages and thus prevents them from showing up in Application Installers (for example, GNOME Software on fedora, openSUSE, ubuntu, etc.).

I realize that it might not be in your interests to move (and possibly rename) application icons from e-icon-theme to the applications themselves, but the (current) limitations of this approach are outlined above.

Changed in pantheon-files:
assignee: nobody → Jeremy Wootten (jeremywootten)
importance: Undecided → Medium
milestone: none → juno-beta1
status: New → Confirmed
Changed in pantheon-files:
status: Confirmed → In Progress
Daniel Fore (danrabbit) on 2017-01-27
Changed in screenshot-tool:
importance: Undecided → Medium
milestone: none → juno-beta1
status: New → Confirmed
Changed in pantheon-files:
assignee: Jeremy Wootten (jeremywootten) → nobody
status: In Progress → Confirmed
Daniel Fore (danrabbit) on 2017-02-03
Changed in screenshot-tool:
assignee: nobody → Daniel Fore (danrabbit)
status: Confirmed → In Progress
RabbitBot (rabbitbot-a) on 2017-02-03
Changed in screenshot-tool:
status: In Progress → Fix Committed
Cody Garver (codygarver) on 2017-02-10
Changed in screenshot-tool:
status: Fix Committed → Fix Released
Fabio Valentini (decathorpe) wrote :

Since the referenced icon is defined in the fd.o icon name specification, the tooling is responsible for picking up the correct icons.

no longer affects: appcenter
Changed in pantheon-calculator:
status: New → Invalid
Changed in pantheon-files:
status: Confirmed → Invalid
Changed in pantheon-terminal:
status: New → Invalid
Changed in scratch:
status: New → Invalid
Changed in switchboard:
status: New → Invalid
description: updated
summary: - the referenced application icon is not shipped with the package
+ don't reference and expect non-standard icons, ship branded icons
+ instead
Fabio Valentini (decathorpe) wrote :

Since the tooling should pick up standard icon names correctly, I've removed the cases where the icons are adhering to the fd.o Icon Naming Specification.

The remaining apps reference and expect non-standard icons (or a non-existent one, in the case of wingpanel). Those non-standard icons (not standardized by fd.o) should therefore be renamed to a branded name and shipped with the application, since it cannot in general be expected of icon themes to ship icons with those names.

Suggested course of action for the remaining issues:

1) audience:
rename references to the non-standard "multimedia-video-player" icon to either "audience" or "io.elementary.audience" or "org.pantheon.audience" and ship the appropriate icon with audience.

2) maya-calendar:
rename references to the non-standard "office-calendar" icon to either "maya-calendar" or "io.elementary.maya/calendar" or "org.pantheon.maya/calendar" and ship the appropriate icon with maya.

3) screenshot-tool:
rename references to the non-standard "accessories-screenshot" icon to either "screenshot-tool" or "io.elementary.screenshot" or "org.pantheon.screenshot" and ship the appropriate icon with screenshot-tool.

4) snap-photobooth
rename references to the non-standard "accessories-camera" icon to either "snap-photobooth" or "io.elementary.snap/camera" or "org.pantheon.snap/camera" and ship the appropriate icon with snap-photobooth.

5)wingpanel
create and ship a "wingpanel" icon with wingpanel or use a standard icon in wingpanel.desktop

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers