43 lines
1.4 KiB
Bash
43 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# File : osd.sh
|
|
# Author : Jeff LANCE <email@jefflance.me>
|
|
# Date : 27.04.2020
|
|
# Last Modified Date: 27.04.2020
|
|
# Last Modified By : Jeff LANCE <email@jefflance.me>
|
|
MUSIC_DIR=${HOME}/Musique #path to your music dir
|
|
COVER=/tmp/cover.jpg
|
|
|
|
title="$(mpc -p 6600 --format %title% current)"
|
|
artist="$(mpc -p 6600 --format %artist% current)"
|
|
album="$(mpc -p 6600 --format %album% current)"
|
|
|
|
text="\n<b>${title}</b>\n<i>${album}</i>"
|
|
|
|
get_cover
|
|
|
|
# notify-send -t 30000 -i "${HOME}/.icons/Shadow/64x64/apps/mplayer.svg" "${artist}" "${text}"
|
|
notify-send -t 10000 -i "${COVER}" "${artist}" "${text}"
|
|
|
|
function get_cover {
|
|
file="$(mpc -p 6600 --format %file% current | awk -F: '{print $3}' | sed 's/%20/ /g')"
|
|
album_dir="${file%/*}"
|
|
[[ -z "$album_dir" ]] && exit 1
|
|
album_dir="$MUSIC_DIR/$album_dir"
|
|
|
|
covers="$(find "$album_dir" -type d -exec find {} -maxdepth 1 -type f -iregex ".*/.*\(${album}\|cover\|folder\|artwork\|front\).*[.]\(jpe?g\|png\|gif\|bmp\)" \; )"
|
|
src="$(echo -n "$covers" | head -n1)"
|
|
rm -f "$COVER"
|
|
if [[ -n "$src" ]] ; then
|
|
#resize the image's width to 300px
|
|
convert "$src" -resize 300x "$COVER"
|
|
if [[ -f "$COVER" ]] ; then
|
|
#scale down the cover to 30% of the original
|
|
printf "\e]20;${COVER};50x50+0+00:op=keep-aspect\a"
|
|
else
|
|
reset_background
|
|
fi
|
|
else
|
|
reset_background
|
|
fi
|
|
}
|