#!/usr/bin/env bash
# Öffnet das Dashboard im besten verfügbaren Fenster.
#
#  1. newsboard-app   – eigenständiges Qt-Fenster (kein Browser dahinter)
#  2. Browser im App-Modus als Rückfallebene
#
# In beiden Fällen heißt die Fensterklasse "newsboard", damit die KWin-Regel
# greift.
set -euo pipefail

FILE="${XDG_DATA_HOME:-$HOME/.local/share}/newsboard/dashboard.html"
BIN="${HOME}/.local/bin"

[[ -f "$FILE" ]] || "$BIN/newsboard" >/dev/null || true

# 1. Eigenständige App, wenn Qt-WebEngine da ist
if [[ -x "$BIN/newsboard-app" ]] && \
   python3 -c "import PyQt6.QtWebEngineWidgets" 2>/dev/null; then
  exec "$BIN/newsboard-app"
fi

# 2. Browser im App-Modus, mit eigenem Profil – stört die normale Sitzung nicht
for b in chromium chromium-browser google-chrome-stable google-chrome brave brave-browser vivaldi-stable vivaldi microsoft-edge-stable; do
  if command -v "$b" >/dev/null 2>&1; then
    exec "$b" --app="file://$FILE" --class=newsboard \
              --user-data-dir="${HOME}/.local/share/newsboard/browser" \
              --window-size=1180,900 --disable-features=TranslateUI
  fi
done

if command -v firefox >/dev/null 2>&1; then
  exec firefox --class=newsboard --new-window "file://$FILE"
fi

exec xdg-open "file://$FILE"
