Small problem with XDG_DATA_DIRS and XDG_CONFIG_DIRS

Behdad Esfahbod behdad at
Thu Jan 26 01:52:31 EET 2006

Some people here may be interested in the GNOME feature request I
filed about this issue:

It's got more details than the original report.


On Fri, 18 Mar 2005, Behdad Esfahbod wrote:

> Hi,
> The current spec by falling back on some const values when the
> XDG_*_DIRS are not set or are empty, prevents one from prepending
> (or appending) directories to them easily.  In other words, for
> example, when I want to compile some applications under /opt, I
> would put something like this in my .bashrc:
>   PREFIX=/opt
>   export PATH="$PREFIX/bin:$PATH"
>   export CPPFLAGS="-I$PREFIX/include $CPPFLAGS"
>   export CFLAGS="-I$PREFIX/include $CFLAGS"
>   export CXXFLAGS="-I$PREFIX/include $CXXFLAGS"
>   export LDFLAGS="-L$PREFIX/lib $LDFLAGS"
>   export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
>   export MANPATH="$PREFIX/man:$MANPATH"
>   export PYTHONPATH="$PREFIX/lib/python:$PREFIX/lib/python2.3/site-packages:$PYTHONPATH"
>   export PERL5LIB="$PREFIX/lib/perl5/site_perl:$PERL5LIB"
>   export CLASSPATH=".:$PREFIX/lib/java:$CLASSPATH"
>   export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal $ACLOCAL_FLAGS"
>   export ACLOCAL_AMFLAGS="-I $PREFIX/share/aclocal $ACLOCAL_AMFLAGS"
>   ...
> But this can't be done with XDG_*_DIRS, since as soon as you set
> it, you are losing the default values.  So for a couple months
> I've been doing:
> And wondering why my menus are lost!
> I can think of one solution, but it has its own problem:  Treat
> any empty component of the list as the default values.  Then
> for example "/opt/share:" means "/opt/share" followed by the
> default list.
> Perhaps not the biggest problem and not the best solution, but
> worth discussion IMHO.
> --behdad


"Commandment Three says Do Not Kill, Amendment Two says Blood Will Spill"
	-- Dan Bern, "New American Language"

More information about the xdg mailing list