#!/bin/sh 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 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