33 lines
682 B
Bash
Executable File
33 lines
682 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
cmusstatus=$(cmus-remote -C status)
|
|
grep position <<< "$cmusstatus" 1>/dev/null 2>&1
|
|
if [ ! $? -eq 0 ]; then exit; fi
|
|
|
|
strindex() {
|
|
x="${1%%$2*}"
|
|
[[ "$x" = "$1" ]] && echo -1 || echo "${#x}"
|
|
}
|
|
|
|
prepend_zero () {
|
|
seq -f "%02g" $1 $1
|
|
}
|
|
|
|
get_all_but_first() {
|
|
shift
|
|
echo "$@"
|
|
}
|
|
|
|
get_stat() {
|
|
line=$(grep "$1" -m 1 <<< "$cmusstatus")
|
|
a=$(strindex "$line" "$1")
|
|
sub="${line:a}"
|
|
echo "$(get_all_but_first $sub)"
|
|
}
|
|
|
|
min_sec_from_sec() {
|
|
echo -n "$(prepend_zero $(($1 / 60))):$(prepend_zero $(($1 % 60)))"
|
|
}
|
|
|
|
echo -n "$(get_stat artist) - $(get_stat title) [$(min_sec_from_sec $(get_stat position)) / $(min_sec_from_sec $(get_stat duration))]"
|