backlight.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/usr/bin/env bash
  2. ## Author : Aditya Shakya
  3. ## Mail : adi1090x@gmail.com
  4. ## Github : @adi1090x
  5. ## Twitter : @adi1090x
  6. dir="$HOME/.config/rofi/applets/android"
  7. rofi_command="rofi -theme $dir/three.rasi"
  8. # Error msg
  9. msg() {
  10. rofi -theme "$dir/message.rasi" -e "$1"
  11. }
  12. ## Get Brightness
  13. if [[ -f /bin/brightnessctl ]]; then
  14. BNESS="$(brightnessctl get)"
  15. MAX="$(brightnessctl max)"
  16. PERC="$((BNESS*100/MAX))"
  17. BLIGHT=${PERC%.*}
  18. elif [[ -f /usr/bin/blight ]]; then
  19. DEVICE=$(ls /sys/class/backlight | head -n 1)
  20. BNESS="$(blight -d $DEVICE get brightness)"
  21. PERC="$(($BNESS*100/255))"
  22. BLIGHT=${PERC%.*}
  23. elif [[ -f /usr/bin/xbacklight ]]; then
  24. VAR="$(xbacklight -get)"
  25. BLIGHT="$(printf "%.0f\n" "$VAR")"
  26. else
  27. msg "No suitable backlight utility found!"
  28. exit 1
  29. fi
  30. if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
  31. MSG="Low"
  32. elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
  33. MSG="Optimal"
  34. elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
  35. MSG="High"
  36. elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
  37. MSG="Too Much"
  38. fi
  39. ## Icons
  40. ICON_UP=""
  41. ICON_DOWN=""
  42. ICON_OPT=""
  43. notify="notify-send -u low -t 1500"
  44. options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
  45. ## Main
  46. chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT%" -dmenu -selected-row 1)"
  47. case $chosen in
  48. "$ICON_UP")
  49. if [[ -f /bin/brightnessctl ]]; then
  50. brightnessctl -q set +10% && $notify "Brightness Up $ICON_UP"
  51. elif [[ -f /usr/bin/blight ]]; then
  52. blight -d "$DEVICE" set +10% && $notify "Brightness Up $ICON_UP"
  53. elif [[ -f /usr/bin/xbacklight ]]; then
  54. xbacklight -inc 10 && $notify "Brightness Up $ICON_UP"
  55. fi
  56. ;;
  57. "$ICON_DOWN")
  58. if [[ -f /bin/brightnessctl ]]; then
  59. brightnessctl -q set 10%- && $notify "Brightness Down $ICON_DOWN"
  60. elif [[ -f /usr/bin/blight ]]; then
  61. blight -d "$DEVICE" set -10% && $notify "Brightness Down $ICON_DOWN"
  62. elif [[ -f /usr/bin/xbacklight ]]; then
  63. xbacklight -dec 10 && $notify "Brightness Down $ICON_DOWN"
  64. fi
  65. ;;
  66. "$ICON_OPT")
  67. if [[ -f /bin/brightnessctl ]]; then
  68. brightnessctl -q set 25% && $notify "Optimal Brightness $ICON_OPT"
  69. elif [[ -f /usr/bin/blight ]]; then
  70. blight -d "$DEVICE" set 25% && $notify "Optimal Brightness $ICON_OPT"
  71. elif [[ -f /usr/bin/xbacklight ]]; then
  72. xbacklight -set 30 && $notify "Optimal Brightness $ICON_OPT"
  73. fi
  74. ;;
  75. esac