#!/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
