A Github-free mirror of https://github.com/xdg-net/Xdg.Directories
https://xdg-net.github.io/Xdg.Directories
Sam Therapy
02b5ab5e17
It did not work, and is not worth trying to fix. This reverts commit 34cdc50fa58b1ba6cdeefb59e9b8907334b5f72f. This reverts commit d49d0cb88db1c6d72d7811db3777a515ce490844. This reverts commit ab3af71bac07798ef242463d1c85a33d7aa0ff24. |
||
---|---|---|
.github | ||
src | ||
.drone.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
GNUmakefile | ||
LICENSE | ||
README.md | ||
Xdg.Net.sln |
Xdg
A .NET (and an experimental C-compatible FFI) implementation of the XDG Base Directory Specification and XDG user directories.
Default Locations
If any of the respective XDG environment are specified, the variable will always be returned. Otherwise, the value depends on the operating system.
Inspiration is taken from the Go implementation for Windows and MacOS directories.
Base Directory
Environment Variable | Windows | macOS | Linux/FreeBSD |
---|---|---|---|
XDG_DATA_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.local/share |
XDG_CONFIG_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.config |
XDG_STATE_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.local/state |
XDG_BIN_HOME |
null |
null |
$HOME/.local/bin |
XDG_DATA_DIRS |
%APPDATA%:%PROGRAMDATA% |
/Library/Application Support |
/usr/local/share:/usr/share |
XDG_CONFIG_DIRS |
%LOCALAPPDATA% |
$HOME/Library/Preferences:/Library/Application Support:/Library/Preferences |
/etc/xdg |
XDG_CACHE_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.config |
XDG_RUNTIME_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
/run/user/$UID |
User Directory
User directories on Windows use Known Folders as a fallback.
Environment Variable | Windows | macOS | Linux/FreeBSD |
---|---|---|---|
XDG_DESKTOP_DIR |
Desktop |
$HOME/Desktop |
$HOME/Desktop |
XDG_DOWNLOAD_DIR |
null |
$HOME/Downloads |
$HOME/Downloads |
XDG_DOCUMENTS_DIR |
My Documents |
$HOME/Documents |
$HOME/Documents |
XDG_MUSIC_DIR |
My Music |
$HOME/Music |
$HOME/Music |
XDG_PICTURES_DIRS |
My Pictures |
$HOME/Pictures |
$HOME/Pictures |
XDG_VIDEOS_DIR |
My Videos |
$HOME/Movies |
$HOME/Videos |
XDG_TEMPLATES_DIR |
Templates |
$HOME/Templates |
$HOME/Templates |
XDG_PUBLICSHARE_DIR |
%PUBLIC% |
$HOME/Public |
$HOME/Public |
Extra Directories
Windows | macOS | Linux/FreeBSD | |
---|---|---|---|
Home | %USERPROFILE% |
$HOME |
$HOME |
Packaging
Stable releases will be uploaded to nuget.org, and preview releases are uploaded to both GitHub packages (need GitHub account to download) and Gitea packages (no login required).
dotnet add package Xdg.Directories