diff --git a/modules/home-manager/audio/cmus/files/notify.sh b/modules/home-manager/audio/cmus/files/notify.sh
index f22f261..afc5b1d 100755
--- a/modules/home-manager/audio/cmus/files/notify.sh
+++ b/modules/home-manager/audio/cmus/files/notify.sh
@@ -3,73 +3,73 @@
NOTIFICATION_PROGRAM='mako'
process_args() {
- while [ "$#" -ge 2 ]; do
- printf -v "$1" "%s" "$2"
- shift
- shift
- done
+ while [ "$#" -ge 2 ]; do
+ printf -v "$1" "%s" "$2"
+ shift
+ shift
+ done
}
escape() {
- local string
- string=$1
- string=${string//"<"/"<"}
- string=${string//">"/">"}
- string=${string//"&"/"&"}
- printf "%s" "$string"
+ local string
+ string=$1
+ string=${string//"&"/"&"}
+ string=${string//"<"/"<"}
+ string=${string//">"/">"}
+ printf "%s" "$string"
}
# Just quit this application if our notification program does not exist
# With this notification will not be displayed on my work laptop. Avoid
# notification pollution!
check_notification_program() {
- if ! command -v "$NOTIFICATION_PROGRAM"; then
- exit 0
- fi
+ if ! command -v "$NOTIFICATION_PROGRAM"; then
+ exit 0
+ fi
}
main() {
- options=(--app-name=cmus --transient -u low)
- filename=${file##*/}
- path=${file%/*}
+ options=(--app-name=cmus --transient -u low)
+ filename=${file##*/}
+ path=${file%/*}
- if [[ -f "${path}/cover.png" ]]; then
- options+=(-i "${path}/cover.png")
+ if [[ -f "${path}/cover.png" ]]; then
+ options+=(-i "${path}/cover.png")
+ fi
+
+ if [[ -f "${path}/cover.jpg" ]]; then
+ options+=(-i "${path}/cover.jpg")
+ fi
+
+ ## Get title or filename
+ title=${title:-$filename}
+ if [[ ${#title} -gt 25 ]]; then
+ title="${title:0:24}…"
+ fi
+ title="$(escape "$title")"
+
+ if [ -n "$artist" ]; then
+ if [[ ${#artist} -gt 22 ]]; then
+ artist="${artist:0:21}…"
fi
+ printf -v l_artist "by %s" "$(escape "$artist")"
+ fi
- if [[ -f "${path}/cover.jpg" ]]; then
- options+=(-i "${path}/cover.jpg")
+ if [ -n "$date" ]; then
+ date="${date%%-*}"
+ fi
+
+ # Get Album
+ if [ -n "$album" ]; then
+ if [[ ${#album} -gt 19 ]]; then
+ album="${album:0:19}…"
fi
+ printf -v l_album "on %-20s %s" "$(escape "$album")" "${date:-}"
+ fi
- ## Get title or filename
- title=${title:-$filename}
- if [[ ${#title} -gt 25 ]]; then
- title="${title:0:24}…"
- fi
- title="$title"
-
- if [ -n "$artist" ]; then
- if [[ ${#artist} -gt 22 ]]; then
- artist="${artist:0:21}…"
- fi
- printf -v l_artist "by %s" "$(escape "$artist")"
- fi
-
- if [ -n "$date" ]; then
- date="${date%%-*}"
- fi
-
- # Get Album
- if [ -n "$album" ]; then
- if [[ ${#album} -gt 19 ]]; then
- album="${album:0:19}…"
- fi
- printf -v l_album "on %-20s %s" "$(escape "$album")" "${date:-}"
- fi
-
- printf -v l_intro "cmus:%s" "$(escape "$status")"
- printf -v body "%s\n" "${l_intro:-}" "${title:-}" "${l_artist:-}" "${l_album:-}"
- notify-send "${options[@]}" "useless" "$body"
+ printf -v l_intro "cmus:%s" "$(escape "$status")"
+ printf -v body "%s\n" "${l_intro:-}" "${title:-}" "${l_artist:-}" "${l_album:-}"
+ notify-send "${options[@]}" "useless" "$body"
}
check_notification_program