icon-naming-spec: standard icons don't exist on hicolor
The icon-naming-spec
says:
This section describes the standard icon names that should be used [..] by developers when writing applications which will use the Icon Theme Specification.
So applications like nemo
(and a few others) use things like Icon=system-file-manager
, assuming that these icons always exist.
On the other hand, icon-theme-spec
says that the hicolor
theme should always be the default/fallback. But hicolor
itself doesn't provide any icons, so the system-file-manager
icon doesn't exist.
There is a mismatch here between the two specs. One spec tells developers that they can rely on certain icons existing. However, when using the default mechanism, this icon won't exist. Nobody is actually "responsible" for shipping this icon either.
Potential solution
I'm not entirely sure how to work around this. One potential approach is to allow desktop entries to specify multiple icons. For the above example, nemo could specify Icon=system-file-manager,nemo
. The system-file-manager
icon would be used by people ricing their system with custom themes, while the nemo
would be used on systems without any custom configuration (e.g.: using hicolor
).
The problem with this is that it is backwards incompatible and will break a lot of current usages (although many of those usages don't render any icons at all).
Hopefully someone else can provide a better approach forward.