commit 916b3c28364ecfa7a2d4ede6755286944021d5fc Author: Kristóf Tóth Date: Mon Aug 17 12:28:52 2020 +0200 Initial commit. Add poc hack script diff --git a/proof-of-concept.sh b/proof-of-concept.sh new file mode 100755 index 0000000..7072fce --- /dev/null +++ b/proof-of-concept.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -euo pipefail +LOCK=/tmp/after-lock.lock +INITIAL_DELAY=3 +LOOP_DELAY=17 + +if ! mkdir "${LOCK}" &> /dev/null; then + exit 0 +fi +cleanup() { + rmdir "${LOCK}" +} +trap cleanup INT TERM EXIT + +screensaver_isactive() { + [[ $(qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive) = "true" ]] +} + +display_shouldsleep() { + if ! xset q | grep -q Monitor; then + return 0 + elif [[ "$(xset q | grep -oP '(?<=Monitor is )\w+')" = 'On' ]]; then + return 0 + fi + return 1 +} + +sleep "${INITIAL_DELAY}" +while screensaver_isactive; do + if display_shouldsleep; then + xset dpms force suspend + fi + sleep "${LOOP_DELAY}" +done