diff --git a/neofetch b/neofetch index 9ef4f89f..15d4ee14 100755 --- a/neofetch +++ b/neofetch @@ -2126,16 +2126,13 @@ getascii () { # Turn the file into a variable and strip escape codes. ascii_strip=$(<"$ascii") ascii_strip=${ascii_strip//\$\{??\}} - ascii_strip=${ascii_strip//\\\\/ } - ascii_strip=${ascii_strip//\\} + ascii_strip=${ascii_strip//'\\'/ } + ascii_strip=${ascii_strip//'\'} - # Get length of longest line - # Get lines/columns of the ascii file in pure bash. - while read -r line 2>/dev/null; do - [ ${#line} -gt ${ascii_length:-0} ] && ascii_length=${#line} - lines=$((lines+=1)) - done <<< "$ascii_strip" - lines=$((lines+=1)) + # Get ascii file size in rows/cols + ascii_size="$(awk 'END {printf NR " "}length>max{max=length}END{printf max}' <<< "$ascii_strip")" + lines=${ascii_size/ *} + ascii_length=${ascii_size/$lines} padding="\033[$((ascii_length + gap))C" printf "%b%s" "$print"