summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandreas2017-09-01 08:29:57 +0200
committerandreas2017-09-01 08:29:57 +0200
commitdbf1f762d93d3adabde45af905891e89af68696e (patch)
treec702bc1a47c9b98391a33355cd50409521aec807
parent21d8b9f6e1fbf9ed3a256a9587d91f29bc691d3a (diff)
downloaddotfiles-dbf1f762d93d3adabde45af905891e89af68696e.zip
dotfiles-dbf1f762d93d3adabde45af905891e89af68696e.tar.gz
Amend forgotten brightness file to previous.
-rw-r--r--src/bin/my-brightness.sh50
1 files changed, 13 insertions, 37 deletions
diff --git a/src/bin/my-brightness.sh b/src/bin/my-brightness.sh
index c7ddaa7..12a8c25 100644
--- a/src/bin/my-brightness.sh
+++ b/src/bin/my-brightness.sh
@@ -1,20 +1,15 @@
#!/bin/bash
+
#
-# @author Andreas Fankhauser
+# Software (no root) alternative to "my-backlight.sh"
#
-# This script required root access to some files in "/sys/class/backlight/".
-# You may want to make root owner of this file and whitelist the script in the
-# sudoers file:
-# +----------------------------------------------------------------------------
-# | Cmnd_Alias CMD_BRIGHTNESS = /path/to/this/script/my-brightness.sh
-# | yourUsername ALL=(ALL) NOPASSWD: CMD_BRIGHTNESS
-# +----------------------------------------------------------------------------
-
-cur=$( cat /sys/class/backlight/intel_backlight/brightness )
-min=$( cat /sys/class/backlight/intel_backlight/bl_power )
-max=$( cat /sys/class/backlight/intel_backlight/max_brightness )
-range=$( echo $max-$min | bc )
+level=$1
+cur=$( xrandr --verbose | awk 'match($0,/Brightness: ([0-9\\.]+)/,m) {print m[1]}' )
+cur=$( echo "$cur*100" | bc )
+min=0
+max=100
+range=$( echo "$max-$min" | bc )
curPercent=$( echo "($cur-$min)*100/$range" | bc )
@@ -30,43 +25,24 @@ elif [ "$1" == "--help" ] ;then
exit;
fi
-
-if [ "$EUID" -ne 0 ] ;then
- # We're not root. Run ourself with root privileges.
- sudo $0 $@;
- exit;
-fi
-
-
-level=$1
-
-
if [[ "$level" =~ ^[+|-] ]] ;then
# Calculate absolute for specified relative value.
level=$( echo "0$level+$curPercent" | bc )
fi
# Fix max and min exceedations.
-if [ $level -lt 2 ] ;then
- echo "[WARN ] Level '$level' set to 2.";
- level=2
+if [ $level -lt 10 ] ;then
+ level=10
elif [ $level -gt 100 ] ;then
- echo "[WARN ] Level '$level' cut to 100."
level=100
fi
# Translate percent to target scale
nxt=$( echo $level*$range/100 | bc )
+nxt=$( echo "scale=2;$level/100" | bc )
# Write evaluated brightness
-# Variant using hardware (usually sudo required)
-echo $nxt | sudo tee /sys/class/backlight/intel_backlight/brightness > /dev/null
-
-# Software variant (usually sudo NOT required).
-#xrandr \
-# --output DVI-I-1 --brightness $level \
-# --output HDMI-0 --brightness $level \
-# --output DVI-D-0 --brightness $level \
-#;
+echo xrandr --output LVDS-1 --brightness "$nxt"
+xrandr --output LVDS-1 --brightness "$nxt"