|
@@ -9,7 +9,6 @@ log() {
|
|
|
printf '[%s] [ENTER] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$*" >> "${LOG_FILE}"
|
|
printf '[%s] [ENTER] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$*" >> "${LOG_FILE}"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-# Récupère l'environnement réel de la session XFCE.
|
|
|
|
|
import_xfce_environment() {
|
|
import_xfce_environment() {
|
|
|
local session_pid
|
|
local session_pid
|
|
|
local entry
|
|
local entry
|
|
@@ -27,9 +26,10 @@ import_xfce_environment() {
|
|
|
fi
|
|
fi
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+log "Starting gaming-mode-enter"
|
|
|
|
|
+
|
|
|
import_xfce_environment
|
|
import_xfce_environment
|
|
|
|
|
|
|
|
-# Fallback correspondant à notre stack actuelle.
|
|
|
|
|
export DISPLAY="${DISPLAY:-:20}"
|
|
export DISPLAY="${DISPLAY:-:20}"
|
|
|
|
|
|
|
|
STATE_DIR="${XDG_RUNTIME_DIR:-/tmp}/sunshine-gaming-mode"
|
|
STATE_DIR="${XDG_RUNTIME_DIR:-/tmp}/sunshine-gaming-mode"
|
|
@@ -37,28 +37,34 @@ STATE_FILE="${STATE_DIR}/xfce-state"
|
|
|
|
|
|
|
|
mkdir -p "${STATE_DIR}"
|
|
mkdir -p "${STATE_DIR}"
|
|
|
|
|
|
|
|
-log "Entering gaming mode on DISPLAY=${DISPLAY}"
|
|
|
|
|
-
|
|
|
|
|
desktop_was_running=0
|
|
desktop_was_running=0
|
|
|
panel_was_running=0
|
|
panel_was_running=0
|
|
|
|
|
|
|
|
if pgrep -u "$(id -u)" -x xfdesktop >/dev/null 2>&1; then
|
|
if pgrep -u "$(id -u)" -x xfdesktop >/dev/null 2>&1; then
|
|
|
desktop_was_running=1
|
|
desktop_was_running=1
|
|
|
|
|
|
|
|
- log "Stopping xfdesktop"
|
|
|
|
|
- xfdesktop --quit >/dev/null 2>&1 || true
|
|
|
|
|
|
|
+ log "Stopping xfdesktop..."
|
|
|
|
|
+ timeout 2s xfdesktop --quit >/dev/null 2>&1 || \
|
|
|
|
|
+ log "xfdesktop --quit timed out or returned an error"
|
|
|
|
|
+
|
|
|
|
|
+ log "xfdesktop step completed"
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
if pgrep -u "$(id -u)" -x xfce4-panel >/dev/null 2>&1; then
|
|
if pgrep -u "$(id -u)" -x xfce4-panel >/dev/null 2>&1; then
|
|
|
panel_was_running=1
|
|
panel_was_running=1
|
|
|
|
|
|
|
|
- log "Stopping xfce4-panel"
|
|
|
|
|
- xfce4-panel --quit >/dev/null 2>&1 || true
|
|
|
|
|
|
|
+ log "Stopping xfce4-panel..."
|
|
|
|
|
+ timeout 2s xfce4-panel -q >/dev/null 2>&1 || \
|
|
|
|
|
+ log "xfce4-panel -q timed out or returned an error"
|
|
|
|
|
+
|
|
|
|
|
+ log "xfce4-panel step completed"
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
-# Laisse un fond propre pendant le lancement du jeu.
|
|
|
|
|
if command -v xsetroot >/dev/null 2>&1; then
|
|
if command -v xsetroot >/dev/null 2>&1; then
|
|
|
- xsetroot -solid black >/dev/null 2>&1 || true
|
|
|
|
|
|
|
+ log "Setting root background to black"
|
|
|
|
|
+
|
|
|
|
|
+ timeout 2s xsetroot -solid black >/dev/null 2>&1 || \
|
|
|
|
|
+ log "xsetroot timed out or returned an error"
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
cat > "${STATE_FILE}" <<EOF
|
|
cat > "${STATE_FILE}" <<EOF
|
|
@@ -67,6 +73,4 @@ panel=${panel_was_running}
|
|
|
EOF
|
|
EOF
|
|
|
|
|
|
|
|
log "Gaming mode enabled"
|
|
log "Gaming mode enabled"
|
|
|
-
|
|
|
|
|
-# Ne jamais empêcher Sunshine de lancer le jeu.
|
|
|
|
|
exit 0
|
|
exit 0
|