#!/bin/sh # xscreensaver helper scripts ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 XSSHBTM=20s # exit for DE XSSDEIGNORE="kde,mate" # exit if process started XSSEXIT="screensaver" # stop xss if process started XSSBLRUNED="kscreenlocker" # stop xss if process eats resources XSSBLLOADED="media-play,mplayer,tvtime,firefox,steam,chromium" /usr/lib/ublinux/functions . /usr/lib/ublinux/default SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null which xscreensaver >/dev/null 2>&1 || exit 0 DE=$(detectDE) [ "$XSSDEIGNORE" = "all" ] && exit 0 echo " $XSSDEIGNORE " | tr ',;' ' ' | grep -q " $DE " && exit 0 XSSEXIT="$(echo "$XSSEXIT" | tr ',; ' '|' )" ps -U $(id -un) -o comm | grep -Eq "$XSSEXIT" && exit 0 xscreensaver -no-splash & sleep 1s while true ;do XSSBLRUNED="$(echo "$XSSBLRUNED" | tr ',; ' '|' )" XSSBLLOADED="$(echo "$XSSBLLOADED" | tr ',; ' '|' )" ps -U $(id -un) -o comm | grep -Eq "$XSSBLRUNED" && xscreensaver-command -deactivate >/dev/null 2>&1 top -bn1 -u $(id -un) | awk '{ print $7 FS $NF }' | grep ^[1-9] | grep -Eq "$XSSBLLOADED" && xscreensaver-command -deactivate >/dev/null 2>&1 sleep $XSSHBTM done