lock
This commit is contained in:
@@ -6,7 +6,8 @@ interval="${1:-5}"
|
||||
|
||||
# Single-instance lock: i3 restarts/reloads re-run our autostart exec, so
|
||||
# without this, stray duplicate loops accumulate and race each other's state.
|
||||
exec 9>"/tmp/.dpms-inhibit-$(id -u).lock"
|
||||
# Per session, so a loop lingering from a logged-out session can't block this one.
|
||||
exec 9>"/tmp/.dpms-inhibit-$(id -u)-${XDG_SESSION_ID:-0}.lock"
|
||||
flock -n 9 || exit 0
|
||||
|
||||
has_fullscreen() {
|
||||
@@ -39,6 +40,8 @@ EOF
|
||||
|
||||
inhibited=0
|
||||
while true; do
|
||||
# our i3 is gone (logged out): don't linger into the next session
|
||||
i3-msg -t get_version >/dev/null 2>&1 || exit 0
|
||||
if has_fullscreen; then
|
||||
xset s off
|
||||
xset -dpms
|
||||
@@ -46,7 +49,7 @@ while true; do
|
||||
else
|
||||
if [ "$inhibited" -eq 1 ]; then
|
||||
xset s 300 300
|
||||
xset dpms 300 600 900
|
||||
xset dpms 0 0 900
|
||||
inhibited=0
|
||||
fi
|
||||
fi
|
||||
|
||||
+2
-3
@@ -1,5 +1,4 @@
|
||||
#!/bin/bash
|
||||
# Idle-blanking during fullscreen is suppressed by dpms-inhibit, so this
|
||||
# script (invoked by xss-lock) is only ever triggered for a real pre-suspend
|
||||
# lock — always lock, regardless of fullscreen state.
|
||||
# Invoked by xss-lock on idle (after 5min) and before suspend. Idle locking
|
||||
# during fullscreen is suppressed by dpms-inhibit.
|
||||
exec ~/.config/i3/scripts/lock-now "$1"
|
||||
|
||||
Reference in New Issue
Block a user