huemenu (961B)
1 #!/bin/bash 2 set -euo pipefail 3 4 if ! mode=$(echo -e "work\nsleep" | dmenu "$@"); then 5 exit 1 6 fi 7 [ -z "$mode" ] && exit 1 8 9 if ! color=$(echo -e "relax\nconcentrate\nreading\ndimmed\nskip\noff" | dmenu "$@"); then 10 exit 1 11 fi 12 [ -z "$color" ] && exit 1 13 14 brightness="skip" 15 if [ "$color" != "off" ]; then 16 if ! brightness=$(seq 100 -10 10 | sed 's/$/%/' | dmenu "$@"); then 17 exit 1 18 fi 19 [ -z "$brightness" ] && exit 1 20 fi 21 22 case "$mode" in 23 work) light_id=2 ;; 24 sleep) light_id=1 ;; 25 *) 26 echo "Error: Unknown mode '$mode'" >&2 27 exit 1 28 ;; 29 esac 30 31 if [ "$color" = "off" ]; then 32 hue "$light_id" off || echo "Warning: Failed to turn off light $light_id" >&2 33 else 34 if [ "$color" != "skip" ]; then 35 hue light "$light_id" "$color" || echo "Warning: Failed to set color '$color' for light $light_id" >&2 36 fi 37 if [ "$brightness" != "skip" ]; then 38 hue "$light_id" brightness "$brightness" || echo "Warning: Failed to set brightness '$brightness' for light $light_id" >&2 39 fi 40 fi