summaryrefslogtreecommitdiff
path: root/core/app_settings.py
diff options
context:
space:
mode:
authorChristian Kolset <christian.kolset@gmail.com>2026-08-02 11:05:48 -0600
committerChristian Kolset <christian.kolset@gmail.com>2026-08-02 11:05:48 -0600
commit1c349a982026736f4c2a26951d9d0aefe7b963bc (patch)
treeb66175df392e3d707ca45650facfd18bcba6c337 /core/app_settings.py
parentfa0304793a4525db68cb53b527d695bfa2c65966 (diff)
parent0aa59c13af65beeae104662593b21ba4d8a37789 (diff)
Merge branch 'feat/auto-updater'
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()