"""Shared filesystem locations. Works whether run from the repo or ~/.config.""" from __future__ import annotations import os from pathlib import Path BASE_DIR = Path(__file__).resolve().parent BACKEND_DIR = BASE_DIR / "backend" STYLE_DIR = BASE_DIR / "style" CONFIG_DIR = Path(os.environ.get("XDG_CONFIG_HOME", Path.home() / ".config")) / "astal-menu" CACHE_DIR = Path(os.environ.get("XDG_CACHE_HOME", Path.home() / ".cache")) / "astal-menu" SETTINGS_FILE = CONFIG_DIR / "settings.json" APP_ID = "eu.abdelbaki.astalmenu" def ensure_dirs() -> None: CONFIG_DIR.mkdir(parents=True, exist_ok=True) CACHE_DIR.mkdir(parents=True, exist_ok=True)