feat(x11): disable X screensaver/DPMS blanking and enforce explicit-only locking

This commit is contained in:
Luxferre
2026-10-22 22:15:28 +03:00
parent c646800dbf
commit 179cc3066b
20 changed files with 38 additions and 227 deletions
@@ -51,7 +51,8 @@ fi
unset WAYLAND_DISPLAY
unset SWAYSOCK
mkdir -p "$XDG_RUNTIME_DIR"
mkdir -p "$XDG_RUNTIME_DIR" "$XDG_CACHE_HOME/sxmo"
touch "$XDG_CACHE_HOME/sxmo/sxmo.noidle"
[ -n "${DBUS_SESSION_BUS_ADDRESS:-}" ] && printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$XDG_RUNTIME_DIR/dbus.bus"
printf "unlock\n" > "$XDG_RUNTIME_DIR/sxmo.state"
@@ -65,15 +66,17 @@ XORG_MODPATH="/usr/lib/xorg/modules/xlibre-25,/usr/lib/xorg/modules"
[ -d /tmp/x11/usr/lib/xorg/modules ] && XORG_MODPATH="/tmp/x11/usr/lib/xorg/modules/xlibre-25,/tmp/x11/usr/lib/xorg/modules"
if ! pidof -s Xorg >/dev/null 2>&1; then
"$XORG_BIN" :0 -nocursor -nolisten tcp -config /tmp/xorg-bananarchy.conf -modulepath "$XORG_MODPATH" -logfile /tmp/Xorg.0.log >/dev/null 2>&1 </dev/null &
"$XORG_BIN" :0 -s 0 -dpms -nocursor -nolisten tcp -config /tmp/xorg-bananarchy.conf -modulepath "$XORG_MODPATH" -logfile /tmp/Xorg.0.log >/dev/null 2>&1 </dev/null &
i=0
while [ "$i" -lt 40 ]; do
if xset s off -dpms >/dev/null 2>&1; then
if xset s off s noblank s 0 0 -dpms >/dev/null 2>&1; then
break
fi
sleep 0.05
i=$((i + 1))
done
else
xset s off s noblank s 0 0 -dpms >/dev/null 2>&1 || true
fi
xrdb -merge "$HOME/.Xresources" >/dev/null 2>&1 || true