#!/usr/bin/env sh ###################################################################### # @author : swytch (adapted from Luke Smith - lukesmith.xyz) # @file : sb-music # @license : GPLv3 # @created : Saturday Feb 13, 2021 18:05:21 CET # # @description : music block for dwmblocks ###################################################################### unicode() { sed "s/[‘’]/'/g;s/[“”]/\"/g"; } format() { sed "s/^volume:n\/a.*//g;/^volume:/d;s/\\&/&/g;s/\\[paused\\].*//g;s/\\[playing\\].*//g"; } mpc="$(mpc --format "%albumartist% ~ %artist% ~ %title%")" title="$(echo "$mpc" | head -n1 | cut -d'~' -f3 | unicode)" [ "$(echo "$title" | wc -c)" -gt 18 ] && title="$(printf "%.15s..." "$title")" artist="$(echo "$mpc" | head -n1 | cut -d'~' -f1 | unicode)" [ "Various Artists " = "$artist" ] && artist="$(echo "$mpc" | head -n1 | cut -d'~' -f2 | unicode)" [ "$(echo "$artist" | wc -c)" -gt 18 ] && artist="$(printf "%.15s..." "$artist")" status="$(echo "$mpc" | tail -n2 | format)" pgrep -f sb-mpdup >/dev/null 2>&1 || sb-mpdup >/dev/null 2>&1 & [ -n "$status" ] && printf " %s %s-%s " "$status" "$artist" "$title"