From d8acc57f354a93929573393850c61e01c2f8d103 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 14 May 2019 15:48:44 +0200 Subject: [xscreensaver/idleaction] DPMS handled by idle-daemon --- .../data/etc/X11/Xsession.d/50-set_lightdm_dpms | 20 ------ .../data/etc/X11/Xsession.d/50-set_session_dpms | 18 ++++++ .../data/etc/X11/Xsession.d/95-xscreensaver | 45 +++++++++++++ .../data/etc/X11/Xsetup.d/50-set_lightdm_dpms | 20 ++++++ .../data/etc/X11/Xsession.d/95-xscreensaver | 73 ---------------------- core/modules/xscreensaver/module.build | 4 +- 6 files changed, 86 insertions(+), 94 deletions(-) delete mode 100644 core/modules/idleaction/data/etc/X11/Xsession.d/50-set_lightdm_dpms create mode 100644 core/modules/idleaction/data/etc/X11/Xsession.d/50-set_session_dpms create mode 100755 core/modules/idleaction/data/etc/X11/Xsession.d/95-xscreensaver create mode 100644 core/modules/idleaction/data/etc/X11/Xsetup.d/50-set_lightdm_dpms delete mode 100755 core/modules/xscreensaver/data/etc/X11/Xsession.d/95-xscreensaver (limited to 'core') diff --git a/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_lightdm_dpms b/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_lightdm_dpms deleted file mode 100644 index c036e22a..00000000 --- a/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_lightdm_dpms +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/ash sourced - -# Set DPMS values in Xsetup. These will apply for the login screen. - -if [ -z "$SLX_PXE_SERVER_IP" ] && [ -z "$SLX_SCREEN_STANDBY_TIMEOUT" ]; then - . /opt/openslx/config # Not sourced yet -fi - -( - sleep 1 - xset s off - if [ -n "$SLX_SCREEN_STANDBY_TIMEOUT" ]; then - xset dpms "$SLX_SCREEN_STANDBY_TIMEOUT" "$SLX_SCREEN_STANDBY_TIMEOUT" "$SLX_SCREEN_STANDBY_TIMEOUT" &> /dev/null - else - xset -dpms - fi -) & - -: - diff --git a/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_session_dpms b/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_session_dpms new file mode 100644 index 00000000..3459a503 --- /dev/null +++ b/core/modules/idleaction/data/etc/X11/Xsession.d/50-set_session_dpms @@ -0,0 +1,18 @@ +#!/bin/ash sourced + +# Set DPMS values in Xsession. This will apply for user sessions + +if [ -z "$SLX_PXE_SERVER_IP" ] && [ -z "$SLX_SCREEN_STANDBY_TIMEOUT" ]; then + . /opt/openslx/config # Not sourced yet +fi + +xset s off +if [ -n "$SLX_SCREEN_STANDBY_TIMEOUT" ]; then + xset dpms 0 0 0 &> /dev/null + xset +dpms &> /dev/null +else + xset -dpms &> /dev/null +fi + +: + diff --git a/core/modules/idleaction/data/etc/X11/Xsession.d/95-xscreensaver b/core/modules/idleaction/data/etc/X11/Xsession.d/95-xscreensaver new file mode 100755 index 00000000..6e4d93f8 --- /dev/null +++ b/core/modules/idleaction/data/etc/X11/Xsession.d/95-xscreensaver @@ -0,0 +1,45 @@ +#!/bin/ash + +if which xscreensaver; then + AUTOLOCK=True + secsToTime() { + local NUM SECS MINS HRS + NUM="$1" + SECS=0$(( NUM % 60 )) + MINS=0$(( ( NUM / 60 ) % 60 )) + HRS=0$(( ( NUM / 3600 ) % 60 )) + echo "${HRS:$(( ${#HRS} - 2 )):2}:${MINS:$(( ${#MINS} - 2 )):2}:${SECS:$(( ${#SECS} - 2 )):2}" + } + [ -z "$UID" ] && UID=$(id -u) + [ -z "$HOME" ] && HOME="$(getent passwd "$UID" | head -n 1 | awk -F ':' '{print $6}')" + . /opt/openslx/config + if [ -n "${SLX_EXAM}" ]; then + SLX_SCREEN_SAVER_GRACE_TIME= + fi + if [ -z "$SLX_SCREEN_SAVER_GRACE_TIME" ]; then + GRACE="99:00:00" + AUTOLOCK=False + else + GRACE="$( secsToTime "$SLX_SCREEN_SAVER_GRACE_TIME" )" + fi + if ! [ -s "$HOME/.xscreensaver" ]; then + cat > "$HOME/.xscreensaver" < /dev/null + else + xset -dpms + fi +) & + +: + diff --git a/core/modules/xscreensaver/data/etc/X11/Xsession.d/95-xscreensaver b/core/modules/xscreensaver/data/etc/X11/Xsession.d/95-xscreensaver deleted file mode 100755 index 1220dad3..00000000 --- a/core/modules/xscreensaver/data/etc/X11/Xsession.d/95-xscreensaver +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/ash - -if which xscreensaver; then - DPMS=False - AUTOLOCK=True - secsToTime() { - local NUM SECS MINS HRS - NUM="$1" - SECS=0$(( NUM % 60 )) - MINS=0$(( ( NUM / 60 ) % 60 )) - HRS=0$(( ( NUM / 3600 ) % 60 )) - echo "${HRS:$(( ${#HRS} - 2 )):2}:${MINS:$(( ${#MINS} - 2 )):2}:${SECS:$(( ${#SECS} - 2 )):2}" - } - [ -z "$UID" ] && UID=$(id -u) - [ -z "$HOME" ] && HOME="$(getent passwd "$UID" | head -n 1 | awk -F ':' '{print $6}')" - . /opt/openslx/config - SBY="${SLX_SCREEN_STANDBY_TIMEOUT}" - if [ -n "${SLX_EXAM}" ]; then - SLX_SCREEN_SAVER_TIMEOUT=0 - SLX_SCREEN_SAVER_GRACE_TIME= - AUTOLOCK=False - SBY=0 - elif [ -z "$SBY" ]; then - SBY=0 - elif [ "$SBY" -gt 0 ] && [ "$SBY" -lt 60 ]; then - SBY=60 - elif ! [ "$SBY" -ge 0 ]; then # isNumeric? - SBY=0 - fi - # Create config value for standby timeout - if [ "$SBY" -gt 0 ]; then - DPMS=True - STANDBY="$( secsToTime "$(( SBY + 60 ))" )" - else - STANDBY="99:00:00" - fi - # Explicit screen saver timeout set - if [ "$SLX_SCREEN_SAVER_TIMEOUT" -gt 0 ]; then - TIMEOUT="$( secsToTime "$(( SLX_SCREEN_SAVER_TIMEOUT + 30 ))" )" - else - TIMEOUT="99:00:00" - fi - if [ -z "$SLX_SCREEN_SAVER_GRACE_TIME" ]; then - GRACE="99:00:00" - AUTOLOCK=False - else - GRACE="$( secsToTime "$SLX_SCREEN_SAVER_GRACE_TIME" )" - fi - if ! [ -s "$HOME/.xscreensaver" ]; then - cat > "$HOME/.xscreensaver" <