#!/bin/sh
# KuLuSz made at 2022y 03m 15d
DIR="/tmp/backlight_brightness"
[ ! -d $DIR ]&& mkdir -p $DIR
F="$DIR/br.txt"
if [ ! -z "`ls /sys/class/backlight/`" ];then
echo '' > $F
grep -H . /sys/class/backlight/*/max_brightness | while read i;do
DEV="`cut -f5 -d"/" <<< "$i"`"
MAX="`cut -f2 -d":" <<< "$i"`"
MIN="$((20*$MAX/100))" # 20%
DEF="`cat /sys/class/backlight/$DEV/brightness`"
RS=1
[ "$MAX" -ge "50" ]&& RS="10"
[ "$MAX" -ge "100" ]&& RS="20"
[ "$MAX" -ge "200" ]&& RS="50"
[ "$MAX" -ge "1000" ]&& RS="100"
[ "$MAX" -ge "2500" ]&& RS="500"
echo '
'$DEF'
'$DEV'_NUM
echo $'$DEV'_NUM > /sys/class/backlight/'$DEV'/brightness
' >> $F
done
echo '' >> $F
else
echo "Hardware brightness control not available.
Kernel drivers not support it."
fi
if [ ! -z "`which xrandr`" ];then
for i in "`xrandr --verbose | grep -o ".* co\|Ga.*\|Br.*" | grep -o ".* co\|:\|[0-9].[0-9]" |
sed 's/ co// ; /^[A-Z]/s/^/|/' | tr -d '\n' | sed 's/|/\n/g ; s/-/_/g' | sed '/^$/d'`";do
DEV="`cut -f1 -d':' <<< "$i"`"
DEF="`cut -f5 -d':' <<< "$i"`"
cut -f2 -d":" <<< "$i" > $DIR/${DEV}_rg
cut -f3 -d":" <<< "$i" > $DIR/${DEV}_gg
cut -f4 -d":" <<< "$i" > $DIR/${DEV}_bg
echo "${DEF/./,}" > $DIR/${DEV}_b
echo "1,0" > $DIR/${DEV}_g
echo '
- 1|1
'$DEV'_NUM
'$DIR'/'$DEV'_b
xrandr --output "'${DEV//_/-}'" --brightness "${'$DEV'_NUM/,/.}" --gamma "${'$DEV'_rg_num/,/.}":"${'$DEV'_gg_num/,/.}":"${'$DEV'_bg_num/,/.}"
- 1|1
'$DEV'_g_num
'$DIR'/'$DEV'_g
echo $'$DEV'_g_num > '$DIR'/'$DEV'_rg
echo $'$DEV'_g_num > '$DIR'/'$DEV'_gg
echo $'$DEV'_g_num > '$DIR'/'$DEV'_bg
refresh:'$DEV'_rg_num
refresh:'$DEV'_gg_num
refresh:'$DEV'_bg_num
xrandr --output "'${DEV//_/-}'" --brightness "${'$DEV'_NUM/,/.}" --gamma "${'$DEV'_rg_num/,/.}":"${'$DEV'_gg_num/,/.}":"${'$DEV'_bg_num/,/.}"
- 1|1
'$DEV'_rg_num
'$DIR'/'$DEV'_rg
xrandr --output "'${DEV//_/-}'" --brightness "${'$DEV'_NUM/,/.}" --gamma "${'$DEV'_rg_num/,/.}":"${'$DEV'_gg_num/,/.}":"${'$DEV'_bg_num/,/.}"
- 1|1
'$DEV'_gg_num
'$DIR'/'$DEV'_gg
xrandr --output "'${DEV//_/-}'" --brightness "${'$DEV'_NUM/,/.}" --gamma "${'$DEV'_rg_num/,/.}":"${'$DEV'_gg_num/,/.}":"${'$DEV'_bg_num/,/.}"
1
- 1|1
'$DEV'_bg_num
'$DIR'/'$DEV'_bg
xrandr --output "'${DEV//_/-}'" --brightness "${'$DEV'_NUM/,/.}" --gamma "${'$DEV'_rg_num/,/.}":"${'$DEV'_gg_num/,/.}":"${'$DEV'_bg_num/,/.}"
' >> $F
done
fi
if [ -e $F ];then
gtkdialog -cs <<< ''`cat $F`''
rm -rf $DIR
fi