Created
August 12, 2019 15:46
-
-
Save Jaywalker/03b9427215e2846c313d2725fedfa316 to your computer and use it in GitHub Desktop.
An xbacklight (semi)-compatible alternative for unsupported systems (specifically my System76 machine)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
function usage { | |
echo "usage: $0 [options]" | |
echo " where options are:" | |
echo " -help" | |
echo " -set <percentage> or = <percentage>" | |
echo " -inc <percentage> or + <percentage>" | |
echo " -dec <percentage> or - <percentage>" | |
echo " -get" | |
} | |
if [ $# -gt 0 ]; then | |
CURRENT="$(cat /sys/class/backlight/intel_backlight/brightness)" | |
MAX="$(cat /sys/class/backlight/intel_backlight/max_brightness)" | |
if [ "$1" == "-get" ]; then | |
PERCENT="$(( MAX / CURRENT ))" | |
PERCENT="$(( 100 / PERCENT ))" | |
echo "$PERCENT%" | |
elif [ "$1" == "-set" ] || [ "$1" == "=" ]; then | |
if [ $# -gt 1 ]; then | |
if [ "$2" -eq "$2" ]; then #Bash hack to see if it's a number | |
if [ "$2" -lt 101 ] && [ "$2" -gt -1 ]; then | |
VALUE="$(( MAX*$2/100 ))" | |
echo $VALUE > /sys/class/backlight/intel_backlight/brightness | |
else | |
echo "Error: <percentage> argument must be between 0 and 100" | |
usage | |
fi | |
else | |
echo "Error: <percentage> argument must be an integer" | |
usage | |
fi | |
else | |
echo "Error: Missing <percentage> arguement" | |
usage | |
fi | |
elif [ "$1" == "-inc" ] || [ "$1" == "+" ]; then | |
if [ $# -gt 1 ]; then | |
if [ "$2" -eq "$2" ]; then #Bash hack to see if it's a number | |
if [ "$2" -lt 101 ] && [ "$2" -gt -1 ]; then | |
VALUE="$(( ( MAX*$2/100 ) + CURRENT ))" | |
echo $VALUE > /sys/class/backlight/intel_backlight/brightness | |
else | |
echo "Error: <percentage> argument must be between 0 and 100" | |
usage | |
fi | |
else | |
echo "Error: <percentage> argument must be an integer" | |
usage | |
fi | |
else | |
echo "Error: Missing <percentage> arguement" | |
usage | |
fi | |
elif [ "$1" == "-dec" ] || [ "$1" == "-" ]; then | |
if [ $# -gt 1 ]; then | |
if [ "$2" -eq "$2" ]; then #Bash hack to see if it's a number | |
if [ "$2" -lt 101 ] && [ "$2" -gt -1 ]; then | |
VALUE="$(( CURRENT - (MAX*$2/100) ))" | |
echo $VALUE > /sys/class/backlight/intel_backlight/brightness | |
else | |
echo "Error: <percentage> argument must be between 0 and 100" | |
usage | |
fi | |
else | |
echo "Error: <percentage> argument must be an integer" | |
usage | |
fi | |
else | |
echo "Error: Missing <percentage> arguement" | |
usage | |
fi | |
fi | |
else | |
usage | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment