#!/bin/bash

# Implements commands
# screensaver on - Called when screensaver should activate
# screensaver off - Called when screensaver should be inactive
# screensaver config <0/1> <time> - Set time for screensaver. <0/1> enables/disable function.

export LC_ALL=C
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$DIR" || exit
CMD=$1
P1=$2
P2=$3

if [[ $(id -u) == "0" ]]; then
  sudo -u pi ./screensaver "$*"
  exit 0
fi

case $CMD in
  on)
    # Add code to run on screensaver activation
    if [[ -e "/dev/backlight-1wire" ]]; then
        echo 0 > /dev/backlight-1wire
    fi
    ;;
  off)
    # Add code to run on screensaver deactivation
    if [[ -e "/dev/backlight-1wire" ]]; then
        echo 80 > /dev/backlight-1wire
    fi
    ;;
  config)
     export DISPLAY=:0
     if [[ "$P1" == "0" ]] ; then
        xset s off
        xset -dpms 2>/dev/null
        xset dpms 0 0 0 2>/dev/null
        xset s noblank
        xset s reset
        echo "Screensaver disabled"
     else
        xset s on
        xset +dpms 2>/dev/null
        xset dpms 0 0 "$P2" 2>/dev/null
        xset s blank
        xset s "$P2"
        echo "Screensaver enabled"
     fi
  	;;
esac
