Opened 7 years ago
Closed 6 years ago
#1455 closed change request (fixed)
XDG basedir support for csi config, egg cache and maybe more
Reported by: | Vasilij Schneidermann | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 5.1 |
Component: | core tools | Version: | 5.0.0 |
Keywords: | Cc: | ||
Estimated difficulty: | easy |
Description
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
https://blogs.msdn.microsoft.com/oldnewthing/20050701-09/?p=35133/
https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx
This is a specification that allows users to unclutter their home directory by keeping config files in (a customizable) directory and cache files in another one (also customizable). An example implementation for Unix-likes (where it's safe to assume HOME
is set) has been attached. Windows has something (almost) comparable in form of the APPDATA
(for user-specific configuration) and LOCALAPPDATA
(for user-specific non-configuration, exists since Vista) environment variables. In case LOCALAPPDATA
isn't defined, APPDATA
could be used instead. I'm not 100% sure whether you can just use get-environment-variable
on Windows and have it work, someone would need to test this.
With this we could (for both Windows and Unix-likes):
- Look up a user config/cache directory for the platform
- Check whether a config/cache file exists
- If yes, read it from that location, otherwise fall back to a default
The last one is optional and might make this a change request. Falling back to a default would preserve default behavior, ignoring it would introduce a change. Possible candidates include ~/.csirc
(config), the egg cache (cache) and setup-defaults (config).
PS: Looking up .csirc
on Windows probably never worked as it relies on resolving HOME
which isn't set by default. This would make it work again, albeit for a different location than previously documented.
Attachments (1)
Change History (7)
Changed 7 years ago by
comment:1 Changed 7 years ago by
comment:2 Changed 6 years ago by
Milestone: | someday → 5.2 |
---|---|
Version: | 5.0 → 5.0.0 |
Let's take a look at this soonish. Maybe for 5.1, but I don't want to overload that milestone so I'm putting it on 5.2.
comment:3 Changed 6 years ago by
The patch for this has already been submitted to chicken-hackers:
http://lists.nongnu.org/archive/html/chicken-hackers/2018-08/msg00009.html
comment:4 Changed 6 years ago by
Version: | 5.0.0 → 5.0 |
---|
comment:5 Changed 6 years ago by
Milestone: | 5.2 → 5.1 |
---|
comment:6 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Patch pushed as d902e1cfd6d8d9ca8841bc83f30e8547c9f32c2f
Apparently
get-environment-variable
should just work: https://github.com/francisco-colaco/user-directories/blob/master/user-directories/user-directories-windows-nt.el