diff options
author | andreas | 2017-09-01 08:29:57 +0200 |
---|---|---|
committer | andreas | 2017-09-01 08:29:57 +0200 |
commit | dbf1f762d93d3adabde45af905891e89af68696e (patch) | |
tree | c702bc1a47c9b98391a33355cd50409521aec807 | |
parent | 21d8b9f6e1fbf9ed3a256a9587d91f29bc691d3a (diff) | |
download | dotfiles-dbf1f762d93d3adabde45af905891e89af68696e.zip dotfiles-dbf1f762d93d3adabde45af905891e89af68696e.tar.gz |
Amend forgotten brightness file to previous.
-rw-r--r-- | src/bin/my-brightness.sh | 50 |
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" |