Update volume script to proper standard
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# General audio management
|
||||
|
||||
RELOAD="$HOME/.scripts/panel/volume.sh"
|
||||
|
||||
[ -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*) pamixer --increase "$NUM" ; $RELOAD ;;
|
||||
d*) pamixer --decrease "$NUM" ; $RELOAD ;;
|
||||
s*) pamixer --set-volume "$NUM" ; $RELOAD ;;
|
||||
t*) [ "$(pamixer --get-mute)" = "false" ] && \
|
||||
pamixer --mute || pamixer --unmute ; $RELOAD ;;
|
||||
m*) pamixer --mute ; $RELOAD ;;
|
||||
n*) pamixer --unmute ; $RELOAD ;;
|
||||
getv*) pamixer --get-volume ;;
|
||||
getm*) pamixer --get-mute ;;
|
||||
*) help ;;
|
||||
esac
|
||||
Executable
+109
@@ -0,0 +1,109 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Control the volume
|
||||
# Depends: pamixer
|
||||
|
||||
help() {
|
||||
B=$(tput bold)
|
||||
U=$(tput smul)
|
||||
N=$(tput sgr0)
|
||||
|
||||
cat << EOF
|
||||
${B}NAME${N}
|
||||
volctl.sh - control the volume
|
||||
|
||||
${B}SYNOPSIS${N}
|
||||
${B}volctl.sh${N} [${U}OPTION${N}] [${U}COMMAND${N}] [<${U}ARG${N}>]
|
||||
|
||||
${B}DESCRIPTION${N}
|
||||
${B}volctl.sh${N} uses pamixer to change the volume of the system.
|
||||
|
||||
Commands can be truncated, i.e. "${B}volctl.sh t${N}" for "${B}volctl.sh toggle${N}"
|
||||
Arguments need to be of numeric value.
|
||||
|
||||
${B}OPTIONS${N}
|
||||
${B}-h${N} Display usage message and exit.
|
||||
|
||||
${B}COMMANDS${N}
|
||||
${B}i${N} <${U}AMOUNT${N}>, ${B}inc${N} <${U}AMOUNT${N}>
|
||||
Increase volume by ${U}AMOUNT${N}, default of 2.
|
||||
|
||||
${B}d${N} <${U}AMOUNT${N}>, ${B}dec${N} <${U}AMOUNT${N}>
|
||||
Decrease volume by ${U}AMOUNT${N}, default of 2.
|
||||
|
||||
${B}s${N} <${U}LEVEL${N}>, ${B}set${N} <${U}LEVEL${N}>
|
||||
Set volume to ${U}LEVEL${N}, default of 0.
|
||||
|
||||
${B}t${N}, ${B}toggle${N}
|
||||
Toggle mute.
|
||||
|
||||
${B}m${N}, ${B}mute${N}
|
||||
Mute volume.
|
||||
|
||||
${B}u${N}, ${B}unmute${N}
|
||||
Unmute volume.
|
||||
|
||||
${B}getv${N}, ${B}getvolume${N}
|
||||
Get volume level.
|
||||
|
||||
${B}getm${N}, ${B}getmute${N}
|
||||
Get mute status.
|
||||
EOF
|
||||
}
|
||||
|
||||
# Exit if no option is provided
|
||||
[ "$#" -eq 0 ] && help && exit 1
|
||||
|
||||
SCRIPT="$(basename "$0")"
|
||||
|
||||
# Option handling
|
||||
while getopts ':h?' opt; do
|
||||
case $opt in
|
||||
h)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
\?)
|
||||
echo "$SCRIPT: invalid option '$OPTARG'"
|
||||
echo "Try '$SCRIPT -h' for more information."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Command handling
|
||||
shift $((OPTIND - 1))
|
||||
case "$1" in
|
||||
i*)
|
||||
NUM=${2:-2}
|
||||
pamixer --increase "$NUM"
|
||||
;;
|
||||
d*)
|
||||
NUM=${2:-2}
|
||||
pamixer --decrease "$NUM"
|
||||
;;
|
||||
s*)
|
||||
NUM=${2:-0}
|
||||
pamixer --set-volume "$NUM"
|
||||
;;
|
||||
t*)
|
||||
pamixer --toggle-mute
|
||||
;;
|
||||
m*)
|
||||
pamixer --mute
|
||||
;;
|
||||
n*)
|
||||
pamixer --unmute
|
||||
;;
|
||||
getv*)
|
||||
pamixer --get-volume
|
||||
;;
|
||||
getm*)
|
||||
pamixer --get-mute
|
||||
;;
|
||||
*)
|
||||
echo "$SCRIPT: invalid command '$1'"
|
||||
echo "Try '$SCRIPT -h' for more information."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user