30 lines
709 B
Bash
Executable File
30 lines
709 B
Bash
Executable File
#!/bin/bash -e
|
|
shopt -s extglob nullglob
|
|
|
|
set_brightness() {
|
|
local max; max="$(cat "$1"/max_brightness)"
|
|
local file="$1"/brightness
|
|
local val="$(($2 * max / 100 + 1))"
|
|
|
|
[ "$val" -lt 0 ] && val=0
|
|
[ "$val" -gt "$max" ] && val="$max"
|
|
echo "$val" > "$file"
|
|
}
|
|
|
|
CUR_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/current_brightness"
|
|
CUR="$(cat "$CUR_FILE" 2> /dev/null || echo 50)"
|
|
|
|
case "${1:0:1}" in
|
|
'') echo "$CUR"; exit ;;
|
|
'+'|'-') NEW="$((CUR - CUR % $1 + $1))" ;;
|
|
*) NEW="$1" ;;
|
|
esac
|
|
|
|
for dev in /sys/class/backlight/*; do
|
|
set_brightness "$dev" "$NEW"
|
|
done
|
|
|
|
echo "$NEW" > "$CUR_FILE"
|
|
|
|
kill -35 "$(cat "$HOME/.cache/pidofbar")"
|