Pure bash solution to getting ascii size, don't run tput in ascii mode and supress config and script dir errors
This commit is contained in:
parent
b1a7707df7
commit
8a55245442
1 changed files with 12 additions and 9 deletions
21
neofetch
21
neofetch
|
@ -2102,7 +2102,7 @@ getascii () {
|
||||||
ascii="/usr/local/share/neofetch/ascii/distro/${ascii/ *}"
|
ascii="/usr/local/share/neofetch/ascii/distro/${ascii/ *}"
|
||||||
|
|
||||||
else
|
else
|
||||||
getscriptdir
|
getscriptdir 2>/dev/null
|
||||||
|
|
||||||
# If the ascii file doesn't exist fallback to text mode.
|
# If the ascii file doesn't exist fallback to text mode.
|
||||||
if [ ! -f "$script_dir/ascii/distro/${ascii/ *}" ]; then
|
if [ ! -f "$script_dir/ascii/distro/${ascii/ *}" ]; then
|
||||||
|
@ -2136,9 +2136,12 @@ getascii () {
|
||||||
ascii_strip=${ascii_strip//\\}
|
ascii_strip=${ascii_strip//\\}
|
||||||
|
|
||||||
# Get length of longest line
|
# Get length of longest line
|
||||||
ascii_size=($(awk 'END {print NR}length>max{max=length}END{print max}' <<< "$ascii_strip"))
|
# Get lines/columns of the ascii file in pure bash.
|
||||||
lines=$((ascii_size[0] + 1))
|
while read -r line 2>/dev/null; do
|
||||||
ascii_length=${ascii_size[1]}
|
[ ${#line} -gt ${ascii_length:-0} ] && ascii_length=${#line}
|
||||||
|
lines=$((lines+=1))
|
||||||
|
done <<< "$ascii_strip"
|
||||||
|
lines=$((lines+=1))
|
||||||
|
|
||||||
padding="\033[$((ascii_length + gap))C"
|
padding="\033[$((ascii_length + gap))C"
|
||||||
printf "%b%s" "$print"
|
printf "%b%s" "$print"
|
||||||
|
@ -2155,9 +2158,6 @@ getimage () {
|
||||||
# Fallback to ascii mode if imagemagick isn't installed.
|
# Fallback to ascii mode if imagemagick isn't installed.
|
||||||
type -p convert >/dev/null 2>&1 || image="ascii"
|
type -p convert >/dev/null 2>&1 || image="ascii"
|
||||||
|
|
||||||
# Get terminal lines
|
|
||||||
lines=$(tput lines)
|
|
||||||
|
|
||||||
case "$image" in
|
case "$image" in
|
||||||
"wall") getwallpaper ;;
|
"wall") getwallpaper ;;
|
||||||
"ascii") getascii; return ;;
|
"ascii") getascii; return ;;
|
||||||
|
@ -2205,6 +2205,9 @@ getimage () {
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Get terminal lines
|
||||||
|
lines=$(tput lines)
|
||||||
|
|
||||||
# Get terminal columns
|
# Get terminal columns
|
||||||
columns=$(tput cols)
|
columns=$(tput cols)
|
||||||
|
|
||||||
|
@ -2745,7 +2748,7 @@ case "$@" in
|
||||||
config="off"
|
config="off"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[ "$config" == "on" ] && getconfig
|
[ "$config" == "on" ] && getconfig 2>/dev/null
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
@ -3100,7 +3103,7 @@ while [ "$1" ]; do
|
||||||
--config)
|
--config)
|
||||||
case "$2" in
|
case "$2" in
|
||||||
"none" | "off") config="off" ;;
|
"none" | "off") config="off" ;;
|
||||||
*) config_file="$2"; config="on"; getconfig ;;
|
*) config_file="$2"; config="on"; getconfig 2>/dev/null ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
--test)
|
--test)
|
||||||
|
|
Loading…
Reference in a new issue