#!/bin/bash # A script to manage screen and keyboard brightness on my machine # Depends on: bash, brightnessctl # By David Penkowoj, 2021/06/24 MTR_VALUE=19 KBD_VALUE=2 SWITCH="$1" case $SWITCH in "help") printf "Possible arguments:\n" printf "===================\n" printf "load - loads brightness from save\n" printf "save - saves current brightness\n" printf "up - increases brightness by 5 percent and saves\n" printf "down - decreases brightness by 5 percent and saves\n" printf "smallup - increases brightness by 1 percent and saves\n" printf "smalldown - decreases brightness by 1 percent and saves\n" printf "status - show brightness of a device" ;; "load") brightnessctl --device='intel_backlight' set "$MTR_VALUE%" brightnessctl --device='smc::kbd_backlight' set 0 # "$KBD_VALUE%" ;; "save") M="$(brightnessctl --device='intel_backlight' | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)" K="$(brightnessctl --device='smc::kbd_backlight' | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)" sed -i "s/MTR_VALUE=$MTR_VALUE/MTR_VALUE=$M/g" "$0" sed -i "s/KBD_VALUE=$KBD_VALUE/KBD_VALUE=$K/g" "$0" ;; "smalldown") if [[ "$2" = "monitor" ]]; then brightnessctl --device='intel_backlight' set 1-%; fi if [[ "$2" = "keyboard" ]]; then brightnessctl --device='smc::kbd_backlight' set 1-%; fi brightness save ;; "smallup") if [[ "$2" = "monitor" ]]; then brightnessctl --device='intel_backlight' set +1%; fi if [[ "$2" = "keyboard" ]]; then brightnessctl --device='smc::kbd_backlight' set +1%; fi brightness save ;; "down") if [[ "$2" = "monitor" ]]; then brightnessctl --device='intel_backlight' set 5-%; fi if [[ "$2" = "keyboard" ]]; then brightnessctl --device='smc::kbd_backlight' set 5-%; fi brightness save ;; "up") if [[ "$2" = "monitor" ]]; then brightnessctl --device='intel_backlight' set +5%; fi if [[ "$2" = "keyboard" ]]; then brightnessctl --device='smc::kbd_backlight' set +5%; fi brightness save ;; "get") M="$(brightnessctl --device='intel_backlight' | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)" K="$(brightnessctl --device='smc::kbd_backlight' | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)" if [[ "$2" = "monitor" ]]; then echo "$M%"; fi if [[ "$2" = "keyboard" ]]; then echo "$K%"; fi ;; *) printf "Monitor:\n" brightnessctl --device='intel_backlight' | tail -n 3 | sed 's/\t/- /g' printf "Keyboard:\n" brightnessctl --device='smc::kbd_backlight' | tail -n 3 | sed 's/\t/- /g' ;; esac