config/.local/bin/status-vol

42 lines
950 B
Bash
Executable File

#!/bin/sh
# Prints the current volume or  if muted.
case $BUTTON in
1) setsid -f "$TERMINAL" -e pulsemixer ;;
2) wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle ;;
4) wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ ;;
5) wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- ;;
3) notify-send "Volume module" "Shows current volume
- Shows volume,  if muted.
- Middle click to mute.
- Scroll to change." ;;
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
esac
vol="$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
# If muted, print  and exit.
[ "$vol" != "${vol%\[MUTED\]}" ] && echo " " && exit
vol="${vol#Volume: }"
split() {
# For ommiting the . without calling and external program.
IFS=$2
set -- $1
printf '%s' "$@"
}
vol="$(split "$vol" ".")"
vol="${vol##0}"
case 1 in
$((10#$vol >= 70)) ) icon=" " ;;
$((10#$vol >= 30)) ) icon=" " ;;
$((10#$vol >= 1)) ) icon=" " ;;
* ) echo " " && exit ;;
esac
echo "$icon $vol%"