volume.sh (1136B)
1 #!/bin/sh 2 3 VOLUME_CACHE_FILE="$XDG_CACHE_HOME/volume" 4 MUTED_CACHE_FILE="$XDG_CACHE_HOME/muted" 5 6 volume_up () { 7 current_volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk ' /Volume/ {print $5}' | sed 's/%//g') 8 if [ $current_volume -gt 97 ]; then 9 pactl set-sink-volume @DEFAULT_SINK@ 100% 10 echo "100" > "$VOLUME_CACHE_FILE" 11 else 12 pactl set-sink-volume @DEFAULT_SINK@ +3% 13 echo $((current_volume+3)) > "$VOLUME_CACHE_FILE" 14 fi 15 } 16 17 volume_down () { 18 current_volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk ' /Volume/ {print $5}' | sed 's/%//g') 19 if [ $current_volume -lt 3 ]; then 20 pactl set-sink-volume @DEFAULT_SINK@ 0% 21 echo "0" > "$VOLUME_CACHE_FILE" 22 else 23 pactl set-sink-volume @DEFAULT_SINK@ -3% 24 echo $((current_volume-3)) > "$VOLUME_CACHE_FILE" 25 fi 26 } 27 28 toggle_mute () { 29 pactl set-sink-mute @DEFAULT_SINK@ toggle 30 pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}' > "$MUTED_CACHE_FILE" 31 } 32 33 if [ "$1" = "--up" ]; then 34 volume_up 35 elif [ "$1" = "--down" ]; then 36 volume_down 37 elif [ "$1" = "--toggle-mute" ]; then 38 toggle_mute 39 fi 40 41 barpid="$(cat ~/.cache/bar_pid)" 42 if ! [ "$barpid" = "" ]; then 43 kill -34 "$barpid" 44 fi