74 lines
1.6 KiB
Bash
Executable File
74 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
SAVE_FILE="${HOME}/.cache/brightness-control-cache"
|
|
|
|
let really_notify=1
|
|
|
|
notify-brightness() {
|
|
((${really_notify})) || return
|
|
brightness="$(brightnessctl -m | sed 's/,/ /g' | awk '{print $4}' | tr -d '\n' | tr -d '%')"
|
|
notify-send -h string:x-canonical-private-synchronous:brightness-control-sh -t 4000 -u normal -a "Brightness" -h int:value:"$brightness" "$brightness%"
|
|
}
|
|
|
|
save-brightness() {
|
|
brightness="$(brightnessctl -m | sed 's/,/ /g' | awk '{print $4}' | tr -d '\n' | tr -d '%')"
|
|
printf '%d' "${brightness}" >"${SAVE_FILE}"
|
|
}
|
|
|
|
restore-brightness() {
|
|
if [ ! -e "${SAVE_FILE}" ]; then
|
|
echo "brightness-control.sh: error: save file at \"${SAVE_FILE}\" not found" >&2
|
|
exit 1
|
|
fi
|
|
brightness="$(cat "${SAVE_FILE}")"
|
|
brightnessctl s "${brightness}%"
|
|
}
|
|
|
|
print-usage() {
|
|
echo 'usage: brightness-control.sh [up|down|set|restore|display] <ammount>' 1>&2
|
|
exit 1
|
|
}
|
|
|
|
if [ "$#" -lt 1 ]; then
|
|
print-usage
|
|
fi
|
|
|
|
if [[ "${1}" == -n ]]; then
|
|
really_notify=0
|
|
shift 1
|
|
fi
|
|
|
|
ammount='5%'
|
|
value='50%'
|
|
if [ "${#}" -gt 1 ]; then
|
|
ammount="${2}"
|
|
value="${2}"
|
|
fi
|
|
|
|
case "${1}" in
|
|
'up')
|
|
brightnessctl s "+${ammount}" > /dev/null
|
|
notify-brightness
|
|
save-brightness
|
|
;;
|
|
'down')
|
|
brightnessctl s "${ammount}-" > /dev/null
|
|
notify-brightness
|
|
save-brightness
|
|
;;
|
|
'set')
|
|
brightnessctl s "${value}" > /dev/null
|
|
notify-brightness
|
|
save-brightness
|
|
;;
|
|
'display')
|
|
notify-brightness
|
|
;;
|
|
'restore')
|
|
restore-brightness
|
|
;;
|
|
*)
|
|
print-usage
|
|
;;
|
|
esac
|