This is a collection of dotfiles and scripts for my bspwm setup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.1 KiB

#!/bin/sh
# General audio management
RELOAD="pkill -RTMIN+1 i3blocks"
[ -z "$2" ] && NUM="2" || NUM="$2"
help() {
B=$(tput bold)
N=$(tput sgr0)
cat << EOF
${B}NAME${N}
mediacontrol - control the volume of the system
${B}SYNOPSIS${N}
./mediacontrol.sh <command> [<arg1>]
${B}DESCRIPTION${N}
Commands can be truncated, i.e.
\`${B}mediacontrol.sh t${N}\` for \`${B}mediacontrol.sh toggle${N}\`
Arguments need to be of numeric value.
${B}COMMANDS${N}
${B}u*, up <amount>${N}
${B}d*, down <amount>${N}
${B}s*, set <volume>${N}
${B}t*, toggle${N}
${B}m*, mute${N}
${B}n*, notmute${N}
${B}getv*, getvolume${N}
${B}getm*, getmute${N}
EOF
}
case "$1" in
u*) pulsemixer --change-volume +"$NUM" --max-volume 100 ; $RELOAD ;;
d*) pulsemixer --change-volume -"$NUM" --max-volume 100 ; $RELOAD ;;
s*) pulsemixer --set-volume "$NUM" --max-volume 100 ; $RELOAD ;;
t*) pulsemixer --toggle-mute ; $RELOAD ;;
m*) pulsemixer --mute ; $RELOAD ;;
n*) pulsemixer --unmute ; $RELOAD ;;
getv*) pulsemixer --get-volume | awk '{print $1}' ;;
getm*) pulsemixer --get-mute ;;
*) help ;;
esac