File: gfx_brightness

package info (click to toggle)
hibernate 2.0%2B15%2Bg88d54a8-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch, wheezy
  • size: 740 kB
  • ctags: 114
  • sloc: sh: 1,223; makefile: 17
file content (44 lines) | stat: -rw-r--r-- 1,203 bytes parent folder | download | duplicates (3)
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
# -*- sh -*-
# vim:ft=sh:ts=8:sw=4:noet

AddConfigHandler GFXBrightnessOptions
AddConfigHelp "RestoreGFXBrightness <boolean>" "This will save and restore LCD brightness(GFX cards) using ACPI."

# May need to be made configurable later.
gfx_brightness_acpifile=/proc/acpi/video/GFX0/LCD/brightness

SaveGFXBrightness() {
    if [ ! -e "$gfx_brightness_acpifile" ]; then
	vecho 0 "$gfx_brightness_acpifile not present, will not save brightness level"
	return 1
    fi
    LEVEL="$(while read key value rest; do [ "$key" = current: ] && echo $value; done < $gfx_brightness_acpifile)"
    if [ -z "$LEVEL" ] || [ "$LEVEL" = 0 ]; then
	vecho 0 "could not determine current brightness level, using default (4)"
	LEVEL=4
    fi
    return 0
}

RestoreGFXBrightness() {
    if [ -n "$LEVEL" ] && [ -e "$gfx_brightness_acpifile" ]; then
	echo "$LEVEL" > $gfx_brightness_acpifile
    fi
    return 0
}

GFXBrightnessOptions() {
    case "$1" in
	restoregfxbrightness)
	    BoolIsOn "$1" "$2" || return 0
	    if [ -z "$GFX_BRIGHTNESS_HOOKED" ] ; then
		AddSuspendHook 85 SaveGFXBrightness
		AddResumeHook 85 RestoreGFXBrightness
		GFX_BRIGHTNESS_HOOKED=1
	    fi
	    ;;
	*)
	    return 1
    esac
    return 0
}