40 lines
631 B
Bash
Executable file
40 lines
631 B
Bash
Executable file
#! /bin/bash
|
|
|
|
bar="▁▂▃▄▅▆▇█"
|
|
dict="s/;//g;"
|
|
|
|
# creating "dictionary" to replace char with bar
|
|
i=0
|
|
while [ $i -lt ${#bar} ]
|
|
do
|
|
dict="${dict}s/$i/${bar:$i:1}/g;"
|
|
i=$((i=i+1))
|
|
done
|
|
|
|
# make sure to clean pipe
|
|
pipe="/tmp/cava.fifo"
|
|
if [ -p $pipe ]; then
|
|
unlink $pipe
|
|
fi
|
|
mkfifo $pipe
|
|
|
|
# write cava config
|
|
config_file="/tmp/polybar_cava_config"
|
|
echo "
|
|
[general]
|
|
bars = 10
|
|
|
|
[output]
|
|
method = raw
|
|
raw_target = $pipe
|
|
data_format = ascii
|
|
ascii_max_range = 7
|
|
" > $config_file
|
|
|
|
# run cava in the background
|
|
cava -p $config_file &
|
|
|
|
# reading data from fifo
|
|
while read -r cmd; do
|
|
echo $cmd | sed $dict
|
|
done < $pipe |