move volumesh to correct folder
This commit is contained in:
		
							parent
							
								
									611a41562e
								
							
						
					
					
						commit
						07c0a367e7
					
				
					 3 changed files with 1 additions and 2 deletions
				
			
		
							
								
								
									
										139
									
								
								scripts/volumesh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										139
									
								
								scripts/volumesh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,139 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -xe
 | 
			
		||||
 | 
			
		||||
# depends on: awk, pactl, pacmd, notify-send
 | 
			
		||||
 | 
			
		||||
MAX_VOL=150
 | 
			
		||||
STEP=10
 | 
			
		||||
 | 
			
		||||
notify() {
 | 
			
		||||
    volume=$(get_vol_$TARGET)
 | 
			
		||||
 | 
			
		||||
    if is_muted_$TARGET; then
 | 
			
		||||
        s="Muted"
 | 
			
		||||
    else
 | 
			
		||||
        s="Volume"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    s=$(echo "${TARGET} ${s}" | sed 's/^\(.\)/\U\1/')
 | 
			
		||||
 | 
			
		||||
    notify-send "${s}" "${volume}%" \
 | 
			
		||||
        --app-name=volumesh \
 | 
			
		||||
        --hint=int:value:"$volume"
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
round() {
 | 
			
		||||
    awk '{
 | 
			
		||||
        print int($1/'$STEP')*'$STEP';
 | 
			
		||||
    }'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
round_vol() {
 | 
			
		||||
    rounded=$(get_vol_$TARGET | round)
 | 
			
		||||
    newvol=$(min $MAX_VOL $rounded)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
min() {
 | 
			
		||||
    printf '%i\n' ${@} | sort -n | head -n1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Pulse{{{
 | 
			
		||||
get_vol_system() {
 | 
			
		||||
    pamixer --get-volume
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
is_muted_system() {
 | 
			
		||||
    pamixer --get-mute >/dev/null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
change_vol_system() {
 | 
			
		||||
    pamixer "-$1" "$(min 120 $2)"
 | 
			
		||||
    round_vol
 | 
			
		||||
    pamixer --set-volume "${newvol}"
 | 
			
		||||
    if
 | 
			
		||||
        test -n "$VOLUME_CHANGE_SOUND"
 | 
			
		||||
    then
 | 
			
		||||
        paplay "$VOLUME_CHANGE_SOUND"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
toggle_mute_system() {
 | 
			
		||||
    pactl set-sink-mute @DEFAULT_SINK@ toggle
 | 
			
		||||
}
 | 
			
		||||
#}}}
 | 
			
		||||
# Mpd {{{
 | 
			
		||||
 | 
			
		||||
get_vol_mpd() {
 | 
			
		||||
    env LC_ALL=C mpc vol |
 | 
			
		||||
        sed -e 's/^.*://g' -e 's/%.*$//g' -e 's/ //g'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
is_muted_mpd() {
 | 
			
		||||
    env LC_ALL=C mpc status | grep '\[paused\]' 1>/dev/null
 | 
			
		||||
}
 | 
			
		||||
change_vol_mpd() {
 | 
			
		||||
    case $1 in
 | 
			
		||||
        d)
 | 
			
		||||
            op="-";;
 | 
			
		||||
        i)
 | 
			
		||||
            op="+";;
 | 
			
		||||
    esac
 | 
			
		||||
    mpc vol "${op}${2}" &>/dev/null
 | 
			
		||||
    round_vol
 | 
			
		||||
    mpc vol "${newvol}" &>/dev/null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
toggle_mute_mpd() {
 | 
			
		||||
    mpc toggle
 | 
			
		||||
}
 | 
			
		||||
#}}}
 | 
			
		||||
usage() {
 | 
			
		||||
    local CNAME=$(basename $0)
 | 
			
		||||
    echo "${CNAME} [-m][-di <amount>]"
 | 
			
		||||
    echo "${CNAME} [-m][-t]"
 | 
			
		||||
    echo ""
 | 
			
		||||
    echo "Options:"
 | 
			
		||||
    echo "  -m --mpd          Target mpd instead of PulseAudio"
 | 
			
		||||
    echo "  -i --increase     <amount> of volume to increase"
 | 
			
		||||
    echo "  -d --decrease     <amount> of volume to decrease"
 | 
			
		||||
    echo "  -t --toggle       Mute/Unmute target"
 | 
			
		||||
    echo "  -h --help         Show This help message"
 | 
			
		||||
 | 
			
		||||
    exit "$1"
 | 
			
		||||
}
 | 
			
		||||
TARGET=system
 | 
			
		||||
 | 
			
		||||
while [ $# -gt 0 ]; do
 | 
			
		||||
    case $1 in
 | 
			
		||||
        -m | --mpd)
 | 
			
		||||
            TARGET=mpd
 | 
			
		||||
            shift
 | 
			
		||||
            ;;
 | 
			
		||||
        -i | --increase)
 | 
			
		||||
            shift
 | 
			
		||||
            change_vol_$TARGET i $1
 | 
			
		||||
            shift
 | 
			
		||||
            ;;
 | 
			
		||||
        -d | --decrease)
 | 
			
		||||
            shift
 | 
			
		||||
            change_vol_$TARGET d $1
 | 
			
		||||
            shift
 | 
			
		||||
            ;;
 | 
			
		||||
        -t | --toggle)
 | 
			
		||||
            toggle_mute_$TARGET
 | 
			
		||||
            shift
 | 
			
		||||
            ;;
 | 
			
		||||
        -h | --help)
 | 
			
		||||
            usage 0
 | 
			
		||||
            ;;
 | 
			
		||||
        *)
 | 
			
		||||
            usage 1
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
notify
 | 
			
		||||
 | 
			
		||||
# vim: fdm=marker
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue