Supporting Base Dir Spec

Jasper Huijsmans jasper at
Wed Sep 8 12:46:35 CEST 2004

Right, I don't think we've reach a conclusion on this, did we?

IIRC, most people liked the idea of fully supporting the base dir spec. The
xfce_resource_lookup functions provide all/most of what we need. Only the
different modules need to be changed. 

Just for completeness sake, here's how I think this should work: we use the
directories defined by the spec with an xfce4 subdir and an additional
program-specific subdir. For backward compatibility we also look for files in
'legacy' dirs like .xfce4, .icons and .themes .

* Writing files

Configuration goes in $XDG_CONFIG_HOME/xfce4/<subdir>/, temporary storage is
done in $XDG_CACHE_HOME/xfce4/<subdir>/.

$XDG_CONFIG_HOME defaults to $HOME/.config/ and $XDG_CACHE_HOME defaults to

* Reading files

For configuration we look in $XDG_CONFIG_HOME/xfce4/<subdir>,
$HOME/.xfce4/<subdir> and any of $XDG_CONFIG_DIRS with xfce4/<subdir>
appended. We also look in $sysconfdir/xfce4/.

For data we look in $XDG_DATA_HOME/<basedir>/<subdir>/,
$HOME/.<basedir>/<subdir>/ and any of $XDG_DATA_DIRS with <basedir>/<subdir>
appened. <basedir> is 'xfce4', 'icons' or 'themes' however appropriate.

With this scheme we don't even need to update the users' configuration
location, because the old ones will be picked up as well.

To me this sounds like a useful standerdisation and doesn't seem all that
difficult to implement. I'm prepared to put some time into this.

So, did I miss anything, are there any objections?


More information about the Xfce4-dev mailing list