blob: c11032195e913020847944f95986a63530a7ae48 (
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
|
#!/bin/bash
# Script to set backlight on startup on Lenovo W540 using
# /sys/class/backlight/intel_backlight/brightness
# This must be run as root.
# check if root
if [[ $EUID -ne 0 ]];then
echo "This must be run as root."
else
# get current and maximum brightness, set maximum steps allowed
brightness_current=$(cat /sys/class/backlight/intel_backlight/brightness)
brightness_max=$(cat /sys/class/backlight/intel_backlight/max_brightness)
brightness_max=$(($brightness_max-1000))
brightness_steps=20
brightness_steps_width=$(($brightness_max/$brightness_steps))
brightness_new=0
# if first parameter to this script is a number
re='^[0-9]+$'
if [[ $1 =~ $re ]]; then
echo "Direct step called"
if [[ $1 -gt brightness_steps && $1 -ne 0 ]];then
brightness_new=$(($1*brightness_steps_width))
fi
elif [[ $1 == "up" || $1 == "down" ]];then
brightness_calc=$(($brightness_current / $brightness_steps_width))
case $1 in
"up" )
brightness_calc=$((($brightness_calc+1) * $brightness_steps_width))
echo "brightness_calc: $brightness_calc"
echo "brightness_max: $brightness_max"
if [[ $brightness_max -gt $brightness_calc ]];then
echo "true"
brightness_new=$brightness_calc
else
echo "false"
brightness_new=$brightness_current
fi
;;
"down" )
brightness_calc=$((($brightness_calc-1) * $brightness_steps_width))
echo "brightness_calc: $brightness_calc"
if [[ $brightness_calc -gt 0 ]];then
brightness_new=$brightness_calc
else
brightness_new=$brightness_current
fi
;;
esac
echo "Step called with: $1"
fi
echo $brightness_current
echo $brightness_new
# set to 234 (around 4th step)
#echo 234 > /sys/class/backlight/intel_backlight/brightness
echo $brightness_new > /sys/class/backlight/intel_backlight/brightness
fi
|