From f3ef116c1ded619adaa41d5bf94e414bbabd4a9b Mon Sep 17 00:00:00 2001 From: David Runge Date: Fri, 3 Jun 2016 23:50:04 +0200 Subject: user/mpd{@,-new}.service: Unifying all template based approaches in mpd@.service. scripts/mpd-pulse: Adding script to start/stop a pax11publish connection to the given host, if it's not an extension of hostname or localhost. --- scripts/mpd-pulse | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 scripts/mpd-pulse (limited to 'scripts/mpd-pulse') 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 -- cgit v1.2.3-70-g09d2