diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/mpd-pulse | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/scripts/mpd-pulse b/scripts/mpd-pulse new file mode 100755 index 0000000..afb33e0 --- /dev/null +++ b/scripts/mpd-pulse @@ -0,0 +1,62 @@ +# !/usr/bin/env bash + +set -euo pipefail +IFS=$'\n\t' + +host="$(hostname)" + +function connect () +{ + if [[ $1 != "${host}"* ]] && [[ $1 != localhost* ]]; then + echo "Connecting with host \"$1\" using pax11publish." + pax11publish -S $1 -e + fi +} + +function disconnect () +{ + if [[ $1 != "${host}"* ]] && [[ $1 != localhost* ]]; then + echo "Disconnecting from host \"$1\" using pax11publish." + pax11publish -r + fi +} + +function print_help () +{ + echo "Use this script as follows:" + echo "Connect to host with mpd-pulse -c hostname" + echo "Disconnect from host with mpd-pulse -d hostname" + echo "If your given hostname is localhost or matches your local machine, no action will be taken." +} + +if [ ${#@} -gt 0 ]; then + while getopts 'c:d:h' flag; do + case "${flag}" in + c) + if [ ! -z "${OPTARG}" ]; then + connect "${OPTARG}" + else + exit 1 + fi + ;; + d) + if [ ! -z "${OPTARG}" ]; then + disconnect "${OPTARG}" + else + exit 1 + fi + ;; + h) + print_help + ;; + *) + echo "Error. Unrecognized option: ${flag}." + exit 1 + ;; + esac + done +else + print_help +fi + +exit 0 |