blob: 667d0e870c508d1f9a47bce87beb61516f370100 (
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
|
#!/usr/bin/env bash
source "$CONFIG_DIR/colors.sh"
source "$CONFIG_DIR/icons.sh"
STEP=5 # % per scroll tick (Waybar used scroll-step: 1 — bump this down to taste)
if [ "$SENDER" = "mouse.scrolled" ]; then
CUR="$(osascript -e 'output volume of (get volume settings)')"
case "$SCROLL_DELTA" in
-*) VOL=$(( CUR - STEP )) ;; # scroll down
*) VOL=$(( CUR + STEP )) ;; # scroll up
esac
[ "$VOL" -lt 0 ] && VOL=0
[ "$VOL" -gt 100 ] && VOL=100
osascript -e "set volume output volume $VOL"
elif [ "$SENDER" = "volume_change" ]; then
VOL="$INFO"
else
VOL="$(osascript -e 'output volume of (get volume settings)')"
fi
MUTED="$(osascript -e 'output muted of (get volume settings)')"
if [ "$MUTED" = "true" ] || { [ "$VOL" -eq 0 ] 2>/dev/null; }; then
sketchybar --set "$NAME" label="$VOL_MUTE" # format-muted
exit 0
fi
if [ "$VOL" -ge 66 ]; then ICON=$VOL_3
elif [ "$VOL" -ge 33 ]; then ICON=$VOL_2
elif [ "$VOL" -ge 1 ]; then ICON=$VOL_1
else ICON=$VOL_0
fi
# Waybar: {volume} {icon}
sketchybar --set "$NAME" label="$VOL $ICON"
|