972abb9bf7
parse title and artist individually to prevent the final string to too long (and cut)
25 lines
1022 B
Bash
Executable File
25 lines
1022 B
Bash
Executable File
#!/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
|
|
######################################################################
|
|
|
|
|
|
format() { sed "s/^volume:n\/a.*//g;/^volume:/d;s/\\&/&/g;s/\\[paused\\].*//g;s/\\[playing\\].*//g"; }
|
|
|
|
mpc="$(mpc --format "%albumartist% - %title%")"
|
|
title="$(echo "$mpc" | head -n1 | awk -F " - " '{ printf "%s", $2 }')"
|
|
[ "$(echo "$title" | wc -c)" -gt 18 ] && title="$(printf "%.15s..." "$title")"
|
|
artist="$(echo "$mpc" | head -n1 | awk -F " - " '{ printf "%s", $1 }')"
|
|
[ "$(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"
|