only send when track changes
This commit is contained in:
@ -1,10 +1,23 @@
|
||||
#!/bin/sh
|
||||
ID=$(mpc current -f %id% )
|
||||
mpc idleloop |
|
||||
while read event; do
|
||||
if [[ $event == "player" ]]; then
|
||||
dunstctl close-all
|
||||
TITLE=$(mpc status -f %title% | awk 'NR==1')
|
||||
ARTIST=$(mpc status -f %artist% | awk 'NR==1')
|
||||
while read -r event; do
|
||||
# if a player event is not output, skip rest of loop
|
||||
[ "$event" = "player" ] || continue
|
||||
|
||||
# get current id to compare to init id
|
||||
NEW_ID=$(mpc current -f %id%)
|
||||
# if a player even is output, but the track has not changed, skip rest of loop
|
||||
[ "$NEW_ID" != "$ID" ] || continue
|
||||
ID=$NEW_ID
|
||||
|
||||
dunstctl close-all
|
||||
TITLE=$(mpc current -f %title%)
|
||||
ARTIST=$(mpc current -f %artist%)
|
||||
|
||||
if [ -z $TITLE ]; then
|
||||
notify-send "End of queue or queue empty" -i :
|
||||
else
|
||||
notify-send "$TITLE" "$ARTIST" -i :
|
||||
fi
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user