49 lines
1.1 KiB
Bash
49 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Example locker script -- demonstrates how to use the --transfer-sleep-lock
|
|
# option with a fixed delay to give simple lockers a little bit of time to lock
|
|
# the screen before the system goes the sleep.
|
|
|
|
## CONFIGURATION ##############################################################
|
|
|
|
# Command to start the locker (should not fork)
|
|
locker="xlock +resetsaver"
|
|
|
|
# Delay in seconds. Note that by default systemd-logind allows a maximum sleep
|
|
# delay of 5 seconds.
|
|
sleep_delay=1
|
|
|
|
# Run before starting the locker
|
|
pre_lock() {
|
|
#mpc pause
|
|
return
|
|
}
|
|
|
|
# Run after the locker exits
|
|
post_lock() {
|
|
return
|
|
}
|
|
|
|
###############################################################################
|
|
|
|
pre_lock
|
|
|
|
# kill locker if we get killed
|
|
trap 'kill %%' TERM INT
|
|
|
|
if [[ -e /dev/fd/${XSS_SLEEP_LOCK_FD:--1} ]]; then
|
|
# lock fd is open, make sure the locker does not inherit a copy
|
|
$locker {XSS_SLEEP_LOCK_FD}<&- &
|
|
|
|
sleep $sleep_delay
|
|
|
|
# now close our fd (only remaining copy) to indicate we're ready to sleep
|
|
exec {XSS_SLEEP_LOCK_FD}<&-
|
|
else
|
|
$locker &
|
|
fi
|
|
|
|
wait # for locker to exit
|
|
|
|
post_lock
|