23 lines
571 B
Bash
Executable File
23 lines
571 B
Bash
Executable File
#!/bin/bash
|
|
|
|
checkSleep() {
|
|
if timeout 15 bash -c '
|
|
until journalctl -b | grep -i "systemd-sleep\|sleep\.target" | tail -n1 | grep -iq "Stopped target"; do
|
|
sleep 0.5
|
|
done';
|
|
then
|
|
logger -t "SmartSleep" "Das System hat den Energiesparmodus beendet"
|
|
return 0
|
|
else
|
|
logger -t "SmartSleep" "Das System hat den Energiesparmodus nicht wie erwartet beendet"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
trap 'checkSleep && systemctl suspend' USR1
|
|
trap 'notify-send "SmartSleep" "Energiesparmodus beendet"; checkSleep' USR2
|
|
|
|
while true; do
|
|
sleep infinity &
|
|
wait $!
|
|
done |