Ajuda com módulo da polybar - bash script

eu peguei um script de módulo pronto pra polybar, para mostar qual música tá tocando quando eu tou com o cmus ligado
mas o meu problema com ele é que ele some quando eu saio do cmus (ele foi feito pra ser assim)

mas eu queria adicionar uma coisa a ele, pra que ele desse um echo “no music playing” quando eu fechasse o cmus
eu não manjo nada de shell script, alguém pode me ajudar?

Dei uma olhada no google e no artigo de scripts da polybar mas com o que sei não vi nada que pudesse me ajudar

vou deixar abaixo a entrada do modulo no arquivo da polybar e o script

[module/cmus]
type = custom/script
exec = sh $HOME/.config/polybar/cmus.sh
click-left = cmus-remote --pause
click-right = cmus-remote --stop
exec-if = pgrep -x cmus
label = “  %output%”
interval = 1

#!/bin/bash
#script to show the music playing on cmus on polybar

prepend_zero () {
seq -f “%02g” $1 $1
}

artist=$(echo -n $(cmus-remote -C status | grep artist -m 1 | cut -c 12-))
song=$(echo -n $(cmus-remote -C status | grep title | cut -c 11-))

echo -n “$artist - $song”

Desde já agradeço, obrigado.

Remova essa linha do arquivo do módulo. Ela condiciona a execução do script à presença de um processo (pgrep) chamado exatamente (-x) cmus (cmus).

2 curtidas

um colega meu que manja de shell script acabou me ajudando aqui e salvou dms
vou deixar o modulo como ficou no final:

[module/cmus]
type = custom/script
exec = sh $HOME/.config/polybar/cmus.sh
click-left = cmus-remote --pause
click-right = cmus-remote --stop
exec-if = pgrep -x polybar
label = “  %output%”
interval = 1

#!/bin/sh
#script to show the music playing on cmus on polybar

artist=$(echo -n $(cmus-remote -C status | grep artist -m 1 | cut -c 12-))
song=$(echo -n $(cmus-remote -C status | grep title | cut -c 11-))
display=$(echo -n $artist - $song)

if [ -z “$artist” ]
then
echo “No music playing”
fi

mainf() {
if pgrep -x cmus >/dev/null
then
echo -n “$display”
else
echo -n “No music playing”
fi
}

mainf