
Hi Mc,
I've been involved with the XDG stuff before, so I'll weigh in.
Only preferences should be in .config/inkscape/, everything else should be in .local/share/ (although I personally hate the naming convention) this is especially true for us since our /usr/share/inkscape contains many of the things that we look in .config/inkscape for.
The 1.0 release would be a good place to change this.
We could also use .cache/inkscape for some future things (like downloading extension packages from inkscape.org etc)
Best Regards, Martin Owens
On Wed, 2018-08-22 at 16:11 +0200, Marc Jeanmougin wrote:
Hi all,
Freedesktop has a few specifications and standards for interoperability of stuff ( https://www.freedesktop.org/wiki/Specifications/ ) , and I wanted to ask in particular about the base dir specification :
"How desktops should locate files, such as config files or application data files." ( https://specifications.freedesktop.org/basedir-spec/latest/ but in particular https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.ht ml )
It basically set rules as to where users should lookup stuff.
Currently on unix we put everything userspace in .config/inkscape (|$XDG_CONFIG_HOME|), even when some of it would more adequately be described as data (assets) and, according to the spec, be put in a share/ directory such as .local/share (|$XDG_DATA_HOME|) which is already the case for systemwide assets (assets are in /usr/(local/)share/, not in /etc/xdg/).
So, the first question is the following : Do we want
(1) to follow the XDG dir spec and keep themes/, ui/, keys/, icons/ and preferences (which can be described as user-specific things to customize the program behavior or appearance) in |$XDG_CONFIG_HOME| but put assets (symbols, templates, palettes, extensions) in |$XDG_DATA_HOME| ?
or
(2) keep everything in .config because it might be less confusing or simpler to explain
NB: On windows, it's the same place (%appdata%) but we can think about moving stuff to %localappdata%, wherever it is.
Also (maybe a more minor point, but what prompted me to lookup the spec in the first place) the "logical" place to put autosaves (not to be mixed up with crash saves) would be (in my opinion) |$XDG_CACHE_HOME| ("Where user-specific non-essential data should be written") but on windows that defaults to the absurd ~\Local Settings\Temporary Internet Files\ so I was thinking of using |$XDG_DATA_HOME |but if everything stays in .config (option 2) I'll put that there.