#!/bin/sh
# Change the screen backlight: "+" and "-" (+- 10%) or a number (set %)
# SliTaz GNU/Linux - BSD License
#
# The sysfs file is group video writable (udev rule of lxtaz-ctrl),
# else try a password less sudo.

dev=$(ls -d /sys/class/backlight/* 2>/dev/null | head -n1)
[ -n "$dev" ] || exit 0
max=$(cat $dev/max_brightness)
cur=$(cat $dev/brightness)
[ "$max" -gt 0 ] 2>/dev/null || exit 0

case "$1" in
	+) new=$((cur + max / 10)) ;;
	-) new=$((cur - max / 10)) ;;
	''|*[!0-9]*) echo "Usage: $(basename $0) + | - | percent"; exit 1 ;;
	*) new=$((max * $1 / 100)) ;;
esac

# Floor at 5%: 0 is a black screen on most panels
min=$((max / 20)); [ "$min" -lt 1 ] && min=1
[ "$new" -lt "$min" ] && new=$min
[ "$new" -gt "$max" ] && new=$max

{ echo $new > $dev/brightness; } 2>/dev/null ||
	sudo -n sh -c "echo $new > $dev/brightness" 2>/dev/null
