agsdotfilesdotshyprlandhyprland-configricerofirofi-configshell-scriptsswwwwallustwaybarwaybar-modulewaybar-themes
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
777 B
32 lines
777 B
# #! /bin/bash |
|
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## |
|
|
|
# Not my own work. This was added through Github PR. Credit to original author |
|
|
|
#----- Optimized bars animation without much CPU usage increase -------- |
|
bar="▁▂▃▄▅▆▇█" |
|
dict="s/;//g" |
|
|
|
# Calculate the length of the bar outside the loop |
|
bar_length=${#bar} |
|
|
|
# Create dictionary to replace char with bar |
|
for ((i = 0; i < bar_length; i++)); do |
|
dict+=";s/$i/${bar:$i:1}/g" |
|
done |
|
|
|
# Create cava config |
|
config_file="/tmp/bar_cava_config" |
|
cat >"$config_file" <<EOF |
|
[general] |
|
bars = 10 |
|
|
|
[output] |
|
method = raw |
|
raw_target = /dev/stdout |
|
data_format = ascii |
|
ascii_max_range = 7 |
|
EOF |
|
|
|
# Read stdout from cava and perform substitution in a single sed command |
|
cava -p "$config_file" | sed -u "$dict"
|
|
|