feat(x11): disable X screensaver/DPMS blanking and enforce explicit-only locking
This commit is contained in:
@@ -77,9 +77,6 @@ case "$WMCLASS" in
|
||||
$icon_zzz Auto-suspend $(
|
||||
[ -e "$XDG_CACHE_HOME"/sxmo/sxmo.nosuspend ] && printf "%s" "$icon_tof" || printf "%s" "$icon_ton"
|
||||
) ^ 1 ^ (rm $XDG_CACHE_HOME/sxmo/sxmo.nosuspend 2>/dev/null || touch $XDG_CACHE_HOME/sxmo/sxmo.nosuspend)
|
||||
$icon_zzz Auto-screen-off $(
|
||||
[ -e "$XDG_CACHE_HOME/sxmo/sxmo.noidle" ] && printf "%s" "$icon_tof" || printf "%s" "$icon_ton"
|
||||
) ^ 1 ^ (rm $XDG_CACHE_HOME/sxmo/sxmo.noidle 2>/dev/null || touch $XDG_CACHE_HOME/sxmo/sxmo.noidle) && sxmo_state.sh set unlock
|
||||
$icon_trm Hooks ^ 0 ^ sxmo_hookmenu.sh
|
||||
$icon_cfg Suspend Blockers ^ 0 ^ sxmo_terminal.sh sxmo_debug_suspend.sh
|
||||
$icon_inf Log ^ 0 ^ sxmo_terminal.sh tail -n 100 -f ${XDG_STATE_HOME:-$HOME}/sxmo.log
|
||||
|
||||
@@ -32,12 +32,7 @@ if [ -z "$SXMO_DISABLE_LEDS" ]; then
|
||||
fi
|
||||
sxmo_jobs.sh stop periodic_wakelock_check
|
||||
|
||||
# Go down after 8 seconds of inactivity
|
||||
if [ -e "$XDG_CACHE_HOME/sxmo/sxmo.noidle" ]; then
|
||||
sxmo_jobs.sh stop idle_locker
|
||||
else
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout "${SXMO_LOCK_IDLE_TIME:-8}" "sxmo_state.sh idle"
|
||||
fi
|
||||
# Automatic idle transitions are disabled; only explicit locking is used
|
||||
sxmo_jobs.sh stop idle_locker 2>/dev/null || true
|
||||
|
||||
wait
|
||||
|
||||
@@ -3,18 +3,5 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
# Copyright 2022 Sxmo Contributors
|
||||
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout 10 'sxmo_wm.sh display off' \
|
||||
resume 'sxmo_wm.sh display on'
|
||||
|
||||
case "$SXMO_WM" in
|
||||
sway|river)
|
||||
swaylockd
|
||||
;;
|
||||
dwm)
|
||||
i3lock
|
||||
;;
|
||||
esac
|
||||
|
||||
# need & cause we are still holding flock
|
||||
sxmo_jobs.sh stop idle_locker 2>/dev/null || true
|
||||
sxmo_state.sh set unlock &
|
||||
|
||||
@@ -24,9 +24,6 @@ while ! superctl status > /dev/null 2>&1; do
|
||||
sleep 0.05
|
||||
done
|
||||
|
||||
# Not dangerous if "locker" isn't an available state
|
||||
sxmo_state.sh set locker
|
||||
|
||||
if [ -n "$SXMO_ROTATE_START" ]; then
|
||||
sxmo_rotate.sh
|
||||
fi
|
||||
|
||||
@@ -26,35 +26,7 @@ if [ -z "$SXMO_DISABLE_LEDS" ]; then
|
||||
fi
|
||||
sxmo_jobs.sh stop periodic_wakelock_check
|
||||
|
||||
# Go to the next idle state after 120 seconds of inactivity
|
||||
if [ -e "$XDG_CACHE_HOME/sxmo/sxmo.noidle" ]; then
|
||||
sxmo_jobs.sh stop idle_locker
|
||||
else
|
||||
case "$SXMO_WM" in
|
||||
river)
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout "${SXMO_UNLOCK_IDLE_TIME:-120}" 'sh -c "
|
||||
exec sxmo_state.sh idle
|
||||
"'
|
||||
;;
|
||||
sway)
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout "${SXMO_UNLOCK_IDLE_TIME:-120}" 'sh -c "
|
||||
swaymsg mode default;
|
||||
exec sxmo_state.sh idle
|
||||
"'
|
||||
;;
|
||||
i3)
|
||||
# Idle fails to trigger if formatted like sway
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout "${SXMO_UNLOCK_IDLE_TIME:-120}" \
|
||||
'sh -c "i3-msg mode default; exec sxmo_state.sh idle"'
|
||||
;;
|
||||
dwm)
|
||||
sxmo_jobs.sh start idle_locker sxmo_idle.sh -w \
|
||||
timeout "${SXMO_UNLOCK_IDLE_TIME:-120}" "sxmo_state.sh idle"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# Automatic idle locking is disabled; only explicit locking is used
|
||||
sxmo_jobs.sh stop idle_locker 2>/dev/null || true
|
||||
|
||||
wait
|
||||
|
||||
Reference in New Issue
Block a user