#!/usr/bin/env bash
set -euo pipefail

SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"

if [[ "$(uname -m)" != "aarch64" && "$(uname -m)" != "arm64" ]]; then
  echo "Dieses Paket benötigt ein ARM64-Linux." >&2
  exit 1
fi
if [[ ! -x "$SCRIPT_DIR/FsRdpClient" ]]; then
  echo "Ausführbare Datei fehlt: $SCRIPT_DIR/FsRdpClient" >&2
  echo "Bitte zuerst ausführen: chmod +x FsRdpClient install.sh apply-update.sh" >&2
  exit 1
fi

current_uid="$(id -u)"
current_gid="$(id -g)"
if [[ "$current_uid" == "0" ]]; then
  echo "Bitte dieses Skript als normaler Desktop-Benutzer ausführen, nicht mit sudo." >&2
  exit 1
fi

sudo install -d -m 0755 /opt/fsrdp-client
sudo install -m 0755 "$SCRIPT_DIR/FsRdpClient" /opt/fsrdp-client/FsRdpClient
sudo install -m 0755 "$SCRIPT_DIR/apply-update.sh" /opt/fsrdp-client/apply-update.sh
sudo ln -sfn /opt/fsrdp-client/FsRdpClient /usr/local/bin/fsrdp-client
sudo install -m 0644 "$SCRIPT_DIR/fsrdp-client.svg" \
  /usr/share/icons/hicolor/scalable/apps/fsrdp-client.svg

install -d -m 0755 "$HOME/.local/share/applications"
install -m 0644 "$SCRIPT_DIR/fsrdp-client.desktop" \
  "$HOME/.local/share/applications/fsrdp-client.desktop"

if command -v update-desktop-database >/dev/null 2>&1; then
  update-desktop-database "$HOME/.local/share/applications" || true
fi

if command -v ydotool >/dev/null 2>&1 && command -v ydotoold >/dev/null 2>&1; then
  systemctl --user disable --now ydotool.service 2>/dev/null || true
  sudo systemctl --global disable ydotool.service 2>/dev/null || true
  sed \
    -e "s/@UID@/$current_uid/g" \
    -e "s/@GID@/$current_gid/g" \
    "$SCRIPT_DIR/fsrdp-input.service.in" \
    | sudo tee /etc/systemd/system/fsrdp-input.service >/dev/null
  sudo systemctl daemon-reload
  sudo systemctl enable --now fsrdp-input.service
else
  echo "Hinweis: ydotool ist nicht installiert; Fernsteuerung dieses Rechners bleibt deaktiviert."
fi

if [[ ! -e "$HOME/.config/labwc/rc.xml" ]]; then
  install -d -m 0755 "$HOME/.config/labwc"
  install -m 0644 "$SCRIPT_DIR/labwc-rc.xml" "$HOME/.config/labwc/rc.xml"
else
  echo "Vorhandene labwc-Konfiguration wurde nicht überschrieben."
fi

echo
echo "FSRdpClient wurde installiert."
echo "Start über das Anwendungsmenü oder mit:"
echo "  fsrdp-client"
