Icon Theme spec and multiple index.theme

Sanel Zukan sanelz at gmail.com
Mon Mar 16 10:36:24 PDT 2009

Hi to all,

After I though that I did understaind Icon Theme spec, a few issues
arrised when I got some corner cases. It would be nice if someone could
explain possible (at least to me) ambiguities :)

So, The Spec said that this is the order of searching:

 1. $HOME/.icons
 2. $XDG_DATA_HOME/icons
 3. $XDG_DATA_DIRS/icons
 4. /usr/share/pixmaps

Now, it is also said: "In at least one of the theme directories there
must be a file called index.theme that describes the theme", which is
perfectly fine; no index.theme, no theme.

Also, if I could understaind, "Directories" key contains theme
subdirectories; if subdirectory is not present, it is ignored. On other 
hand, if it is present, above directories must be searched for it, e.g. 
there is /usr/share/pixmaps/foo-theme/index.theme and "Directories" has
"48x48/apps", but it is in $HOME/.icons/foo-theme/48x48/apps, which
should be perfectly fine.

In one part of the spec was said: "The first index.theme found while
searching the base directories in order is used", which (at least to me)
means that in the case of multiple index.theme files in the same theme,
first one got will be used (using above directory order searching).

Now, let we assume we have this: in $HOME/.icons/foo-theme, user placed
"48x48/apps" directory and index.theme (by mistake or intentionally) with 
this content:
[Icon Theme]
Directories = 48x48/apps

# some values


In the same time, we have /usr/share/pixmaps/foo-theme/index.theme with 
a bunch more directories.

Does this mean that when $HOME/.icons/foo-theme/index.theme was read,
all other directory entries from
/usr/share/pixmaps/foo-theme/index.theme are ignored, except "48x48/apps"?

Sorry if this sounds too confusing :)

Sanel Zukan

More information about the xdg mailing list