dotfiles/.config/hypr/scripts/hypr_brightness.sh

47 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env sh
# Source: https://github.com/albertnis/hypr-brightness
# Install ddcutil, and then enable access to i2c for your user
# sudo gpasswd -a $USER i2c
# sudo modprobe i2c-dev
# echo i2c-dev | sudo tee /etc/modules-load.d/i2c-dev.conf
set +e
usage="Usage: $0 [+] or [-]"
if [ "$#" -ne 1 ]; then
echo "No direction parameter provided"
echo "$usage"
exit 1
fi
arg="$1"
if [ "$arg" == "help" ] || [ "$arg" == "--help" ] || [ "$arg" == "-h" ]; then
echo "$usage"
exit 0
fi
if [ "$arg" != "+" ] && [ "$arg" != "-" ]; then
echo "Direction parameter must be '+' or '-'"
echo $usage
exit 1
fi
direction=$arg
monitor_data=$(hyprctl monitors -j)
focused_name=$(echo $monitor_data | jq -r '.[] | select(.focused == true) | .name')
if [ "$focused_name" == "eDP-1" ]; then
if [ "$direction" == "-" ]; then
brightnessctl -e4 -n2 set 5%-
else
brightnessctl -e4 -n2 set 5%+
fi
else
focused_id=$(echo $monitor_data | jq -r '.[] | select(.focused == true) | .id')
ddcutil --enable-dynamic-sleep --display=$focused_id setvcp 10 $direction 15
fi