On Mi, 02.05.18 17:44, Nicolas Mailhot (nicolas.mailhot(a)laposte.net) wrote:
Le 2018-05-02 16:53, Paul Wouters a écrit :
> So I don't think your "User explicitly installed SW into his home
> directory" is true, and it is especially not true if software can
> make use of knowing ~/.bin will be there for it to quietly drop some
> things in.
The XDG spec and its insistence on mediating all accesses via env variables
that themselves (by default) point to hidden directories has always been a
trainwreck. All the more so since the main justification for this choice was
to allow localized directory names in desktop icons that were supposed to be
sourced from ~/ except it was quickly superseded by ~/Desktop (in
English!),
You are mixing up xdg-basedir and xdg-user-dir:
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
vs.
https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
many apps could never have dealt with the codepoints required by some
human
languages, and the whole thing was finally dumped overboard by GNOME anyway.
After many years many apps have still not learned to read those env vars, or
hardcode their default value, or whatever. It's massively over-engineered,
under-used, opaque to users and so on.
The basedir stuff doesn't bother with l10n at all, only xdg-user-dirs
does. And to my knowledge gnome still very much uses xdg-user-dirs, at
least if I open nautilus I still see all the xdg-user-dirs defined
dirs on the left...
It badly needs to be rewritten without hidden dotdirs, without
positing apps
that by and large rely on hardcoded default values or config files find
suddenly convenient to read env vars all the times just in case someone
deemed smart to rename default dir names to something else (the legacy XDG
envs vars could then point to the new dir hierarchy for the apps that bother
reading them), in fact, without positing that part of the *nix directory
hierarchy has a specific renaming behavior when the rest is fixed in stone
(that's too much schizophrenia for the average *nix app writer).
the xdg-basedir focusses on system level stuff, i.e. libraries, data,
binaries and suchlike. the xdg-userdir stuff focusses on user-facing
stuff, i.e. documents, music, videos, and so on. That's why the former
places stuff in ~/.local, away from the user's view, while the latter
places stuff in localized directories with no dot prefix, as they
should be visible directly.
I mean, I was involved in one of the two specs, hence I am of course
biased, but even if the specs turned out not to be perfect after
15years of use, definitely a lot of thought went into them. And what's
"perfect" anyway?
Lennart
--
Lennart Poettering, Red Hat