Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some applications use outdated icons in AppStream #33

Closed
colomar opened this issue Apr 18, 2016 · 10 comments
Closed

Some applications use outdated icons in AppStream #33

colomar opened this issue Apr 18, 2016 · 10 comments

Comments

@colomar
Copy link

colomar commented Apr 18, 2016

We have noticed that for example many KDE applications still use outdated icons (Oxygen or even older) in AppStream, whereas the default icon theme they themselves (and Plasma) use is Breeze.

Can we only fix this by filing a bug for every application, or is there a way to ensure icons from the current theme are used for AppStream in general?

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Hey :)
This is not a bug in AppStream itself, but more likely in the AppStream Generator ( https://github.com/ximion/appstream-generator ) if you use Debian/Ubuntu, or appstream-builder on e.g. Fedora.
So, which distribution are you referring to?

Unfortunately, at least for generic stock icons like system-file-manager the generator has no idea which desktop that app belongs to, and just picks the first matching icon it finds, which might even be from GNOME. This results in KDE apps having GNOME icons or MATE and GNOME apps having KDE icons. In general, since .png icons are preferred due to needing only a resize or even no resize as opposed to rendering SVG icons, the Breeze theme with its SVG-only approach is at a disadvantage here (also because it alphabetically orders after "Adwaita").

The software center (Discover) could theme the software any way it wants though by using the stock-icon information that is provided with the AppStream metadata (see https://appstream.debian.org/html/sid/main/metainfo/dolphin.html for an example).

In any case, Oxygen icons should not be used anymore, can you give an example of them being used anyway? At least the appstream-generator prefers Breeze now, I am not sure about appstream-builder in Fedora though.
Hope that helps :-)
(In any case, not a bug in AppStream itself, but we can redirect it to the right place from here)

@ximion ximion closed this as completed Apr 18, 2016
@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Btw, for the wrong-icon issue, I am thinking about introducing a VendorIcon key, so .desktop files can contain:

Exec=dolphin %u
Icon=system-file-manager
VendorIcon=dolphin

The DE would pick system-file-manager, while AppStream would prefer dolphin as the icon name. Themes could alias the vendor icons and generic names.

@aleixpol
Copy link
Collaborator

@ximion why did you close the bug? I don't see how such an unpredictable behaviour is acceptable.
Also I don't see how it's useful that both dolphin and gnomes file manager have the same icon...

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

@aleixpol Because it's no bug in AppStream, which contains the specification, the client libraries reading the metadata and primitives for generating the data (= this tool doesn't do any icon searching or extracting, it just reads and writes data). It's rather an issue in some generator tool, e.g. appstream-generator, not finding the correct icons.

As for my VendorIcon idea: That would be a different bug, because this issue is about KDE stuff having Oxygen icons instead of Breeze icons, not about GNOME or KDE stuff having icons from the "wrong" theme.
As for the VendorIcon stuff, that would also be an issue at the generator side (although this should go into the specification to make it widely adopted by everyone). Thing is, I am not yet convinced that the VendorIcon stuff is the best approach, otherwise I would have implemented it already ;-)

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Unfortunately Github doesn't allow to move bug reports between projects. Also, I don't know yet which distribution is affected, since I don't see this issue in Debian or Ubuntu (so it is probably not a bug in appstream-generator, but likely appstream-glib).

@aleixpol
Copy link
Collaborator

@ximion this was initially reported on Neon, same problem happens on ArchLinux.

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Neon uses Ubuntu packages, right? Which version, Xenial? From e.g. http://appstream.ubuntu.com/xenial/universe/metainfo/dolphin.html I see that the generator picked the Adwaita icon, but I couldn't find an example of it picking an Oxygen icon. Do you have an example?
For Arch, please file a bug against Arch or even better against appstream-glib since AFAIK that's what Arch uses, and asglib is currently checking if a package depends on "kde-runtime" to select the Oxygen icon in that case. That logic is wrong(tm), and it would also need to be switched to search for Breeze instead of Oxygen, so this is definitely worth a bug report: https://github.com/hughsie/appstream-glib/issues

As for Neon, I need details in how you generate the data (if at all).

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Btw, you could easily work around this issue by making Discover read the "stock" icon property ;-) https://github.com/ximion/appstream/blob/master/qt/component.h#L117
(I also note that the Qt API needs a rework... (on TODO for one of the upcoming releases))

@colomar
Copy link
Author

colomar commented Apr 18, 2016

The Oxygen icon cases were indeed on Manjaro, so the problem you described was probably the cause. I'll open a report there.

@ximion
Copy link
Owner

ximion commented Apr 18, 2016

Yeah, ideally get this fixed in appstream-glib :-) (or use appstream-generator :P)

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

No branches or pull requests

3 participants