Reimplement script to temp change the timeout when locked

Script now changes the screen timeout when the screen is locked and restores the values after unlocking from the config-file.
dev
Ruakij 2 years ago
parent a8cc54391c
commit 6d54498b39

@ -1,18 +1,25 @@
#!/bin/sh
SCREENSAVER_TIMEOUT_DEFAULT=10
NORMAL_TIMEOUT_DEFAULT=1800
is_screen_locked()
{
if dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call --print-reply /org/freedesktop/ScreenSaver org.freedesktop.ScreenSaver.GetActive | grep 'boolean true' > /dev/null; then
return 0
else
return 1
fi
}
case "$1" in
"locked")
# Read timeout from KDE
SCREENSAVER_TIMEOUT=$(kreadconfig5 --file powermanagementprofilesrc --group AC --group DPMSControl --key idleTime_screenSaver)
TIMEOUT="${NORMAL_TIMEOUT:-$SCREENSAVER_TIMEOUT_DEFAULT}"
;;
# Sleep to timeout
sleep 15
"unlocked")
# Read timeout from KDE
NORMAL_TIMEOUT=$(kreadconfig5 --file powermanagementprofilesrc --group AC --group DPMSControl --key idleTime)
TIMEOUT="${NORMAL_TIMEOUT:-$NORMAL_TIMEOUT_DEFAULT}"
;;
if is_screen_locked; then
# Disable screens
xset dpms force off
fi
*)
echo "$0 <locked|unlocked>"
exit 1
;;
esac
# Set timeout-value
xset s ${TIMEOUT} ${TIMEOUT}

Loading…
Cancel
Save