72 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
################################
 | 
						|
# Shows info about sound/volume.
 | 
						|
# Allows simple volume controls.
 | 
						|
#
 | 
						|
# Thanks to [@EliteTK](https://gist.github.com/EliteTK/36d061fa24372fb70312),
 | 
						|
# for the big speed gain when switching to `ponymix`
 | 
						|
#
 | 
						|
# Dependencies:
 | 
						|
# - ponymix
 | 
						|
# - ttf-font-icons
 | 
						|
#
 | 
						|
# @return {Number}: Current volume
 | 
						|
################################
 | 
						|
 | 
						|
dir=$(dirname $0)
 | 
						|
source $dir/util.sh
 | 
						|
 | 
						|
full=""
 | 
						|
short=""
 | 
						|
status=0
 | 
						|
 | 
						|
step=${BLOCK_INSTANCE:-5}
 | 
						|
 | 
						|
getVolume() {
 | 
						|
	ponymix get-volume
 | 
						|
}
 | 
						|
 | 
						|
isMuted() {
 | 
						|
	ponymix is-muted
 | 
						|
}
 | 
						|
 | 
						|
case $BLOCK_BUTTON in
 | 
						|
	# right click
 | 
						|
	# mute/unmute
 | 
						|
	3) ponymix toggle >/dev/null ;;
 | 
						|
 | 
						|
	# scroll up
 | 
						|
	# raise volume
 | 
						|
	4) ponymix increase $step >/dev/null ;;
 | 
						|
 | 
						|
	# scroll down
 | 
						|
	# lower volume
 | 
						|
	5) ponymix decrease $step >/dev/null ;;
 | 
						|
esac
 | 
						|
 | 
						|
vol=$(getVolume)
 | 
						|
 | 
						|
# level-based icon
 | 
						|
if (( $vol == 0 )); then
 | 
						|
	icon=""
 | 
						|
elif (( $vol < 34 )); then
 | 
						|
	icon=""
 | 
						|
elif (( $vol < 67 )); then
 | 
						|
	icon=""
 | 
						|
else
 | 
						|
	icon=""
 | 
						|
fi
 | 
						|
 | 
						|
# determine mute status
 | 
						|
if isMuted; then
 | 
						|
	status=33
 | 
						|
fi
 | 
						|
 | 
						|
full="$icon $vol%"
 | 
						|
short=$vol
 | 
						|
 | 
						|
echo $full
 | 
						|
echo $short
 | 
						|
exit $status
 |