#!/bin/sh -e
-if [ -z "$1" ]; then
+current=`cat /sys/class/backlight/intel_backlight/brightness`
+
+if [ -z "$1" -o -n "$2" ]; then
echo "Usage: $0 brightness [0-`cat /sys/class/backlight/intel_backlight/max_brightness`]" >&2
- echo "Current: `cat /sys/class/backlight/intel_backlight/brightness`"
+ echo "Current: $current"
exit 1
fi
-echo "$1" > /sys/class/backlight/intel_backlight/brightness
+case "$1" in
+ +*)
+ new=`echo $1 | sed 's/^+//'`
+ new=`expr $current + $new` ;;
+ -*)
+ new=`echo $1 | sed 's/^-//'`
+ new=`expr $current - $new` ;;
+ *) new="$1" ;;
+esac
+
+echo "$new" |
+ sudo tee /sys/class/backlight/intel_backlight/brightness >/dev/null
#!/bin/sh -e
max=`cat /sys/class/backlight/intel_backlight/max_brightness`
+current=`cat /sys/class/backlight/intel_backlight/brightness`
+current_percent=`expr $current \* 100 / $max`
-if [ -z "$1" ]; then
+if [ -z "$1" -o -n "$2" ]; then
echo "Usage: $0 brightness [10-100]" >&2
- current=`cat /sys/class/backlight/intel_backlight/brightness`
- current_percent=`expr $current \* 100 / $max`
echo "Current: $current_percent%"
exit 1
fi
-if [ "$1" -lt 10 -o "$1" -gt 100 ]; then
+case "$1" in
+ +*)
+ new=`echo $1 | sed 's/^+//'`
+ new=`expr $current_percent + $new` ;;
+ -*)
+ new=`echo $1 | sed 's/^-//'`
+ new=`expr $current_percent - $new` ;;
+ *) new="$1" ;;
+esac
+
+if [ "$new" -lt 10 -o "$new" -gt 100 ]; then
echo "Usage: $0 brightness 10-100" >&2
exit 1
fi
-new=`expr $max \* $1 / 100`
-echo "$new" > /sys/class/backlight/intel_backlight/brightness
+new=`expr $max \* $new / 100`
+echo "$new" |
+ sudo tee /sys/class/backlight/intel_backlight/brightness >/dev/null