Files
samfelag/config/grapheio/scripts/brightness.sh
2024-12-08 19:03:42 +01:00

73 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Dependencies:
# - amixer
# - pactl
# - jq
# - libnotify
ACTION=$1
get_brightness() {
brightnessctl | \
grep "Current brightness" | \
sed -e 's/^\s\+Current brightness: [0-9]\+ (\([0-9]\+\)%).*$/\1/'
}
get_kb_brightness() {
brightnessctl -d platform::kbd_backlight | \
grep "Current brightness" | \
sed -e 's/^\s\+Current brightness: [0-9]\+ (\([0-9]\+\)%).*$/\1/'
}
notify() {
notify-send "$1" "$2" -e -t 1500 -h string:x-canonical-private-synchronous:brightness
}
set_brightness() {
# Set the brightness
TARGET=$1
brightnessctl set $TARGET > /dev/null
# Send a notification
BRIGHTNESS=$(get_brightness)
ACTION=$([[ ${TARGET:0:1} == "+" ]] && echo "Brightness Up" || echo "Brightness Down")
BRIGHTNESS_ICON="󰃠"
TITLE=$(echo "$BRIGHTNESS_ICON $ACTION")
BODY=$(echo "$BRIGHTNESS%")
notify "$TITLE" "$BODY"
}
set_kb_brightness() {
# Set the brightness
TARGET=$1
brightnessctl -d platform::kbd_backlight set $TARGET > /dev/null
# Send a notification
BRIGHTNESS=$(get_kb_brightness)
ACTION=$([[ ${TARGET:0:1} == "+" ]] && echo "Keyboard brightness Up" || echo "Keyboard brightness Down")
BRIGHTNESS_ICON="󰃠"
TITLE=$(echo "$BRIGHTNESS_ICON $ACTION")
BODY=$(echo "$BRIGHTNESS%")
notify "$TITLE" "$BODY"
}
case $ACTION in
set)
set_brightness $2
;;
kb_set)
set_kb_brightness $2
;;
*)
echo "Unknown action"
exit 1
;;
esac