"""Canonical location of the systray runtime state directory."""

from __future__ import annotations

import os
from pathlib import Path

RUNTIME_DIR_ENV = "SYSTRAY_RUNTIME_DIR"
DEFAULT_RUNTIME_DIR_RELPATH = ".local/state/overdeck/systray/runtime"
COMPAT_LINK_ENV = "SYSTRAY_RUNTIME_COMPAT_LINK"
DEFAULT_COMPAT_LINK_RELPATH = ".systray-ai"


def runtime_dir() -> Path:
    override = os.environ.get(RUNTIME_DIR_ENV)
    if override:
        return Path(override).expanduser()
    return Path.home() / DEFAULT_RUNTIME_DIR_RELPATH


def compat_link() -> Path:
    """Pre-cutover name for runtime_dir(); a symlink retired by retire_runtime_compat_link."""
    override = os.environ.get(COMPAT_LINK_ENV)
    if override:
        return Path(override).expanduser()
    return Path.home() / DEFAULT_COMPAT_LINK_RELPATH
