73 lines
1.5 KiB
Bash
Executable File
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
|
|
|