|
|
|
|
@ -4,15 +4,16 @@
|
|
|
|
|
|
|
|
|
|
iDIR="$HOME/.config/swaync/icons" |
|
|
|
|
notification_timeout=1000 |
|
|
|
|
step=10 # INCREASE/DECREASE BY THIS VALUE |
|
|
|
|
|
|
|
|
|
# Get brightness |
|
|
|
|
get_backlight() { |
|
|
|
|
echo $(brightnessctl -m | cut -d, -f4) |
|
|
|
|
brightnessctl -m | cut -d, -f4 | sed 's/%//' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Get icons |
|
|
|
|
get_icon() { |
|
|
|
|
current=$(get_backlight | sed 's/%//') |
|
|
|
|
current=$(get_backlight) |
|
|
|
|
if [ "$current" -le "20" ]; then |
|
|
|
|
icon="$iDIR/brightness-20.png" |
|
|
|
|
elif [ "$current" -le "40" ]; then |
|
|
|
|
@ -33,7 +34,27 @@ notify_user() {
|
|
|
|
|
|
|
|
|
|
# Change brightness |
|
|
|
|
change_backlight() { |
|
|
|
|
brightnessctl set "$1" -n && get_icon && notify_user |
|
|
|
|
local current_brightness |
|
|
|
|
current_brightness=$(get_backlight) |
|
|
|
|
|
|
|
|
|
# Calculate new brightness |
|
|
|
|
if [[ "$1" == "+${step}%" ]]; then |
|
|
|
|
new_brightness=$((current_brightness + step)) |
|
|
|
|
elif [[ "$1" == "${step}%-" ]]; then |
|
|
|
|
new_brightness=$((current_brightness - step)) |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# Ensure new brightness is within valid range |
|
|
|
|
if (( new_brightness < 0 )); then |
|
|
|
|
new_brightness=0 |
|
|
|
|
elif (( new_brightness > 100 )); then |
|
|
|
|
new_brightness=100 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
brightnessctl set "${new_brightness}%" |
|
|
|
|
get_icon |
|
|
|
|
current=$new_brightness |
|
|
|
|
notify_user |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Execute accordingly |
|
|
|
|
@ -42,10 +63,10 @@ case "$1" in
|
|
|
|
|
get_backlight |
|
|
|
|
;; |
|
|
|
|
"--inc") |
|
|
|
|
change_backlight "+10%" |
|
|
|
|
change_backlight "+${step}%" |
|
|
|
|
;; |
|
|
|
|
"--dec") |
|
|
|
|
change_backlight "10%-" |
|
|
|
|
change_backlight "${step}%-" |
|
|
|
|
;; |
|
|
|
|
*) |
|
|
|
|
get_backlight |
|
|
|
|
|