Red Hat Bugzilla – Bug 965365
Anaconda should explicitly add GNOME icon theme path to the GTK+ icon theme search path, or explicitly set the GNOME icon theme
Last modified: 2013-08-17 02:22:49 EDT
Anaconda relies on a lot of icons that are present only in gnome-icon-theme-symbolic , which is a part of the GNOME icon theme (in /usr/share/icons/gnome ).
We can't rely on the GNOME icon theme already being in the search path in every possible case; it's not a universal fallback. The icons aren't in hicolor, which really is a universal fallback.
It would make things more robust if anaconda simply explicitly added /usr/share/icons/gnome to the GTK+ icon theme search path before trying to draw any icons. There is a function for this, gtk_icon_theme_append_search_path () :
so it shouldn't be too tricky. That, plus a package dependency on gnome-icon-theme-symbolic if anaconda doesn't have one already, should make things more robust (and, specifically, would fix it so the icons in anaconda show up on the MATE spin, which is the case that's currently broken).
gtk_icon_theme_set_custom_theme () looks like a candidate too, I guess.
Assigning to clumens, per bcl's suggestion.
Please try updates=http://clumens.fedorapeople.org/965365.img and let me know if this fixes the issue. Thanks.
No, it doesn't seem to :/ I see the:
in ui/gui/__init__.py in that update, but anaconda on MATE is still missing almost all icons (same as before). Odd.
Well, does the spin image even contain the icon files? The requires has been on anaconda for a while, by the way.
Yeah, it does, I checked that a long ways back in the process :) If I simply go into MATE control center and change the icon theme from MATE's to "GNOME", then the icons do show when I run anaconda.
You could try simply setting the icon theme to GNOME in __init__.py, instead of including the GNOME theme's path in the search path? It seems like that's kind of what we want to do anyway: we specifically want anaconda to always use these GNOME symbolic icons, right? We wouldn't want to use some other theme's icons of the same name, if another theme happened to implement them, would we?
Okay, let's try a different fix. Can you hit the updates image linked in comment #3 again? Thanks.
*** Bug 964019 has been marked as a duplicate of this bug. ***
xsettings-kde already sets the fallback icon theme for GTK+ applications to GNOME. But it looks like setting the fallback theme is not sufficient, you need to actually CHANGE the primary theme, which sucks. GTK+ apps running under KDE should be picking up the KDE theme. This "fix" may be fine for Anaconda, but what about other GTK+ apps? I think this is actually a GTK+ bug, it needs to try the fallback theme before falling back to the builtin stock icons.
PS: I object to this "fix" of forcing the icon theme to GNOME. Applications should not be forcing the icon theme, they should be using the Oxygen theme if xsettings-kde tells them to, and Anaconda is no exception there.
Note: this should be fixed in 19.30.1-1 too, I see it in the f19-branch commit log. Will confirm with that build.
And I persist that this is NOT an acceptable fix! Applications have no business hardcoding an icon theme (or any other theming normally imposed by the desktop environment).
This needs to be fixed in GTK+.
Yes, we heard you the first time.
And yet you're ignoring it, and pushing ahead with this bogus "fix" that breaks desktop integration under any non-GNOME desktop.
Setting the icon theme affects ALL icons anywhere in Anaconda, including, e.g., the icons on buttons in dialogs (and yes, those are enabled by default under KDE). This sledgehammer "fix" affects much more than just the symbolic icons this bug was about.
disregarding kk's objections for now, this change is verified to work as intended in 19.30.1. I see icons in MATE.
And of course the "fix" does not actually fix anything, the bug affects much more than just Anaconda (as I expected), see bug #995794. Told you so. This is a GTK+ bug, not an Ananconda bug.
"And of course the "fix" does not actually fix anything"
Sure it does. It fixed anaconda. Anaconda was what we wanted fixed.