mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
72 lines
1.5 KiB
Text
72 lines
1.5 KiB
Text
|
#!/bin/sh
|
||
|
|
||
|
# pianobarctl
|
||
|
# This script uses a specified named pipe (FIFO) to control pianobar.
|
||
|
# Written by Phillip Warner
|
||
|
|
||
|
VERSION=0.1
|
||
|
|
||
|
# This is the FIFO that is used to control pianobar
|
||
|
# It must exist before running pianobar in order for remote control to work
|
||
|
PIANOBARCTL=~/.config/pianobar/ctl
|
||
|
|
||
|
# Control Functions
|
||
|
NEXT="n"
|
||
|
PLAYPAUSE="p"
|
||
|
LOVE="+"
|
||
|
BAN="-"
|
||
|
|
||
|
set -e
|
||
|
|
||
|
usage() {
|
||
|
echo "$(basename $0) $VERSION - by Phillip Warner"
|
||
|
echo "Usage:"
|
||
|
echo " $0 [OPTION]"
|
||
|
echo "Only one parameter can be used at a time."
|
||
|
echo "The script's parameters are:"
|
||
|
echo " -h, --help Help"
|
||
|
echo " -n, --next Play Next"
|
||
|
echo " -p, --pause Play / Pause"
|
||
|
echo " -x, --play Play / Pause"
|
||
|
echo " -l, --love Love Song"
|
||
|
echo " -b, --ban Ban Song"
|
||
|
echo
|
||
|
echo "Current pianobar PIDs (euid=$(id -u)):"
|
||
|
pgrep -u $(id -u) pianobar$
|
||
|
}
|
||
|
|
||
|
# Make sure the FIFO exists
|
||
|
if ! [ -p $PIANOBARCTL ]
|
||
|
then
|
||
|
echo "ERROR. FIFO $PIANOBARCTL does not exist. Try running mkfifo $PIANOBARCTL and then restarting pianobar first. Aborting..."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Make sure pianobar is running and that there is no more than one arg
|
||
|
if ! (pgrep -u $(id -u) pianobar$ &> /dev/null) || [ $2 ]
|
||
|
then
|
||
|
usage
|
||
|
elif [ $1 ]
|
||
|
then
|
||
|
case $1 in
|
||
|
-h|--help ) usage
|
||
|
;;
|
||
|
-n|--next ) echo -n $NEXT > $PIANOBARCTL
|
||
|
;;
|
||
|
-p|--pause ) echo -n $PLAYPAUSE > $PIANOBARCTL
|
||
|
;;
|
||
|
-x|--play ) echo -n $PLAYPAUSE > $PIANOBARCTL
|
||
|
;;
|
||
|
-l|--love ) echo -n $LOVE > $PIANOBARCTL
|
||
|
;;
|
||
|
-b|--ban ) echo -n $BAN > $PIANOBARCTL
|
||
|
;;
|
||
|
* ) usage
|
||
|
;;
|
||
|
esac
|
||
|
else
|
||
|
usage
|
||
|
fi
|
||
|
|
||
|
exit
|