On Sep 24, 2008, at 10:55 PM, Jon A. Cruz wrote:

On Sep 24, 2008, at 9:48 PM, Ted Gould wrote:


      * Moved the Inkscape configuration directory on Linux from

        ~/.inkscape to ~/.config/Inkscape.  This is the new way to do

        things with the cross desktop naming spec.  I'm unsure whether

        we should be putting crash dumps in .config or .cache though.


Ooh! this one is major.


I'll check on the cache question. I think using the glib calls for  

XDG locations would be the next step. If I can get to it this weekend  

I'll fill you in on what I can find.


I've got a first bit done. The preference dir is now built using the glib call instead of a fixed ".config/Inkscape" string. I also hooked in a bit of logic to fall back to ".inkscape" if that's present in the specified location and "Inkscape" is not.

So what that means is that preferences location (and many other things) are now dynamic and easily switchable at runtime.

If I run as

inkscape

it looks for ~/.config/Inkscape on my current system.

However... you can now do this

XDG_CONFIG_HOME=~ inkscape

and it will fall back to use the old settings. Also one could do these

XDG_CONFIG_HOME=~/inky047 inkscape
XDG_CONFIG_HOME=~/PrintSettings inkscape
XDG_CONFIG_HOME=~/WebSettings inkscape

To use specific settings for certain configuration for different inkscape versions or different tasks being worked on. There are still some issues to finish cleaning up, including fallback for data dir lists and switching a few more things away from the single hardcoded path in path-prefix to use a dynamic list based on the XDG stuff. However I think this step is testable now.