Compare commits

...

35 Commits

Author SHA1 Message Date
Dylan Araps
4217626cff docs: update 2019-03-04 10:26:08 +02:00
Dylan Araps
ce91e2f39a docs: update 2019-03-04 10:21:39 +02:00
Dylan Araps
cac22ec505 general: Starting cutting script down in size. 2019-03-04 10:16:52 +02:00
black
c688850bcc Merge pull request #1200 from nee-san/new-januslinux
new logo for janus
2019-02-23 20:55:40 +02:00
nee-san
3dc7720c52 new logo for janus
Signed-off-by: nee-san <nagisurame@gmail.com>
2019-02-23 22:52:28 +09:00
black
f41e5f11b5 Merge pull request #1198 from chrisweeksnz/clearlinux
Add ascii art for Clear Linux
2019-02-18 08:42:29 +02:00
chrisweeksnz
fcca698229 Add ascii art for Clear Linux 2019-02-18 17:47:04 +13:00
chrisweeksnz
cabe84481c Merge branch 'dylanaraps-master' 2019-02-18 16:10:45 +13:00
Muhammad Herdiansyah
2fccec783e ASCII: Updated Artix ASCII with new logo 2019-02-16 21:53:28 +07:00
Dylan Araps
1b75608304 general: fixed gnome shell mutter issue Closes #1194 2019-02-14 08:19:51 +02:00
Dylan Araps
1abc2ada77 docs: update 2019-02-12 18:36:18 +02:00
Dylan Araps
b5915ac836 Merge branch 'master' of github.com:dylanaraps/neofetch 2019-02-11 17:12:42 +02:00
Dylan Araps
7fd9ff75a3 term_font: Fix crash when parsing Xresources. Closes #1195 2019-02-11 17:12:31 +02:00
black
1a820cbbdf Merge pull request #1169 from dylanaraps/vte_img_fix
general: fix image sizing in VTE terminals.
2019-02-10 20:18:10 +02:00
black
11d8aa683a Merge pull request #1193 from SibrenVasse/kitty-fix
Robuster kitty font parsing
2019-02-08 17:33:31 +02:00
Sibren Vasse
6f423e3970 Robuster kitty font parsing 2019-02-08 16:19:56 +01:00
black
789cdcea40 Merge pull request #1191 from Crestwave/pkgman
packages: Specify Haiku's pkgman
2019-02-06 11:58:24 +02:00
Crestwave
c7c1cf59ec packages: Specify Haiku's pkgman 2019-02-06 08:02:49 +00:00
Dylan Araps
6e9f00445f os: Added support for Radix Linux 2019-02-04 08:53:06 +02:00
black
e8939d58cf Merge pull request #1188 from konimex/arm
CPU [Linux/ARM]: Use Hardware field directly
2019-02-03 22:17:15 +02:00
Muhammad Herdiansyah
60d3aa3f10 CPU [Linux/ARM]: Use Hardware field directly 2019-02-03 18:40:00 +07:00
black
762d239c32 Merge pull request #1187 from arisinfenix/konsole
term_font: fix issue with konsole font detection
2019-02-03 11:29:05 +02:00
Michael Straube
95fb38e73f term_font: fix issue with konsole font detection
Closes #1186
2019-02-03 10:03:58 +01:00
black
d87a13458f Merge pull request #1182 from julianaito/master
Fix big Puffy ascii logo
2019-01-30 22:59:04 +02:00
Charlène
78aed92b39 Fix big Puffy ascii logo 2019-01-30 21:44:16 +01:00
black
ccf9fb8ebd Merge pull request #1179 from GrantM11235/pmos-small
postmarketOS: Add small ASCII logo
2019-01-26 08:26:00 +02:00
Grant Miller
c8d2a0442c postmarketOS: Add small ASCII logo 2019-01-25 16:58:04 -06:00
black
bbbaf37e21 Merge pull request #1178 from GrantM11235/pmos
postmarketOS: Replace ASCII logo
2019-01-25 18:29:19 +02:00
Grant Miller
cb6e78efec postmarketOS: Replace ASCII logo 2019-01-25 10:04:28 -06:00
Dylan Araps
e3a6b9f40d Merge branch 'master' of github.com:dylanaraps/neofetch 2019-01-20 05:36:44 +02:00
Dylan Araps
0b812fbc5d general: Fix issue with URxvt and no internal border. Closes #1174 2019-01-20 05:36:25 +02:00
Muhammad Herdiansyah
91f8510ef3 Memory [AIX]: Detect memory based on pages (like Solaris) for more accuracy 2019-01-19 17:40:49 +07:00
Dylan Araps
5b301c773b docs: update 2019-01-15 19:58:32 +02:00
Dylan Araps
68645339d3 general: fix image sizing in VTE terminals. 2019-01-15 19:56:37 +02:00
Dylan Araps
415ef5d4ae misc: Quote all the things 2019-01-09 10:43:22 +02:00
2 changed files with 210 additions and 188 deletions

View File

@@ -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
View File

@@ -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
}