blob: 1ee75a07326c076b7ddb556405fd1a2fe9fa0256 (
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
39
40
41
42
43
44
45
46
47
|
#!/bin/bash
WIDTH=100
volume_change() {
source "$CONFIG_DIR/icons.sh"
case $INFO in
[6-9][0-9]|100) ICON=$VOLUME_100
;;
[3-5][0-9]) ICON=$VOLUME_66
;;
[1-2][0-9]) ICON=$VOLUME_33
;;
[1-9]) ICON=$VOLUME_10
;;
0) ICON=$VOLUME_0
;;
*) ICON=$VOLUME_100
esac
sketchybar --set volume_icon label=$ICON \
--set $NAME slider.percentage=$INFO
INITIAL_WIDTH="$(sketchybar --query $NAME | jq -r ".slider.width")"
if [ "$INITIAL_WIDTH" -eq "0" ]; then
sketchybar --animate tanh 30 --set $NAME slider.width=$WIDTH
fi
sleep 2
# Check wether the volume was changed another time while sleeping
FINAL_PERCENTAGE="$(sketchybar --query $NAME | jq -r ".slider.percentage")"
if [ "$FINAL_PERCENTAGE" -eq "$INFO" ]; then
sketchybar --animate tanh 30 --set $NAME slider.width=0
fi
}
mouse_clicked() {
osascript -e "set volume output volume $PERCENTAGE"
}
case "$SENDER" in
"volume_change") volume_change
;;
"mouse.clicked") mouse_clicked
;;
esac
|