#!/usr/bin/env bash

set -u

LOG_DIR="${XDG_STATE_HOME:-${HOME}/.local/state}/sunshine"
LOG_FILE="${LOG_DIR}/gaming-mode.log"

mkdir -p "${LOG_DIR}"

log() {
    printf '[%s] [ENTER] %s\n' \
        "$(date '+%Y-%m-%d %H:%M:%S')" \
        "$*" >> "${LOG_FILE}"
}

export DISPLAY="${DISPLAY:-:20.0}"

log "Entering gaming mode"

#
# Minimiser toutes les fenêtres actuellement ouvertes.
#
if command -v wmctrl >/dev/null 2>&1; then
    log "Minimizing existing windows"

    while read -r wid _; do
        [[ -n "${wid}" ]] || continue

        wmctrl -i -r "${wid}" -b add,hidden >/dev/null 2>&1 || true
    done < <(wmctrl -l)
else
    log "WARNING: wmctrl not found"
fi

#
# Masquer les éléments du bureau XFCE.
#
if pgrep -x xfdesktop >/dev/null 2>&1; then
    log "Stopping xfdesktop"
    pkill -TERM -x xfdesktop || true
fi

if pgrep -x xfce4-panel >/dev/null 2>&1; then
    log "Stopping xfce4-panel"
    pkill -TERM -x xfce4-panel || true
fi

log "Gaming mode enabled"

exit 0