mirror of
https://github.com/dylanaraps/neofetch.git
synced 2025-10-03 16:51:29 +00:00
Compare commits
35 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4217626cff | ||
|
ce91e2f39a | ||
|
cac22ec505 | ||
|
c688850bcc | ||
|
3dc7720c52 | ||
|
f41e5f11b5 | ||
|
fcca698229 | ||
|
cabe84481c | ||
|
2fccec783e | ||
|
1b75608304 | ||
|
1abc2ada77 | ||
|
b5915ac836 | ||
|
7fd9ff75a3 | ||
|
1a820cbbdf | ||
|
11d8aa683a | ||
|
6f423e3970 | ||
|
789cdcea40 | ||
|
c7c1cf59ec | ||
|
6e9f00445f | ||
|
e8939d58cf | ||
|
60d3aa3f10 | ||
|
762d239c32 | ||
|
95fb38e73f | ||
|
d87a13458f | ||
|
78aed92b39 | ||
|
ccf9fb8ebd | ||
|
c8d2a0442c | ||
|
bbbaf37e21 | ||
|
cb6e78efec | ||
|
e3a6b9f40d | ||
|
0b812fbc5d | ||
|
91f8510ef3 | ||
|
5b301c773b | ||
|
68645339d3 | ||
|
415ef5d4ae |
@@ -7,7 +7,6 @@
|
||||
<a href="./LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
||||
<a href="https://github.com/dylanaraps/neofetch/releases"><img src="https://img.shields.io/github/release/dylanaraps/neofetch.svg"></a>
|
||||
<a href="https://repology.org/metapackage/neofetch"><img src="https://repology.org/badge/tiny-repos/neofetch.svg" alt="Packaging status"></a>
|
||||
<a href="#donate"><img src="https://img.shields.io/badge/donate-donate-yellow.svg"></a>
|
||||
</p>
|
||||
|
||||
<img src="https://i.imgur.com/GFmC5Ad.png" alt="neofetch" align="right" height="240px">
|
||||
|
397
neofetch
397
neofetch
@@ -76,7 +76,7 @@ print_info() {
|
||||
# info "Battery" battery
|
||||
# info "Font" font
|
||||
# info "Song" song
|
||||
# [[ $player ]] && prin "Music Player" "$player"
|
||||
# [[ "$player" ]] && prin "Music Player" "$player"
|
||||
# info "Local IP" local_ip
|
||||
# info "Public IP" public_ip
|
||||
# info "Users" users
|
||||
@@ -812,27 +812,26 @@ EOF
|
||||
# DETECT INFORMATION
|
||||
|
||||
get_os() {
|
||||
# $kernel_name is set in a function called cache_uname and is
|
||||
# just the output of "uname -s".
|
||||
case "$kernel_name" in
|
||||
"Darwin"): "$darwin_name" ;;
|
||||
"SunOS"): "Solaris" ;;
|
||||
"Haiku"): "Haiku" ;;
|
||||
"MINIX"): "MINIX" ;;
|
||||
"AIX"): "AIX" ;;
|
||||
"IRIX"*): "IRIX" ;;
|
||||
"FreeMiNT"): "FreeMiNT" ;;
|
||||
# $kernel_name is the output of 'uname -s'.
|
||||
case $kernel_name in
|
||||
Darwin): "$darwin_name" ;;
|
||||
SunOS): Solaris ;;
|
||||
Haiku): Haiku ;;
|
||||
MINIX): MINIX ;;
|
||||
AIX): AIX ;;
|
||||
IRIX*): IRIX ;;
|
||||
FreeMiNT): FreeMiNT ;;
|
||||
|
||||
"Linux" | "GNU"*)
|
||||
: "Linux"
|
||||
Linux|GNU*)
|
||||
: Linux
|
||||
;;
|
||||
|
||||
*"BSD" | "DragonFly" | "Bitrig")
|
||||
: "BSD"
|
||||
*BSD|DragonFly|Bitrig)
|
||||
: BSD
|
||||
;;
|
||||
|
||||
"CYGWIN"* | "MSYS"* | "MINGW"*)
|
||||
: "Windows"
|
||||
CYGWIN*|MSYS*|MINGW*)
|
||||
: Windows
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -841,6 +840,7 @@ get_os() {
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
os="$_"
|
||||
}
|
||||
|
||||
@@ -849,7 +849,7 @@ get_distro() {
|
||||
|
||||
case "$os" in
|
||||
"Linux" | "BSD" | "MINIX")
|
||||
if [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]]; then
|
||||
if [[ -f "/bedrock/etc/bedrock-release" && "$PATH" == */bedrock/cross/* ]]; then
|
||||
case "$distro_shorthand" in
|
||||
"on" | "tiny") distro="Bedrock Linux" ;;
|
||||
*) distro="$(< /bedrock/etc/bedrock-release)"
|
||||
@@ -906,7 +906,7 @@ get_distro() {
|
||||
# Chrome OS doesn't conform to the /etc/*-release standard.
|
||||
# While the file is a series of variables they can't be sourced
|
||||
# by the shell since the values aren't quoted.
|
||||
elif [[ -f /etc/lsb-release && "$(< /etc/lsb-release)" == *CHROMEOS* ]]; then
|
||||
elif [[ -f "/etc/lsb-release" && "$(< /etc/lsb-release)" == *CHROMEOS* ]]; then
|
||||
distro="$(awk -F '=' '/NAME|VERSION/ {printf $2 " "}' /etc/lsb-release)"
|
||||
|
||||
elif [[ -f "/etc/os-release" || \
|
||||
@@ -938,7 +938,7 @@ get_distro() {
|
||||
distro="${distro/DragonFly/DragonFlyBSD}"
|
||||
|
||||
# Workarounds for FreeBSD based distros.
|
||||
[[ -f "/etc/pcbsd-lang" ]] && distro="PCBSD"
|
||||
[[ -f "/etc/pcbsd-lang" ]] && distro="PCBSD"
|
||||
[[ -f "/etc/trueos-lang" ]] && distro="TrueOS"
|
||||
|
||||
# /etc/pacbsd-release is an empty file
|
||||
@@ -946,15 +946,14 @@ get_distro() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$(< /proc/version)" == *"Microsoft"* ||
|
||||
"$kernel_version" == *"Microsoft"* ]]; then
|
||||
if [[ "$(< /proc/version)" == *Microsoft* || "$kernel_version" == *Microsoft* ]]; then
|
||||
case "$distro_shorthand" in
|
||||
"on") distro+=" [Windows 10]" ;;
|
||||
"tiny") distro="Windows 10" ;;
|
||||
*) distro+=" on Windows 10" ;;
|
||||
esac
|
||||
|
||||
elif [[ "$(< /proc/version)" == *"chrome-bot"* || -f "/dev/cros_ec" ]]; then
|
||||
elif [[ "$(< /proc/version)" == *chrome-bot* || -f "/dev/cros_ec" ]]; then
|
||||
case "$distro_shorthand" in
|
||||
"on") distro+=" [Chrome OS]" ;;
|
||||
"tiny") distro="Chrome OS" ;;
|
||||
@@ -1059,15 +1058,15 @@ get_model() {
|
||||
if [[ -d "/system/app/" && -d "/system/priv-app" ]]; then
|
||||
model="$(getprop ro.product.brand) $(getprop ro.product.model)"
|
||||
|
||||
elif [[ -f /sys/devices/virtual/dmi/id/product_name ||
|
||||
-f /sys/devices/virtual/dmi/id/product_version ]]; then
|
||||
elif [[ -f "/sys/devices/virtual/dmi/id/product_name" ||
|
||||
-f "/sys/devices/virtual/dmi/id/product_version" ]]; then
|
||||
model="$(< /sys/devices/virtual/dmi/id/product_name)"
|
||||
model+=" $(< /sys/devices/virtual/dmi/id/product_version)"
|
||||
|
||||
elif [[ -f /sys/firmware/devicetree/base/model ]]; then
|
||||
elif [[ -f "/sys/firmware/devicetree/base/model" ]]; then
|
||||
model="$(< /sys/firmware/devicetree/base/model)"
|
||||
|
||||
elif [[ -f /tmp/sysinfo/model ]]; then
|
||||
elif [[ -f "/tmp/sysinfo/model" ]]; then
|
||||
model="$(< /tmp/sysinfo/model)"
|
||||
fi
|
||||
;;
|
||||
@@ -1293,7 +1292,7 @@ get_packages() {
|
||||
tot() { IFS=$'\n' read -d "" -ra pkgs < <("$@");((packages+="${#pkgs[@]}"));pac "${#pkgs[@]}"; }
|
||||
|
||||
# Redefine tot() for Bedrock Linux.
|
||||
[[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && {
|
||||
[[ -f "/bedrock/etc/bedrock-release" && "$PATH" == */bedrock/cross/* ]] && {
|
||||
tot() {
|
||||
IFS=$'\n' read -d "" -ra pkgs < <(for s in $(brl list); do strat -r "$s" "$@"; done)
|
||||
((packages+="${#pkgs[@]}"))
|
||||
@@ -1390,7 +1389,7 @@ get_packages() {
|
||||
;;
|
||||
|
||||
"Haiku")
|
||||
dir /boot/system/package-links/*
|
||||
has "pkgman" && dir /boot/system/package-links/*
|
||||
;;
|
||||
|
||||
"IRIX")
|
||||
@@ -1575,8 +1574,10 @@ get_wm() {
|
||||
wm="${wm/\"*}"
|
||||
fi
|
||||
|
||||
# Window Maker does not set _NET_WM_NAME
|
||||
# Rename window managers to their proper values.
|
||||
[[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker"
|
||||
[[ "$wm" =~ "GNOME Shell" ]] && wm="Mutter"
|
||||
|
||||
# Fallback for non-EWMH WMs.
|
||||
[[ -z "$wm" ]] && \
|
||||
wm="$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
|
||||
@@ -1806,13 +1807,9 @@ get_cpu() {
|
||||
;;
|
||||
|
||||
*)
|
||||
cpu="$(awk -F ': | @' '/model name|Processor|^cpu model|chip type|^cpu type/ {
|
||||
printf $2;
|
||||
exit
|
||||
}' "$cpu_file")"
|
||||
|
||||
[[ "$cpu" == *"processor rev"* ]] && \
|
||||
cpu="$(awk -F':' '/Hardware/ {print $2; exit}' "$cpu_file")"
|
||||
cpu="$(awk -F ': | @' \
|
||||
'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
||||
printf $2; exit}' "$cpu_file")"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1839,8 +1836,7 @@ get_cpu() {
|
||||
fi
|
||||
|
||||
# Get CPU temp.
|
||||
[[ -f "$temp_dir" ]] && \
|
||||
deg="$(($(< "$temp_dir") * 100 / 10000))"
|
||||
[[ -f "$temp_dir" ]] && deg="$(($(< "$temp_dir") * 100 / 10000))"
|
||||
|
||||
# Get CPU cores.
|
||||
case "$cpu_cores" in
|
||||
@@ -2103,9 +2099,7 @@ get_gpu() {
|
||||
# Checking the first two array elements should
|
||||
# be safe since there won't be 2 intel outputs if
|
||||
# there's a dedicated GPU in play.
|
||||
[[ "${gpus[0]}" == *Intel* && \
|
||||
"${gpus[1]}" == *Intel* ]] && \
|
||||
unset -v "gpus[0]"
|
||||
[[ "${gpus[0]}" == *Intel* && "${gpus[1]}" == *Intel* ]] && unset -v "gpus[0]"
|
||||
|
||||
for gpu in "${gpus[@]}"; do
|
||||
# GPU shorthand tests.
|
||||
@@ -2311,10 +2305,20 @@ get_memory() {
|
||||
esac
|
||||
;;
|
||||
|
||||
"Solaris")
|
||||
"Solaris" | "AIX")
|
||||
hw_pagesize="$(pagesize)"
|
||||
pages_total="$(kstat -p unix:0:system_pages:pagestotal | awk '{print $2}')"
|
||||
pages_free="$(kstat -p unix:0:system_pages:pagesfree | awk '{print $2}')"
|
||||
case "$os" in
|
||||
"Solaris")
|
||||
pages_total="$(kstat -p unix:0:system_pages:pagestotal | awk '{print $2}')"
|
||||
pages_free="$(kstat -p unix:0:system_pages:pagesfree | awk '{print $2}')"
|
||||
;;
|
||||
|
||||
"AIX")
|
||||
IFS=$'\n'"| " read -d "" -ra mem_stat <<< "$(svmon -G -O unit=page)"
|
||||
pages_total="${mem_stat[11]}"
|
||||
pages_free="${mem_stat[16]}"
|
||||
;;
|
||||
esac
|
||||
mem_total="$((pages_total * hw_pagesize / 1024 / 1024))"
|
||||
mem_free="$((pages_free * hw_pagesize / 1024 / 1024))"
|
||||
mem_used="$((mem_total - mem_free))"
|
||||
@@ -2326,15 +2330,6 @@ get_memory() {
|
||||
mem_used="$((${mem_used/max} / 1024 / 1024))"
|
||||
;;
|
||||
|
||||
"AIX")
|
||||
IFS=$'\n'"| " read -d "" -ra mem_stat <<< "$(svmon -G -O unit=MB)"
|
||||
|
||||
mem_total="${mem_stat[11]/.*}"
|
||||
mem_free="${mem_stat[16]/.*}"
|
||||
mem_used="$((mem_total - mem_free))"
|
||||
mem_label="MB"
|
||||
;;
|
||||
|
||||
"IRIX")
|
||||
IFS=$'\n' read -d "" -ra mem_cmd <<< "$(pmem)"
|
||||
IFS=" " read -ra mem_stat <<< "${mem_cmd[0]}"
|
||||
@@ -2355,7 +2350,7 @@ get_memory() {
|
||||
|
||||
esac
|
||||
|
||||
[[ $memory_percent == on ]] && ((mem_perc=mem_used * 100 / mem_total))
|
||||
[[ "$memory_percent" == "on" ]] && ((mem_perc=mem_used * 100 / mem_total))
|
||||
|
||||
memory="${mem_used}${mem_label:-MiB} / ${mem_total}${mem_label:-MiB} ${mem_perc:+(${mem_perc}%)}"
|
||||
|
||||
@@ -2409,8 +2404,7 @@ get_song() {
|
||||
player="$(ps aux | awk -v pattern="(${players:1})" \
|
||||
'!/ awk / && !/iTunesHelper/ && match($0,pattern){print substr($0,RSTART,RLENGTH); exit}')"
|
||||
|
||||
[[ "$music_player" && "$music_player" != "auto" ]] && \
|
||||
player="$music_player"
|
||||
[[ "$music_player" && "$music_player" != "auto" ]] && player="$music_player"
|
||||
|
||||
get_song_dbus() {
|
||||
# Multiple players use an almost identical dbus command to get the information.
|
||||
@@ -2618,7 +2612,7 @@ get_resolution() {
|
||||
esac
|
||||
|
||||
resolution="${resolution%,*}"
|
||||
[[ -z ${resolution/x} ]] && resolution=
|
||||
[[ -z "${resolution/x}" ]] && resolution=
|
||||
}
|
||||
|
||||
get_style() {
|
||||
@@ -2797,11 +2791,8 @@ get_term() {
|
||||
esac
|
||||
|
||||
# Most likely TosWin2 on FreeMiNT - quick check
|
||||
[[ "$TERM" == "tw52" || "$TERM" == "tw100" ]] && \
|
||||
term="TosWin2"
|
||||
|
||||
[[ "$SSH_CONNECTION" ]] && \
|
||||
term="$SSH_TTY"
|
||||
[[ "$TERM" == "tw52" || "$TERM" == "tw100" ]] && term="TosWin2"
|
||||
[[ "$SSH_CONNECTION" ]] && term="$SSH_TTY"
|
||||
|
||||
# Check $PPID for terminal emulator.
|
||||
while [[ -z "$term" ]]; do
|
||||
@@ -2921,19 +2912,17 @@ END
|
||||
|
||||
"kitty"*)
|
||||
kitty_config="$(kitty --debug-config)"
|
||||
[[ $kitty_config != *font_family* ]] && return
|
||||
[[ "$kitty_config" != *font_family* ]] && return
|
||||
|
||||
term_font_size="${kitty_config/*font_size}"
|
||||
term_font_size="${term_font_size/$'\n'*}"
|
||||
term_font="${kitty_config/*font_family}"
|
||||
term_font="${term_font/$'\n'*} $term_font_size"
|
||||
term_font="$(awk '/^font_family|^font_size/ {printf $2 " "}' <<< "$kitty_config")"
|
||||
;;
|
||||
|
||||
"konsole" | "yakuake")
|
||||
# Get Process ID of current konsole window / tab
|
||||
child="$(get_ppid "$$")"
|
||||
|
||||
IFS=$'\n' read -d "" -ra konsole_instances < <(qdbus | grep -F 'org.kde.konsole')
|
||||
IFS=$'\n' read -d "" -ra konsole_instances \
|
||||
< <(qdbus | awk '/org.kde.konsole/ {print $1}')
|
||||
|
||||
for i in "${konsole_instances[@]}"; do
|
||||
IFS=$'\n' read -d "" -ra konsole_sessions < <(qdbus "$i" | grep -F '/Sessions/')
|
||||
@@ -2967,7 +2956,7 @@ END
|
||||
mateterm_config="/tmp/mateterm.cfg"
|
||||
|
||||
# Ensure /tmp exists and we do not overwrite anything.
|
||||
if [[ -d /tmp && ! -f "$mateterm_config" ]]; then
|
||||
if [[ -d "/tmp" && ! -f "$mateterm_config" ]]; then
|
||||
mate-terminal --save-config="$mateterm_config"
|
||||
|
||||
role="$(xprop -id "${WINDOWID}" WM_WINDOW_ROLE)"
|
||||
@@ -3032,7 +3021,7 @@ END
|
||||
# On Linux we can get the exact path to the running binary through the procfs
|
||||
# (in case `st` is launched from outside of $PATH) on other systems we just
|
||||
# have to guess and assume `st` is invoked from somewhere in the users $PATH
|
||||
[[ -L /proc/$parent/exe ]] && binary="/proc/$parent/exe" || binary="$(type -p st)"
|
||||
[[ -L "/proc/$parent/exe" ]] && binary="/proc/$parent/exe" || binary="$(type -p st)"
|
||||
|
||||
# Grep the output of strings on the `st` binary for anything that looks vaguely
|
||||
# like a font definition. NOTE: There is a slight limitation in this approach.
|
||||
@@ -3085,8 +3074,7 @@ END
|
||||
term_font="$(trim "${term_font/*"faceName:"}")"
|
||||
|
||||
# xft: isn't required at the beginning so we prepend it if it's missing
|
||||
[[ "${term_font:0:1}" != "-" && \
|
||||
"${term_font:0:4}" != "xft:" ]] && \
|
||||
[[ "${term_font:0:1}" != "-" && "${term_font:0:4}" != "xft:" ]] && \
|
||||
term_font="xft:$term_font"
|
||||
|
||||
# Xresources has two different font formats, this checks which
|
||||
@@ -3454,9 +3442,9 @@ image_backend() {
|
||||
}
|
||||
|
||||
print_ascii() {
|
||||
if [[ -f $image_source && ! $image_source =~ (png|jpg|jpeg|jpe|svg|gif) ]]; then
|
||||
if [[ -f "$image_source" && ! "$image_source" =~ (png|jpg|jpeg|jpe|svg|gif) ]]; then
|
||||
ascii_data="$(< "$image_source")"
|
||||
elif [[ $image_source == ascii || $image_source == auto ]]; then
|
||||
elif [[ "$image_source" == "ascii" || $image_source == auto ]]; then
|
||||
:
|
||||
else
|
||||
ascii_data="$image_source"
|
||||
@@ -3608,49 +3596,10 @@ get_w3m_img_path() {
|
||||
get_window_size() {
|
||||
# This functions gets the current window size in
|
||||
# pixels.
|
||||
#
|
||||
# We first try to use the escape sequence "\033[14t"
|
||||
# to get the terminal window size in pixels. If this
|
||||
# fails we then fallback to using "xdotool" or other
|
||||
# programs.
|
||||
|
||||
# Tmux has a special way of reading escape sequences
|
||||
# so we have to use a slightly different sequence to
|
||||
# get the terminal size.
|
||||
if [[ "$image_backend" == "tycat" ]]; then
|
||||
printf '%b' '\e}qs\000'
|
||||
|
||||
else
|
||||
case "${TMUX:-null}" in
|
||||
"null") printf '%b' '\e[14t' ;;
|
||||
*) printf '%b' '\ePtmux;\e\e[14t\e\\ ' ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# The escape codes above print the desired output as
|
||||
# user input so we have to use read to store the out
|
||||
# -put as a variable.
|
||||
# The 1 second timeout is required for older bash
|
||||
case "${BASH_VERSINFO[0]}" in
|
||||
4|5) IFS=';t' read -d t -t 0.05 -sra term_size ;;
|
||||
*) IFS=';t' read -d t -t 1 -sra term_size ;;
|
||||
esac
|
||||
unset IFS
|
||||
|
||||
# Split the string into height/width.
|
||||
if [[ "$image_backend" == "tycat" ]]; then
|
||||
term_width="$((term_size[2] * term_size[0]))"
|
||||
term_height="$((term_size[3] * term_size[1]))"
|
||||
|
||||
else
|
||||
term_height="${term_size[1]}"
|
||||
term_width="${term_size[2]}"
|
||||
fi
|
||||
|
||||
[[ "$image_backend" == "kitty" ]] && \
|
||||
[[ "$image_backend" == "kitty" ]] &&
|
||||
IFS=x read -r term_width term_height < <(kitty +kitten icat --print-window-size)
|
||||
|
||||
# Get terminal width/height if \e[14t is unsupported.
|
||||
# Get terminal width/height.
|
||||
if (( "${term_width:-0}" < 50 )) && [[ "$DISPLAY" && "$os" != "Mac OS X" ]]; then
|
||||
if type -p xdotool &>/dev/null; then
|
||||
IFS=$'\n' read -d "" -ra win < <(xdotool getactivewindow getwindowgeometry --shell %1)
|
||||
@@ -3732,7 +3681,7 @@ get_image_size() {
|
||||
esac
|
||||
|
||||
# Check for terminal padding.
|
||||
[[ $image_backend == w3m ]] && term_padding
|
||||
[[ "$image_backend" == "w3m" ]] && term_padding
|
||||
|
||||
width="${width:-$image_size}"
|
||||
height="${height:-$image_size}"
|
||||
@@ -4201,21 +4150,29 @@ kde_config_dir() {
|
||||
|
||||
term_padding() {
|
||||
# Get terminal padding to properly align cursor.
|
||||
[[ -z $term ]] && get_term
|
||||
[[ -z "$term" ]] && get_term
|
||||
|
||||
case "$term" in
|
||||
urxvt*|"rxvt-unicode")
|
||||
[[ -z "$xrdb" ]] && xrdb="$(xrdb -query)"
|
||||
[[ -z "$xrdb" ]] &&
|
||||
xrdb="$(xrdb -query)"
|
||||
|
||||
[[ $xrdb != *".internalBorder:"* ]] &&
|
||||
return
|
||||
|
||||
padding="${xrdb/*.internalBorder:}"
|
||||
((padding=${padding/$'\n'*}))
|
||||
padding="${padding/$'\n'*}"
|
||||
|
||||
[[ $padding =~ ^[0-9]+$ ]] ||
|
||||
padding=
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
dynamic_prompt() {
|
||||
[[ $image_backend == off ]] && { printf '\n'; return; }
|
||||
[[ $image_backend != ascii ]] && ((lines=(height + yoffset) / font_height + 1))
|
||||
[[ $image_backend == w3m ]] && ((lines=lines + padding / font_height + 1))
|
||||
[[ "$image_backend" == "off" ]] && { printf '\n'; return; }
|
||||
[[ "$image_backend" != "ascii" ]] && ((lines=(height + yoffset) / font_height + 1))
|
||||
[[ "$image_backend" == "w3m" ]] && ((lines=lines + padding / font_height + 1))
|
||||
|
||||
# If the ascii art is taller than the info.
|
||||
((lines=lines>info_height?lines-info_height+1:1))
|
||||
@@ -4468,7 +4425,7 @@ ASCII:
|
||||
'Ubuntu-Studio' or 'Ubuntu-Budgie' to use the flavors.
|
||||
|
||||
NOTE: Alpine, Arch, CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS,
|
||||
OpenBSD, and Void have a smaller logo variant.
|
||||
OpenBSD, postmarketOS, and Void have a smaller logo variant.
|
||||
|
||||
NOTE: Use '{distro name}_small' to use the small variants.
|
||||
|
||||
@@ -4771,7 +4728,7 @@ get_args() {
|
||||
|
||||
get_simple() {
|
||||
while [[ "$1" ]]; do
|
||||
[[ $(type -t "get_$1") == function ]] && {
|
||||
[[ "$(type -t "get_$1")" == "function" ]] && {
|
||||
get_distro
|
||||
stdout
|
||||
simple=1
|
||||
@@ -5240,27 +5197,24 @@ EOF
|
||||
;;
|
||||
|
||||
"Artix"*)
|
||||
set_colors 6 4 2 7
|
||||
set_colors 6 6 7 1
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} d${c2}c.
|
||||
${c1} x${c2}dc.
|
||||
${c1} '.${c4}.${c1} d${c2}dlc.
|
||||
${c1} c${c2}0d:${c1}o${c2}xllc;
|
||||
${c1} :${c2}0ddlolc,lc,
|
||||
${c1} :${c1}ko${c4}.${c1}:${c2}0ddollc..dlc.
|
||||
${c1} ;${c1}K${c2}kxoOddollc' cllc.
|
||||
${c1} ,${c1}K${c2}kkkxdddllc, ${c4}.${c2}lll:
|
||||
${c1} ,${c1}X${c2}kkkddddlll;${c3}...';${c1}d${c2}llll${c3}dxk:
|
||||
${c1} ,${c1}X${c2}kkkddddllll${c3}oxxxddo${c2}lll${c3}oooo,
|
||||
${c3} xxk${c1}0${c2}kkkdddd${c1}o${c2}lll${c1}o${c3}ooooooolooooc;${c1}.
|
||||
${c3} ddd${c2}kkk${c1}d${c2}ddd${c1}ol${c2}lc:${c3}:;,'.${c3}... .${c2}lll;
|
||||
${c1} .${c3}xd${c1}x${c2}kk${c1}xd${c2}dl${c1}'cl:${c4}. ${c2}.llc,
|
||||
${c1} .${c1}0${c2}kkkxddl${c4}. ${c2};'${c4}. ${c2};llc.
|
||||
${c1} .${c1}K${c2}Okdcddl${c4}. ${c2}cllc${c4}.
|
||||
${c1} 0${c2}Okd''dc. .cll;
|
||||
${c1} k${c2}Okd' .llc,
|
||||
${c1} d${c2}Od, 'lc.
|
||||
${c1} :,${c4}. ${c2}...
|
||||
${c1} .'
|
||||
.cc'
|
||||
.cccc.
|
||||
cccccc.
|
||||
:ccccccc.
|
||||
;ccccccccc
|
||||
.;cccccc:
|
||||
.. .;cccc;
|
||||
'cccc;.. .,cc;
|
||||
'ccccccccc:'. ''
|
||||
.cccccccccccccc:;.
|
||||
.cccccccccccccc:,. .
|
||||
ccccccccccc;'. .;cc.
|
||||
cccccccc,.. ':cccccc.
|
||||
:ccc:'. .';ccccc
|
||||
;;.. .';:
|
||||
EOF
|
||||
;;
|
||||
|
||||
@@ -5628,6 +5582,32 @@ ${c1} `.--::::::--.`
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Clear Linux OS"*)
|
||||
set_colors 4 3 7 6
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} BBB
|
||||
BBBBBBBBB
|
||||
BBBBBBBBBBBBBBB
|
||||
BBBBBBBBBBBBBBBBBBBB
|
||||
BBBBBBBBBBB BBB
|
||||
BBBBBBBB${c2}YYYYY
|
||||
${c1} BBBBBBBB${c2}YYYYYY
|
||||
${c1} BBBBBBBB${c2}YYYYYYY
|
||||
${c1} BBBBBBBBB${c2}YYYYY${c3}W
|
||||
${c4} GG${c1}BBBBBBBY${c2}YYYY${c3}WWW
|
||||
${c4} GGG${c1}BBBBBBB${c2}YY${c3}WWWWWWWW
|
||||
${c4} GGGGGG${c1}BBBBBB${c3}WWWWWWWW
|
||||
${c4} GGGGGGGG${c1}BBBB${c3}WWWWWWWW
|
||||
${c4}GGGGGGGGGGG${c1}BBB${c3}WWWWWWW
|
||||
${c4}GGGGGGGGGGGGG${c1}B${c3}WWWWWW
|
||||
${c4}GGGGGGGG${c3}WWWWWWWWWWW
|
||||
${c4}GG${c3}WWWWWWWWWWWWWWWW
|
||||
WWWWWWWWWWWWWWWW
|
||||
WWWWWWWWWW
|
||||
WWW
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Clover"*)
|
||||
set_colors 2 6
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -6368,21 +6348,25 @@ WW W
|
||||
EOF
|
||||
;;
|
||||
|
||||
"januslinux"*)
|
||||
set_colors 7
|
||||
"januslinux"*|"janus"*)
|
||||
set_colors 4 7 4
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} ________________
|
||||
|\ \
|
||||
| \ \
|
||||
| \ \
|
||||
| \ ______________\
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
\ | januslinux |
|
||||
\ | |
|
||||
\ | |
|
||||
\|______________|
|
||||
${c1}oooooooooooooooooooooooooooooooo
|
||||
oooooooooooooooooooooooooooooooo
|
||||
oooooooooooooooooooooooooooooooo
|
||||
ooooooooooooo${c2}dOWWOd${c1}ooooooooooooo
|
||||
oooooooooood${c2}0WMMMMWkd${c1}ooooooooooo
|
||||
oooooooood${c2}0WMMMMMX0KN0d${c1}oooolllll
|
||||
ooooooo${c2}xKWMMMMWKxKWMMMWKx${c3}lllllll
|
||||
ooooo${c2}xXMMMMMW0doooOWMMMMMXx${c3}lllll
|
||||
ooooo${c2}xXMMMMMW0doloONMMMMMXx${c3}lllll
|
||||
ooooooo${c2}xKWMMMWXO0WMMMMMKx${c3}lllllll
|
||||
ooooooooo${c2}d0NX0KWMMMMW0d${c3}lllllllll
|
||||
oooooooooooo${c2}xWMMMMW0o${c3}llllllccccc
|
||||
oooooooooooll${c2}o0WW0o${c3}lllllcccccccc
|
||||
ooooooooooollll${c2}oo${c3}llllllccccccccc
|
||||
oooooooooollllllllllllcccccccccc
|
||||
oooooooooollllllllllllcccccccccc
|
||||
EOF
|
||||
;;
|
||||
|
||||
@@ -7206,7 +7190,7 @@ ${c1} `-|.' /_. ${c4}\_| ${c1} F
|
||||
|/`. `-. `._)
|
||||
/ .-.\\
|
||||
\\ ( `\\
|
||||
`.\
|
||||
`.\\
|
||||
EOF
|
||||
;;
|
||||
|
||||
@@ -7591,26 +7575,42 @@ s: yNm+` .smNd+.
|
||||
EOF
|
||||
;;
|
||||
|
||||
"postmarketos_small")
|
||||
set_colors 2 7
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} /\\
|
||||
/ \\
|
||||
/ \\
|
||||
\\__ \\
|
||||
/\\__ \\ _\\
|
||||
/ / \\/ __
|
||||
/ / ____/ \\
|
||||
/ \\ \\ \\
|
||||
/_____/ /________\\
|
||||
EOF
|
||||
;;
|
||||
|
||||
"PostMarketOS"*)
|
||||
set_colors 2 7
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} ss
|
||||
`hMMh`
|
||||
.dMMMMd.
|
||||
-NMMMMMMN-
|
||||
/MMMMMMMMMN/
|
||||
hMMMMMMMMMMMo
|
||||
y+`mMMmdNMMMMMMy
|
||||
`dMM-.-:- .mMMMMMMh`
|
||||
.mMMMMMMd` `dMMMMMMm.
|
||||
:NMMMMMMy yMMMMMMN:
|
||||
/MMMMMMMo oMMMmdmN/
|
||||
oMMMMMMM/ /MN.-/:-.
|
||||
`yMMMMMMN- -:.NMMMMy`
|
||||
`dMMMMMMM- -/////////////dMMMMMMd`
|
||||
-mMMMMMMMMN+`sMMMMMMMMMMMMMMMMMMMMm-
|
||||
:NMMMMMMMMMMM/ yMMMMMMMMMMMMMMMMMMMMN:
|
||||
+MMMMMMMMMMMh.:mMMMMMMMMMMMMMMMMMMMMMMM+
|
||||
${c1} /\\
|
||||
/ \\
|
||||
/ \\
|
||||
/ \\
|
||||
/ \\
|
||||
/ \\
|
||||
\\ \\
|
||||
/\\ \\____ \\
|
||||
/ \\____ \\ \\
|
||||
/ / \\ \\
|
||||
/ / \\ ___\\
|
||||
/ / \\ / ____
|
||||
/ / \\/ / \\
|
||||
/ / __________/ \\
|
||||
/ \\ \\ \\
|
||||
/ \\ \\ \\
|
||||
/ / / \\
|
||||
/___________/ /____________________\\
|
||||
EOF
|
||||
;;
|
||||
|
||||
@@ -7683,6 +7683,30 @@ ${c1} `..--..`
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Radix"*)
|
||||
set_colors 1 2
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c2} .:oyhdmNo
|
||||
`/yhyoosdms`
|
||||
-o+/ohmmho-
|
||||
..`.:/:-`
|
||||
`.--:::-.``${c1}
|
||||
.+ydNMMMMMMNmhs:`
|
||||
`omMMMMMMMMMMMMMMNh-
|
||||
oNMMMNmddhhyyhhhddmy.
|
||||
mMMMMNmmddhhysoo+/:-`
|
||||
yMMMMMMMMMMMMMMMMNNh.
|
||||
-dmmmmmNNMMMMMMMMMMs`
|
||||
-+oossyhmMMMMMMMMd-
|
||||
`sNMMMMMMMMMMMMMm:
|
||||
`yMMMMMMNmdhhhh:
|
||||
`sNMMMMMNmmho.
|
||||
`+mMMMMMMMy.
|
||||
.yNMMMm+`
|
||||
`:yd+.
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Raspbian"*)
|
||||
set_colors 2 1
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -8791,10 +8815,9 @@ EOF
|
||||
;;
|
||||
esac
|
||||
|
||||
# Overwrite distro colors if '$ascii_colors' doesn't
|
||||
# equal 'distro'.
|
||||
if [[ "${ascii_colors[0]}" != "distro" ]]; then
|
||||
color_text="off"
|
||||
# Overwrite distro colors if '$ascii_colors' doesn't equal 'distro'.
|
||||
if [[ ${ascii_colors[0]} != distro ]]; then
|
||||
color_text=off
|
||||
set_colors "${ascii_colors[@]}"
|
||||
fi
|
||||
}
|
||||
@@ -8808,14 +8831,14 @@ main() {
|
||||
|
||||
get_args "$@"
|
||||
get_simple "$@"
|
||||
[[ "$verbose" != "on" ]] && exec 2>/dev/null
|
||||
[[ $verbose != on ]] && exec 2>/dev/null
|
||||
get_distro
|
||||
get_bold
|
||||
get_distro_ascii
|
||||
[[ "$stdout" == "on" ]] && stdout
|
||||
[[ $stdout == on ]] && stdout
|
||||
|
||||
# Minix doesn't support these sequences.
|
||||
if [[ "$TERM" != "minix" && "$stdout" != "on" ]]; then
|
||||
if [[ $TERM != minix && $stdout != on ]]; then
|
||||
# If the script exits for any reason, unhide the cursor.
|
||||
trap 'printf "\e[?25h\e[?7h"' EXIT
|
||||
|
||||
@@ -8831,17 +8854,17 @@ main() {
|
||||
|
||||
# w3m-img: Draw the image a second time to fix
|
||||
# rendering issues in specific terminal emulators.
|
||||
[[ "$image_backend" == *w3m* ]] && display_image
|
||||
[[ $image_backend == *w3m* ]] && display_image
|
||||
|
||||
# Add neofetch info to verbose output.
|
||||
err "Neofetch command: $0 $*"
|
||||
err "Neofetch version: $version"
|
||||
|
||||
# Show error messages.
|
||||
[[ "$verbose" == "on" ]] && printf "%b" "$err" >&2
|
||||
[[ $verbose == on ]] && printf '%b' "$err" >&2
|
||||
|
||||
# If `--loop` was used, constantly redraw the image.
|
||||
while [[ "$image_loop" == "on" && "$image_backend" == "w3m" ]]; do display_image; sleep 1; done
|
||||
while [[ $image_loop == on && $image_backend == w3m ]]; do display_image; sleep 1; done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
Reference in New Issue
Block a user