Files
hyprland/config/ags/scripts/brightness.sh
T
2024-06-26 00:10:21 +05:45

52 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# I tried to make it smooth, but it didn't work
LOCKFILE=/tmp/brightness.lock
get_brightness() {
busctl --user get-property rs.wl-gammarelay / rs.wl.gammarelay Brightness | awk '{print $2}'
}
set_brightness() {
# if [ -e "$LOCKFILE" ] && kill -0 "$(cat $LOCKFILE)"; then
# exit 0
# fi
# trap "rm -f $LOCKFILE; exit" INT TERM EXIT
# echo $$ > "$LOCKFILE"
if (( $(echo "$1 < 0.05" | bc -l) )); then
BRIGHTNESS=0.05
else
BRIGHTNESS=$1
fi
busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d $BRIGHTNESS
# rm -f "$LOCKFILE"
# trap - INT TERM EXIT
}
set() {
if [ -n "$1" ]; then
set_brightness $1
else
echo "Not enough arguments"
exit 1
fi
}
get() {
if [ -e "$LOCKFILE" ] && kill -0 "$(cat $LOCKFILE)"; then
local target_brightness=$(cat $BRIGHTNESS)
echo $target_brightness
exit 0
fi
percentage=$(get_brightness)
echo "$percentage"
}
if [[ "$1" == "--set" ]]; then
set $2
elif [[ "$1" == "--get" ]]; then
get
fi