aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--moc/.config/moc/config4
-rwxr-xr-xmoc/.local/bin/mocpnotify28
-rwxr-xr-xmoc/.local/bin/mocpnotify-next31
-rwxr-xr-xmoc/.local/bin/mocpnotify-stop31
4 files changed, 88 insertions, 6 deletions
diff --git a/moc/.config/moc/config b/moc/.config/moc/config
index 449bc02..aba05bb 100644
--- a/moc/.config/moc/config
+++ b/moc/.config/moc/config
@@ -668,7 +668,7 @@ Layout1 = directory(0,0,30%,100%):playlist(30%,0,FILL,100%)
#
# Example: OnSongChange = "/home/jack/.moc/myscript %a %r"
#
-OnSongChange = "/home/aaoth/.local/bin/mocpnotify next %a %t %d"
+OnSongChange = "/home/aaoth/.local/bin/mocpnotify-next %a %t %d"
# If RepeatSongChange is 'yes' then MOC will execute the command every time
# a song starts playing regardless of whether or not it is just repeating.
@@ -678,7 +678,7 @@ OnSongChange = "/home/aaoth/.local/bin/mocpnotify next %a %t %d"
# Run the OnStop command (full path, no arguments) when MOC changes state
# to stopped (i.e., when user stopped playing or changes a song).
-OnStop = "/home/aaoth/.local/bin/mocpnotify stop"
+OnStop = "/home/aaoth/.local/bin/mocpnotify-stop"
# This option determines which song to play after finishing all the songs
# in the queue. Setting this to 'yes' causes MOC to play the song which
diff --git a/moc/.local/bin/mocpnotify b/moc/.local/bin/mocpnotify
index f3aa72c..4626e22 100755
--- a/moc/.local/bin/mocpnotify
+++ b/moc/.local/bin/mocpnotify
@@ -1,11 +1,31 @@
-#!/bin/sh
+#!/bin/sh -ex
-case $1 in
+_mocp_args="-M $HOME/.config/moc"
+_mocp_tmp="/tmp/mocp"
+[ -d "$_mocp_tmp" ] || mkdir -p "$_mocp_tmp"
+
+_mocp_write() {
+ mocp $_mocp_args -Q "%$1" > "$_mocp_tmp/$1.txt"
+}
+
+_mocp_clear() {
+ echo "no song playing" > "$_mocp_tmp/song.txt"
+ echo "" > "$_mocp_tmp/artist.txt"
+ echo "" > "$_mocp_tmp/album.txt"
+}
+
+case $(basename $0 | cut -d- -f2) in
"next")
- notify-send -a mocp -t 3000 "now playing" "$2 - $3 [$4]"
+ notify-send -a mocp -t 3000 "now playing" "$1 - $2 [$3]"
+ _mocp_write artist
+ _mocp_write album
+ _mocp_write song
;;
"stop")
notify-send -a mocp -t 3000 "mocp" "stopped playing"
+ _mocp_clear
+ ;;
+ *)
+ #passthrough
;;
esac
-
diff --git a/moc/.local/bin/mocpnotify-next b/moc/.local/bin/mocpnotify-next
new file mode 100755
index 0000000..4626e22
--- /dev/null
+++ b/moc/.local/bin/mocpnotify-next
@@ -0,0 +1,31 @@
+#!/bin/sh -ex
+
+_mocp_args="-M $HOME/.config/moc"
+_mocp_tmp="/tmp/mocp"
+[ -d "$_mocp_tmp" ] || mkdir -p "$_mocp_tmp"
+
+_mocp_write() {
+ mocp $_mocp_args -Q "%$1" > "$_mocp_tmp/$1.txt"
+}
+
+_mocp_clear() {
+ echo "no song playing" > "$_mocp_tmp/song.txt"
+ echo "" > "$_mocp_tmp/artist.txt"
+ echo "" > "$_mocp_tmp/album.txt"
+}
+
+case $(basename $0 | cut -d- -f2) in
+ "next")
+ notify-send -a mocp -t 3000 "now playing" "$1 - $2 [$3]"
+ _mocp_write artist
+ _mocp_write album
+ _mocp_write song
+ ;;
+ "stop")
+ notify-send -a mocp -t 3000 "mocp" "stopped playing"
+ _mocp_clear
+ ;;
+ *)
+ #passthrough
+ ;;
+esac
diff --git a/moc/.local/bin/mocpnotify-stop b/moc/.local/bin/mocpnotify-stop
new file mode 100755
index 0000000..4626e22
--- /dev/null
+++ b/moc/.local/bin/mocpnotify-stop
@@ -0,0 +1,31 @@
+#!/bin/sh -ex
+
+_mocp_args="-M $HOME/.config/moc"
+_mocp_tmp="/tmp/mocp"
+[ -d "$_mocp_tmp" ] || mkdir -p "$_mocp_tmp"
+
+_mocp_write() {
+ mocp $_mocp_args -Q "%$1" > "$_mocp_tmp/$1.txt"
+}
+
+_mocp_clear() {
+ echo "no song playing" > "$_mocp_tmp/song.txt"
+ echo "" > "$_mocp_tmp/artist.txt"
+ echo "" > "$_mocp_tmp/album.txt"
+}
+
+case $(basename $0 | cut -d- -f2) in
+ "next")
+ notify-send -a mocp -t 3000 "now playing" "$1 - $2 [$3]"
+ _mocp_write artist
+ _mocp_write album
+ _mocp_write song
+ ;;
+ "stop")
+ notify-send -a mocp -t 3000 "mocp" "stopped playing"
+ _mocp_clear
+ ;;
+ *)
+ #passthrough
+ ;;
+esac