#!/bin/bash # You can call this script like this: # brightnessControl up # brightnessControl down # Script inspired by these wonderful people: # https://github.com/dastorm/volume-notification-dunst/blob/master/volume.sh # https://gist.github.com/sebastiencs/5d7227f388d93374cebdf72e783fbd6a function send_notification { icon=/usr/share/icons/Adwaita/symbolic/status/daytime-sunrise-symbolic.svg brightness=$(brightnessctl g) brightness=$((brightness *100 / 255 )) brightness=$(echo "$brightness" | awk '{print ($0-int($0)<0.499)?int($0):int($0)+1}') # Make the bar with the special character ─ (it's not dash -) # https://en.wikipedia.org/wiki/Box-drawing_character bar=$(seq -s "─" 0 $((brightness / 10 )) | sed 's/[0-9]//g') # Send the notification notify-send -i "$icon" --hint=string:x-canonical-private-synchronous:brightness -u normal "$bar $brightness" } case $1 in up) # increase the backlight by 5% brightnessctl -s > ~/.cache/brightness s +5 send_notification #canberra-gtk-play -i audio-volume-change ;; down) # decrease the backlight by 5% brightnessctl -s > ~/.cache/brightness s 5- send_notification #canberra-gtk-play -i audio-volume-change ;; *) brightness=$(brightnessctl g) brightness=$((brightness *100 / 255 )) brightness=$(echo "$brightness" | awk '{print ($0-int($0)<0.499)?int($0):int($0)+1}') icon="󰃞" printf "%s" "$icon $brightness" "%" ;; esac