GNOME Bugzilla – Bug 708163
all symbolic icons are missing when using icon theme different from gnome
Last modified: 2014-07-22 16:32:25 UTC
starting from gtk 3.9 many applications have missing icons, when using an icon theme different from gnome (or that does not inherits from gnome). I 'thought' (but my understanding might be incorrect), than when looking up symbolic icons, gtkicontheme was supposed to fallback to the non-symbolic name if the former is not found, but this seems not to be the case for a couple of gtk3 versions already (this was working, I think, for gtk-3.6). in the past, this could be fixed by using gnome as a fallback-icon-theme, on top of the original theme (say: oxygen). This way, you would get standard icons from the base theme, and symbolic icons from the fallback. Now, since 3.9 fallback-icon-theme has been deprecated and disabled, so that the workaround above is not working anymore. Wish: either - make the symbolic -> non-symbolic fallback work again - re-add the fallback-icon-theme functionality (with the former solution being prefered, naturally) Note: my understanding above might be incorrect. Feel free to correct me if wrong. Thanks in advance, Hugo
PS: using gtk+-3.9.14
Fallback works as well as it always has - you need to specify the GTK_ICON_LOOKUP_GENERIC_FALLBACK flag when loading the icon, but that has always been the case. I'm not aware of any changes in this area.
seems from https://bugzilla.gnome.org/show_bug.cgi?id=703606 that it might not always work (though not sure). Besides, shoudn't that be the default (the GENERIC_FALLBACK) ? or do all applications need to change their code ? I am concerned about the fact that most icon themese do not implement symbolic icons (since this is not, as far as I know standard). Here at least, neither nautilus, nor gedit, nor any gtk3 application I use have valid icons as soon as the icon theme is not gnome (or high-contrast, which inherits from gnome).
in fact, even standard "spinboxes" do not have the right +/- icons (non-symbolic), when using non-gnome theme. (again: was working when setting gnome as a fallback icon theme, before gtk+3.9; and is not anymore)
You can achieve the same effect as the fallback icon theme setting by making the non-gnome theme you use inherit from gnome. Cosimo, your change to the symbolic inheritance made it so that we are no longer falling back from symbolic names to nonsymbolic ones at all. Do you think we should add the nonsymbolic names back at the very end ?
Created attachment 255074 [details] [review] like this ?
@mathias the patch does fix spinboxes: colored "+" and "-" are used as a fallback from the (not found) symbolic ones. Will it go in next release ? Now, it does not fix the missing icons in nautilus, gedit, nor, in fact, gtk3-demo/picker (when clicking on "open file") ... Could there be another issue ? Finally, concerning your icon theme modification concerning the fallback, I agree it would be a solution "on my system", but definitely not one you can advocate for all. Agreed ? (I can't imagine kde's default icon theme inherit from gnome) Thanks for looking into this anyway, Hugo
Review of attachment 255074 [details] [review]: Matthias, I think appending all the nonsymbolic names after the symbolics make sense. Though I don't think you should remove the part that changes the lookup order to parent themes first for symbolics, as it might still be the case the scenario described in the comment happens - a parent theme providing a symbolic version and the theme itself hicolors only.
Could we get this into the next GTK+ release?
In which version it is fixed? I just installed 3.10.2 in Archlinux and it's the same.
3.10.3 should fix this.
Arch is now up to gtk3 3.10.6, but this still doesn't appear fixed. The distro upgraded to a new version of oxygen-icons recently (4.11.4), and there's still many missing icons when I use that theme. The only thing that fixes it is to hand-edit the oxygen index.theme and change "Inherits=hicolor" to "Inherits=hicolor,gnome". Any idea if this is fixable in gtk3, like described in the comments to this bug report?
I can confirm that it doesn't seems to be fixed in Arch.
You really have the latest Oxygen? Seems to work in Mageia, the Oxygen developer is reading along here as well.
[darose@daroselin ~]$ pacman -Q | grep oxygen-icons oxygen-icons 4.11.4-1
@David I think that what olav meant was the latest "oxygen-gtk3" version, not oxygen-icons. But also, I am not sure the actual issue depends on oxygen-gtk directly anyway (in fact I could reproduce with Adwaita also. What mattered is the ico theme used) Best, Hugo
On the other hand: problem is fixed here on my side (with gtk-3.10.6) Thanks to gtk devs !
I don't use oxygen-gtk3. Do I need to have it installed?
I'm using oxygen-gtk3 v1.2.0 and gtk3 v3.10.6.
Please show all installed icon and theme packages. I'm guessing you don't have the gnome icons.
[darose@daroselin ~]$ sudo pacman -Q | grep -e icon -e theme archlinux-lxdm-theme 1-3 faenza-icon-theme 1.3.1-2 gnome-icon-theme 3.10.0-1 gnome-icon-theme-symbolic 3.10.1-1 gnome-themes-standard 3.10.0-1 gtk-update-icon-cache 2.24.22-1 hicolor-icon-theme 0.12-2 icon-naming-utils 0.8.90-2 kdeartwork-desktopthemes 4.11.4-1 kdeartwork-emoticons 4.11.4-1 kdeartwork-iconthemes 4.11.4-1 kdepim-akonadiconsole 4.11.4-1 lxde-icon-theme 0.5.0-1 openbox-themes 1.0.2-2 oxygen-icons 4.11.4-1 slim-themes 1.2.3-6 sound-theme-freedesktop 0.8-1 volumeicon 0.5.0-1 xcursor-themes 1.0.4-1 xfwm-oxygen-theme-kde4.7 20110911-1 xfwm4-themes 4.10.0-1
gnome-icon-theme 3.10.0-1 gnome-icon-theme-symbolic 3.10.1-1 gnome-themes-standard 3.10.0-1 gtk-chtheme 0.3.1-7 gtk-update-icon-cache 2.24.22-1 hicolor-icon-theme 0.12-2 icon-naming-utils 0.8.90-2 mediterraneannight-theme 2.03-2 oxygen-icons 4.11.4-1 sound-theme-freedesktop 0.8-1 xfwm4-themes 4.10.0-1
Please unmark this as RESOLVED FIXED. I just updated KDE today to 4.12.3 and the problem reappeared as with every update. Changing /usr/share/icons/default.kde4/index.theme to Inherits=gnome,hicolor workarounds this problem. I'm using xfce.
Agreed - I still see this issue as well. That said, I think there's actually a bug upstream from this one that's the main root cause bug: https://bugs.kde.org/show_bug.cgi?id=325966 /usr/share/icons/default.kde4 is actually a symlink to /usr/share/icons/oxygen (at least on my machine). So the issue is in the oxygen-icons package.
https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-10&id=90dee25e4d0f4f3c5d490929542ffede5283cbdb is the commit that went into 3.10.3, which effectively does the same as adding gnome to the Inherits key in the icon theme definition. It is not at all clear hear what 'this issue' is. I'd like get some concrete examples of icon names that you see go missing. Or at least before/after screenshots.
Here you are: http://img.koci.net.pl/images/default.png http://img.koci.net.pl/images/gnomehicol.png Icons missing: thunar's refresh icon, thunar's home folder, thunar's filesystem icon, thunar's network:// icon, xfce's defualt browser icon, clipman's icon. Funny enough, thunar's missing icons are visible in Go menu: http://img.koci.net.pl/images/thunargoto.png
I'm actually still dealing with this issue. (Have to manually edit the index.theme file to add a dependency on gnome every time the oxygen-icons package gets upgraded.) Was there ever a final resolution posted on how to fix/workaround this issue?
I agree, the same here.