summaryrefslogtreecommitdiff
path: root/debian/src/initscripts/etc/init.d/brightness
blob: 3e22bff8647957e70f112f780b244c5f943a4a17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/sh
### BEGIN INIT INFO
# Provides:          brightness
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Save and restore brightness level between restarts.
# Description:       This script saves the brightness level between restarts.
#                    It is called from the boot, halt and reboot scripts.
### END INIT INFO
readonly SAVEDFILE=/var/lib/initscripts/brightness
readonly DEFAULT_LEVEL=4
readonly SYS_CONTROL=/sys/class/backlight/acpi_video0/brightness
readonly SYS_MAXIMUM=/sys/class/backlight/acpi_video0/max_brightness

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_status () {
	MSG="Current brightness level is $(cat ${SYS_CONTROL})"
	if [ -f $SAVEDFILE ] ; then
		log_success_msg "${MSG}, saved value is $(cat ${SAVEDFILE})"
		return 0
	else
		log_failure_msg "${MSG}, there is no saved value"
		return 4
	fi
}

do_start () {
	[ "${VERBOSE}" = no ] ||
	  log_action_begin_msg "Initializing brightness level"

	if [ -f "${SAVEDFILE}" ] ; then
		cat "${SAVEDFILE}" > "${SYS_CONTROL}"
	else
		cat "${SYS_MAXIMUM}" > "${SYS_CONTROL}"
	fi
	ES=$?

	[ "${VERBOSE}" = no ] ||
	  log_action_end_msg $ES
}

do_stop () {
	[ "${VERBOSE}" = no ] ||
	  log_action_begin_msg "Saving brightness level"
	cat "${SYS_CONTROL}" > "${SAVEDFILE}"
	ES=$?

	[ "$VERBOSE" = no ] ||
	  log_action_end_msg $ES
}

case "$1" in
	(start)  do_start ;;
	(stop)   do_stop  ;;
	(status) do_status ;;
	(restart|reload|force-reload)
		echo "Error: argument '$1' not supported" >&2
		exit 3
		;;
	(*)
		echo "Usage: brightness start|stop" >&2
		exit 3
		;;
esac