"""eww-Reload — Bar nimmt neuen Akzent sofort über gui.json auf.

Best-effort: re-evaluiert eww-Config (liest ihrerseits gui.json), verändert
eww selbst NICHT direkt. Das eww-Setup gehört Karims separater Config in ~/eww.
Reines stdlib (subprocess), keine GTK-Importe.
"""
from __future__ import annotations

import subprocess


def reload_if_running() -> bool:
    """Löst `eww reload` aus, falls der eww-Daemon läuft. Gibt True zurück,
    wenn `eww reload` ausgeführt wurde, sonst False. Best-effort: fängt
    FileNotFoundError/TimeoutExpired ab und crasht nie."""
    try:
        running = subprocess.run(
            ["pgrep", "-x", "eww"], check=False, timeout=5,
            stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
        )
    except (FileNotFoundError, subprocess.TimeoutExpired):
        return False
    if running.returncode != 0:
        return False  # Daemon läuft nicht

    try:
        subprocess.run(
            ["eww", "reload"], check=False, timeout=5,
            stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
        )
    except (FileNotFoundError, subprocess.TimeoutExpired):
        return False
    return True
