GNOME Bugzilla – Bug 726046
Recent commit created symbolic icons issues
Last modified: 2014-03-18 13:16:41 UTC
The bug has been reported on https://launchpad.net/bugs/1289872 "Using the development release Trusty 14.04. Nautilus 1:3.10.1-0ubuntu7 I noticed a few days ago (around 6 March) that Nautilus stopped using a symbolic icon for a folder under Bookmarks in the sidebar of the Nautilus window. Instead it shows the Humanity theme folder icon. ..." The Ubuntu theme doesn't ship symbolic icons but inherits from the GNOME theme which does. It seems likely an issue https://git.gnome.org/browse/glib/commit/?id=e6af432b39ac9e0123387e5a993737073dce9153 which makes it prefer a colored icon from the default theme to a symbolic from the inherited theme
I think glib should handle it in the same way gtk does[1], in that symbolic icons from a parent theme are not overriden by hicolor icons in the derived theme. [1] https://git.gnome.org/browse/gtk+/tree/gtk/gtkicontheme.c#n1642
Created attachment 271461 [details] [review] Add inode-directory-symbolic.svg This file is a symlink to folder-symbolic.svg. GLib uses 'inode/directory' for folder mime types. Adding this symlink here so that it can stop special-casing folder icons.
Created attachment 271462 [details] [review] glocalfileinfo: don't special-case directory icons As of e6af432, g_content_type_get_symbolic_icon() returns non-symbolic fallbacks. Thus, we can't append another symbolic icon to the fallbacks. The special case was a bit of a hack anyway. It was only applied to themed icons and there was no generic fallback for mime types that are not folders.
Comment on attachment 271461 [details] [review] Add inode-directory-symbolic.svg Makes sense. Notably, we already have a inode-directory -> folder symlink for the non-symbolic icons
Review of attachment 271462 [details] [review]: ok
Comment on attachment 271461 [details] [review] Add inode-directory-symbolic.svg Attachment 271461 [details] pushed as a44b6db - Add inode-directory-symbolic.svg
Attachment 271462 [details] pushed as 8c78fb8 - glocalfileinfo: don't special-case directory icons
Created attachment 272270 [details] [review] provide inode-directory mimetype in a clean way - Ee don't do symlinks. Clone folder in master sheet instead. - The context is mimetypes not places