GNOME Bugzilla – Bug 447840
$XDG_DATA_HOME/themes is not inspected for installed themes
Last modified: 2011-04-03 18:44:20 UTC
$XDG_DATA_HOME/themes is not inspected for installed themes. Gtk+ should deprecate the use of ~/.themes in favour of XDG_DATA_HOME as it is more buzzword compliant and as an added bonus it means less cruft in $HOME.
Created attachment 90006 [details] [review] Add XDG_DATA_HOME to gtk_rc_parse_named ()
We are following the icon theme spec here; I you want this changed, lobby for a change of the icon theme spec on xdg-list.
Sorry, I misinterpreted the what you said; my response was assuming you are talking about icon themes, which you are not...
You are correct about this bug, however the icon-theme-spec tells us this: <icon-theme spec> [..] Icons and themes are looked for in a set of directories. By default, apps should look in $HOME/.icons (for backwards compatibility), in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order). [..] </icon-theme spec> And the base-dir spec mentions the following about the use of XDG_DATA_DIRS inside other specifications: <basedir spec> [..] Other specifications may reference this specification by specifying the location of a data file as $XDG_DATA_DIRS/subdir/filename. This implies that: * Such file should be installed to $datadir/subdir/filename with $datadir defaulting to /usr/share. * A user specific version of the data file may be created in $XDG_DATA_HOME/subdir/filename, taking into account the default value for $XDG_DATA_HOME if $XDG_DATA_HOME is not set. * Lookups of the data file should search for ./subdir/filename relative to all base directories specified by $XDG_DATA_HOME and $XDG_DATA_DIRS . If an environment variable is either not set or empty, its default value as defined by this specification should be used instead. [..] </basedir spec> This would mean that this is relevant to icons aswell.
What is the status of this bug?
The patch applies fine on trunk and it makes Gtk more compliant with the spec, I would strongly ask for this to be accepted.
From what I can see from the current git tree, it seems this bug still hasnt been fixed. Can anyone confirm this? gtk/gtkcssprovider.c:58: * <filename><envar>$HOME</envar>/.themes/<replaceable>theme-name</replaceable>/gtk-3.0/gtk.css</filename>, gtk/gtkcssprovider.c:4192: path = g_build_filename (home_dir, ".themes", name, subpath, NULL); gtk/gtkicontheme.c:929: "index.theme", gtk/gtkicontheme.c:1328: "index.theme", gtk/updateiconcache.c:156: index_path = g_build_filename (path, "index.theme", NULL); gtk/updateiconcache.c:1638: { "ignore-theme-index", 't', 0, G_OPTION_ARG_NONE, &ignore_theme_index, N_("Don't check for the existence of index.theme"), NULL },
*** Bug 641354 has been marked as a duplicate of this bug. ***
I think the css theme part (this bug) is fixed: gtksettings.c: css_path = g_build_filename (g_get_user_config_dir (), "gtk-3.0", "gtk.css", NULL);