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
}
|