distribution/packages/jelos/sources/scripts/brightness

77 lines
1.6 KiB
Text
Raw Normal View History

2022-02-05 14:23:32 +00:00
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020-present Fewtarius
## Load minimal distribution settings to improve
## performance.
. /etc/profile.d/02-distribution
BRIGHTNESS_DEV="$(find /sys/class/backlight/*/ -name brightness -print -quit)"
BRIGHTNESS_PATH="${BRIGHTNESS_DEV%/brightness}"
MIN=0
MAX=$(<$(find /sys/class/backlight/*/ -name max_brightness -print -quit))
STEP="$(echo "scale=1; (${MAX} / 10)" | bc)"
2022-02-05 14:23:32 +00:00
if [ ! -f "${BRIGHTNESS_DEV}" ]
2022-02-05 14:23:32 +00:00
then
echo "ERROR: There is no BRIGHTNESS object to manage."
exit 1
fi
getBrightness() {
echo $(<${BRIGHTNESS_DEV})
}
setBrightness() {
echo "${1}" > ${BRIGHTNESS_DEV}
set_setting system.brightness "${2}"
}
2022-02-05 14:23:32 +00:00
stepUp() {
CURRENT=$(get_setting system.brightness)
NEXT=$(( ${CURRENT} + 1 ))
if (( ${NEXT} > 10 ))
2022-02-05 14:23:32 +00:00
then
NEXT=10
2022-02-05 14:23:32 +00:00
fi
BRIGHTNESS=$(printf '%.0f' "$(echo "scale=1; ${STEP} * ${NEXT}" | bc)")
setBrightness ${BRIGHTNESS} ${NEXT}
2022-02-05 14:23:32 +00:00
}
stepDown() {
CURRENT=$(get_setting system.brightness)
NEXT=$(( ${CURRENT} - 1 ))
if (( ${NEXT} < 0 ))
2022-02-05 14:23:32 +00:00
then
NEXT=0
2022-02-05 14:23:32 +00:00
fi
BRIGHTNESS=$(printf '%.0f' "$(echo "scale=1; ${STEP} * ${NEXT}" | bc)")
setBrightness ${BRIGHTNESS} ${NEXT}
2022-02-05 14:23:32 +00:00
}
case ${1} in
"up")
stepUp
2022-02-05 14:23:32 +00:00
;;
"down")
stepDown
2022-02-05 14:23:32 +00:00
;;
"device")
echo ${BRIGHTNESS_DEV}
;;
"path")
echo ${BRIGHTNESS_PATH}
;;
"set")
setBrightness "$(printf '%.0f' "$(echo "scale=1; ${STEP} * ${2}" | bc)")" ${2}
;;
2022-02-05 14:23:32 +00:00
*)
echo $(getBrightness)
;;
2022-02-05 14:23:32 +00:00
esac