dotfiles/bin/gradient
2022-09-02 15:57:52 -05:00

30 lines
614 B
Bash
Executable file

#!/usr/bin/env bash
# ensure COLUMNS is set
# stty size > /dev/null
COLUMNS=$(tput cols)
# delay for wezterm to learn it's size
sleep 0.2
line() {
i=1
while [[ $i -le $COLUMNS ]]; do
echo -en "\u258$((RANDOM % 8 + 1))"
i=$((i + 1))
done
}
echo
awk -v columns="$COLUMNS" -v s="$(line)" \
'BEGIN{
for (colnum = 0; colnum<columns+1; colnum++) {
r = 255-(colnum*255/columns);
g = (colnum*510/columns);
b = (colnum*255/columns);
if (g>255) g = 510-g;
printf "\033[38;2;%d;%d;%dm", r,g,b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'