2 Commits

Author SHA1 Message Date
71a3749079 Merge branch 'release-1.1' 2022-07-30 17:22:40 +02:00
661176befb Merge branch 'release-1.0' 2022-07-30 17:20:30 +02:00
2 changed files with 16 additions and 33 deletions

View File

@@ -32,11 +32,7 @@ This script aims to fix this.
Adding a script to `notifyrc` as event makes it possible to change settings when screen-locking begins.
When the screen is locked, the script will change the screen-timeout to a custom-value in the config `~/.config/powermanagementprofilesrc` (or a default of 10s).
This is done, so even after the System wakes up and activates the screens e.g. when mouse is moved, but no unlock is done, the screen begins to sleep quickly again.
After a successful unlock, the value from the config is reapplied.
So after x seconds the screen will simply be forcefully turned off using `xset`.
<br>
@@ -44,10 +40,4 @@ After a successful unlock, the value from the config is reapplied.
Place the file `event_screensaver` to a bin-location, for a local user this is typically `~/.local/bin/` and make it executeable.
In Settings under `Notifications > Applications > Configure > 'Screen Saver' > Configure Events...` for event locked & unlocked, enable `Run command` and add your script-location for `event_screensaver` and the event triggered.
Example:
```
Screen locked
Run Command: ~/.local/bin/event_screenSaver locked
```
In Settings under `Notifications > Applications > Configure > 'Screen Saver' > Configure Events...` for event `Screen locked`, enable `Run command` and add your script-location for `event_screensaver`.

View File

@@ -1,25 +1,18 @@
#!/bin/sh
SCREENSAVER_TIMEOUT_DEFAULT=10
NORMAL_TIMEOUT_DEFAULT=1800
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}"
;;
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
}
"unlocked")
# Read timeout from KDE
NORMAL_TIMEOUT=$(kreadconfig5 --file powermanagementprofilesrc --group AC --group DPMSControl --key idleTime)
TIMEOUT="${NORMAL_TIMEOUT:-$NORMAL_TIMEOUT_DEFAULT}"
;;
# Sleep to timeout
sleep 15
*)
echo "$0 <locked|unlocked>"
exit 1
;;
esac
# Set timeout-value
xset s ${TIMEOUT} ${TIMEOUT}
if is_screen_locked; then
# Disable screens
xset dpms force off
fi