#!/bin/sh # quit if another instance is already running [ -z $(pidof mpd-monitor) ] && echo "mpd-monitor already running";exit ID=$(mpc current -f %id% ) mpc idleloop | 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 event 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