summaryrefslogtreecommitdiff
path: root/core/app_settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/app_settings.py')
-rw-r--r--core/app_settings.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/app_settings.py b/core/app_settings.py
index ea3ac49..718a768 100644
--- a/core/app_settings.py
+++ b/core/app_settings.py
@@ -18,14 +18,22 @@ import sys
from pathlib import Path
-def _settings_path() -> Path:
+def app_data_dir() -> Path:
+ """Per-user, per-platform base directory for anything this app needs to
+ persist outside the install directory (settings, updater cache, ...) —
+ deliberately outside the install dir since an update can replace/move
+ everything in there."""
if sys.platform == "win32":
base = Path(os.environ.get("APPDATA", Path.home()))
elif sys.platform == "darwin":
base = Path.home() / "Library" / "Application Support"
else:
base = Path(os.environ.get("XDG_CONFIG_HOME", Path.home() / ".config"))
- return base / "labUI" / "settings.json"
+ return base / "labUI"
+
+
+def _settings_path() -> Path:
+ return app_data_dir() / "settings.json"
SETTINGS_PATH = _settings_path()