aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/sb-volume
blob: 06dd23ae1268220d88e778c25b4b344f2c910366 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh
var=$1
vol="$(wpctl get-volume @DEFAULT_SINK@)"

split() {
	# For ommiting the . without calling and external program.
	IFS=$2
	set -- $1
	printf '%s' "$@"
}

sig() {
  if [ ! -n "$var" ]; then
    if [ -n "$flag" ] ; then
      echo "$icon"
    else
      case 1 in
	      $((vol >= 70)) ) icon="🔊" ;;
	      $((vol >= 30)) ) icon="🔉" ;;
	      $((vol >= 1)) ) icon="🔈" ;;
	      * ) echo 🔇 && exit ;;
      esac
      echo "$icon $vol%"
    fi
  else
    if [ "$var" -eq 3 ]; then
      notify-send "📢 Volume module" "\- Shows volume 🔊, 🔇 if muted.
- Middle click to mute.
- Scroll to change."
    fi
  fi
  exit
}

[ "$vol" != "${vol%\[MUTED\]}" ] && icon="🔇" && flag=1 && sig
vol="${vol#Volume: }"
vol="$(printf "%.0f" "$(split "$vol" ".")")"
sig