Originally I thought that the lack of icons on my system in the post stock-icons age was because symbolic icons are SVGs: https://mail.gnome.org/archives/gtk-list/2013-November/msg00015.html (The request for documentation still stands.) It seems that the problem is somewhat different: 1) scalable gnome icons (e.g. symbolic svg icons) are not searched for. 2) the claim "If a -symbolic icon is missing, the app will fall back to the regular name." seems to be false. In reverse order, 2) looked as though it should be fixed by commit d25ee710 https://bugzilla.gnome.org/show_bug.cgi?id=708163 which was did appear in 3.10.2 despite the last comment in that bug. It seems that fallback is still broken. 1) seems odd: when running e.g. evince --gtk-debug=icontheme (3.10.3), a gtk 3.10.3 system with gnome-icon-theme-symbolic 3.8.3, and gsetting: org.gnome.desktop.interface icon-theme 'gnome' shows caches found in icons/hicolor and icons/gnome (gtk-update-icon-cache --validate returns 0 for those two directories so validates OK. Is there an easy way of dumping the contents of the cache?) Evince then looks for dialog-password in "" <-? builtins? icons/hicolor/..x.. (why hicolor when gsettings says icon-theme=gnome?) evince/icons/..x.. icons/hicolor/scalable evince/icon/scalable theme_lookup_icon found dialog-password in dir (null) ? builtin - it apparently didn't look in icons/gnome/..x.. which is where the PNGs live. Next is go-up-symbolic, which won't be found, and which lives in icons/gnome/scalable/actions It is looked for in "" icons/hicolor/..x.. evince/icons/..x.. icons/hicolor/scalable evince/icon/scalable (as before, and in addition) icons/hicolor/..x.. (again, interleaved with icons/gnome) icons/gnome/..x.. (because of commit 90dee25e in 3.10.3?) "" icons/hicolor/..x.. (again, with evince/icons/hicolor) gtk_icon_theme_lookup_icon image-missing so icons/gnome/scalable is not searched, and fallback non-symbolic "go-up" is also not searched for. Can you shed light on what is meant to happen? Cheers, Patrick BTW gtkicontheme.c:1658 choose_icon() seems odd: the first block checks for a -symbolic suffix, but appears to do the same as the second block. Was that intentional? Attached is a patch to 3.10.3 I used to spew more debugging output.
Attachment:
patch-gtk_gtkicontheme.c
Description: Text document