"""Tiny user-editable config file: ~/.local/state/astro-menu/config.json. Same pattern as orbit-menu/config.py and horizon-dock/config.py. Deliberately separate from settings.py's Settings class: that one persists quad enable/ feature toggles and favorites (module-scoped, read via ctx.feature()), while this is a single whole-window flag read once at startup. """ from __future__ import annotations import json from paths import CONFIG_FILE, ensure_dirs _DEFAULTS = {"hologram": True} def _load() -> dict: try: data = json.loads(CONFIG_FILE.read_text()) except (FileNotFoundError, json.JSONDecodeError): data = {} merged = {**_DEFAULTS, **data} if not CONFIG_FILE.exists(): ensure_dirs() CONFIG_FILE.write_text(json.dumps(merged, indent=2) + "\n") return merged def hologram_enabled() -> bool: return bool(_load().get("hologram", True))