#!/bin/bash 

# leblank pe 10.1.2014 12.51.02 +0200
#	- $1 -> $TTY
#
# ke 11.12.2013 21.49.04 +0200
#	- command instead of which
#
# pe 12.7.2013 20.27.59 +0300
#	- toiletsave before xscreensaver. let's see...
#
# ke 10.10.2012 13.42.38 +0300
#	- toiletsaveR
#
# to 4.10.2012 21.56.12 +0300
#	- toilet
#
# ma 13.8.2012 20.41.16 +0300

function do_toiletsave {
	toiletsave
	return $?
}
function un_toiletsave {
	toiletunsave
	return $?
}
function saved_by_toilet {
	command toiletsaver > /dev/null 2>&1
	return $?
}
function xscreensave {
	xscreensaver-command -activate > /dev/null 2>&1
	return $?
}
function un_xscreensave {
	xscreensaver-command -deactivate > /dev/null 2>&1
	return $?
}
function saved_by_xscreensaver {
        command xscreensaver-command > /dev/null 2>&1 && xscreensaver-command -version > /dev/null 2>&1
        return $?
}

function gscreensave {
	gnome-screensaver-command -d
	return $?
}
function un_gscreensave {
	gnome-screensaver-command -a
	return $?
}
function saved_by_gscreensaver {
        command gnome-screensaver-command > /dev/null 2>&1 && LC_ALL=C gnome-screensaver-command -q | grep -v "not running"
        return $?
}

function blank_tty() {
	setterm -term linux -blank 1 >$TTY <$TTY
	return $?
}
function un_blank_tty() {
	setterm -term linux -blank 0 >$TTY <$TTY
	return $?
}
function saved_by_tty {
	TTY=/`ls -l /dev/tty? | grep $(whoami) | head -1 | cut -d/  -f 2-`
	TTY=`expr "${TTY##/dev/tty}" : '[[:digit:]]\+'`
	return $TTY
}



export DISPLAY=\:0.0
CALL=`basename $0`
if [ $CALL == 'leblank' ]
then
	saved_by_toilet		&& { do_toiletsave  ; exit $? ; }
	saved_by_xscreensaver	&& { xscreensave ; exit $? ; }
	saved_by_gscreensaver	&& { gscreensave ; exit $? ; }
	saved_by_tty		&& { blank_tty   ; exit $? ; }
elif [ $CALL == 'leunblank' ]
then
	saved_by_toilet		&& { un_toiletsave  ; exit $? ; }
	saved_by_xscreensaver	&& { un_xscreensave ; exit $? ; }
	saved_by_gscreensaver	&& { un_gscreensave ; exit $? ; }
	saved_by_tty		&& { un_blank_tty   ; exit $? ; }
else
	exit 1
fi
