dotfiles

regexghost dotfiles and scripts
git clone https://git.regexghost.com/dotfiles.git
Log | Files | Refs | README

volume.sh (1398B)


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