From a233f7ccfb8df1e7159f87ca71b4c9e39330f023 Mon Sep 17 00:00:00 2001 From: Hayder Majid Date: Fri, 9 Dec 2022 12:27:16 +0300 Subject: [PATCH] Adding Uruk GNU/Linux logo --- neofetch | 2008 ++++++++++++++---------------------------------------- 1 file changed, 508 insertions(+), 1500 deletions(-) diff --git a/neofetch b/neofetch index 48b96d21..5bfc9471 100755 --- a/neofetch +++ b/neofetch @@ -8,7 +8,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2015-2021 Dylan Araps +# Copyright (c) 2015-2020 Dylan Araps # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -75,6 +75,7 @@ print_info() { info "Memory" memory # info "GPU Driver" gpu_driver # Linux/macOS only + # info "CPU Usage" cpu_usage # info "Disk" disk # info "Battery" battery # info "Font" font @@ -158,7 +159,7 @@ uptime_shorthand="on" # Memory -# Show memory percentage in output. +# Show memory pecentage in output. # # Default: 'off' # Values: 'on', 'off' @@ -407,13 +408,6 @@ public_ip_host="http://ident.me" # Flag: --ip_timeout public_ip_timeout=2 -# Local IP interface -# -# Default: 'auto' (interface of default route) -# Values: 'auto', 'en0', 'en1' -# Flag: --ip_interface -local_ip_interface=('auto') - # Desktop Environment @@ -512,10 +506,8 @@ disk_percent="on" # guayadeque # io.elementary.music # iTunes -# Music # juk # lollypop -# MellowPlayer # mocp # mopidy # mpd @@ -729,7 +721,8 @@ bar_color_total="distro" # # Default: 'off' # Values: 'bar', 'infobar', 'barinfo', 'off' -# Flags: --memory_display +# Flags: --cpu_display +# --memory_display # --battery_display # --disk_display # @@ -738,6 +731,7 @@ bar_color_total="distro" # infobar: 'info [---=======]' # barinfo: '[---=======] info' # off: 'info' +cpu_display="off" memory_display="off" battery_display="off" disk_display="off" @@ -749,10 +743,8 @@ disk_display="off" # Image backend. # # Default: 'ascii' -# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off', -# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug', -# 'viu' - +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' # Flag: --backend image_backend="ascii" @@ -780,42 +772,42 @@ image_source="auto" # Default: 'auto' # Values: 'auto', 'distro_name' # Flag: --ascii_distro -# NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS, -# Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft, -# ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, -# Artix, Arya, Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, -# Bodhi, bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, -# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, -# Container_Linux, Crystal Linux, CRUX, Cucumber, dahlia, Debian, Deepin, -# DesaOS, Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary, +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, # EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, # FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, -# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, HydroOS -# Hyperbola, iglunix, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora, -# KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE, -# Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui, -# Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD, -# Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD, -# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt, -# osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix, -# TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS, -# Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian, -# Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, -# Rocky, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor, -# SereneLinux, SharkLinux, Siduction, SkiffOS, Slackware, SliTaz, SmartOS, -# Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, t2, -# openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel, -# Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, -# Ubuntu-Studio, Ubuntu, Univention, Venom, Void, VNux, LangitKetujuh, semc, -# Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos. -# NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants. +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, UrukOS ,Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. # Use '{distro name}_old' to use the old logos. # NOTE: Ubuntu has flavor variants. # Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, # Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. # NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, # CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, -# Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, # Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, # Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, # postmarketOS, and Void have a smaller logo variant. @@ -888,14 +880,6 @@ crop_offset="center" # --size image_size="auto" -# Catimg block size. -# Control the resolution of catimg. -# -# Default: '2' -# Values: '1', '2' -# Flags: --catimg_size -catimg_size="2" - # Gap between image and text # # Default: '3' @@ -971,7 +955,7 @@ get_distro() { case $os in Linux|BSD|MINIX) - if [[ -f /bedrock/etc/bedrock-release && -z $BEDROCK_RESTRICT ]]; 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) @@ -983,10 +967,6 @@ get_distro() { *) distro="Red Star OS $(awk -F'[^0-9*]' '$0=$2' /etc/redstar-release)" esac - elif [[ -f /etc/armbian-release ]]; then - . /etc/armbian-release - distro="Armbian $DISTRIBUTION_CODENAME (${VERSION:-})" - elif [[ -f /etc/siduction-version ]]; then case $distro_shorthand in on|tiny) distro=Siduction ;; @@ -1102,13 +1082,10 @@ get_distro() { fi if [[ $(< /proc/version) == *Microsoft* || $kernel_version == *Microsoft* ]]; then - windows_version=$(wmic.exe os get Version) - windows_version=$(trim "${windows_version/Version}") - case $distro_shorthand in - on) distro+=" [Windows $windows_version]" ;; - tiny) distro="Windows ${windows_version::2}" ;; - *) distro+=" on Windows $windows_version" ;; + on) distro+=" [Windows 10]" ;; + tiny) distro="Windows 10" ;; + *) distro+=" on Windows 10" ;; esac elif [[ $(< /proc/version) == *chrome-bot* || -f /dev/cros_ec ]]; then @@ -1118,7 +1095,6 @@ get_distro() { tiny) distro="Chrome OS" ;; *) distro+=" on Chrome OS" ;; esac - distro=${distro## on } fi distro=$(trim_quotes "$distro") @@ -1127,12 +1103,12 @@ get_distro() { # Get Ubuntu flavor. if [[ $distro == "Ubuntu"* ]]; then case $XDG_CONFIG_DIRS in - *"studio"*) distro=${distro/Ubuntu/Ubuntu Studio} ;; *"plasma"*) distro=${distro/Ubuntu/Kubuntu} ;; *"mate"*) distro=${distro/Ubuntu/Ubuntu MATE} ;; *"xubuntu"*) distro=${distro/Ubuntu/Xubuntu} ;; *"Lubuntu"*) distro=${distro/Ubuntu/Lubuntu} ;; *"budgie"*) distro=${distro/Ubuntu/Ubuntu Budgie} ;; + *"studio"*) distro=${distro/Ubuntu/Ubuntu Studio} ;; *"cinnamon"*) distro=${distro/Ubuntu/Ubuntu Cinnamon} ;; esac fi @@ -1153,8 +1129,7 @@ get_distro() { 10.14*) codename="macOS Mojave" ;; 10.15*) codename="macOS Catalina" ;; 10.16*) codename="macOS Big Sur" ;; - 11.*) codename="macOS Big Sur" ;; - 12.*) codename="macOS Monterey" ;; + 11.0*) codename="macOS Big Sur" ;; *) codename=macOS ;; esac @@ -1238,11 +1213,6 @@ 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/board_vendor || - -f /sys/devices/virtual/dmi/id/board_name ]]; then - model=$(< /sys/devices/virtual/dmi/id/board_vendor) - model+=" $(< /sys/devices/virtual/dmi/id/board_name)" - 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) @@ -1273,11 +1243,9 @@ get_model() { iPad6,1[12]): "iPad 5" ;; iPad7,[5-6]): "iPad 6" ;; iPad7,1[12]): "iPad 7" ;; - iPad11,[67]): "iPad 8" ;; iPad4,[1-3]): "iPad Air" ;; iPad5,[3-4]): "iPad Air 2" ;; iPad11,[3-4]): "iPad Air 3" ;; - iPad13,[1-2]): "iPad Air 4";; iPad6,[7-8]): "iPad Pro (12.9 Inch)" ;; iPad6,[3-4]): "iPad Pro (9.7 Inch)" ;; iPad7,[1-2]): "iPad Pro 2 (12.9 Inch)" ;; @@ -1317,10 +1285,6 @@ get_model() { iPhone12,3): "iPhone 11 Pro" ;; iPhone12,5): "iPhone 11 Pro Max" ;; iPhone12,8): "iPhone SE 2020" ;; - iPhone13,1): "iPhone 12 Mini" ;; - iPhone13,2): "iPhone 12" ;; - iPhone13,3): "iPhone 12 Pro" ;; - iPhone13,4): "iPhone 12 Pro Max" ;; iPod1,1): "iPod touch" ;; ipod2,1): "iPod touch 2G" ;; @@ -1328,7 +1292,6 @@ get_model() { ipod4,1): "iPod touch 4G" ;; ipod5,1): "iPod touch 5G" ;; ipod7,1): "iPod touch 6G" ;; - iPod9,1): "iPod touch 7G" ;; esac model=$_ @@ -1469,7 +1432,7 @@ get_uptime() { d="$((s / 60 / 60 / 24)) days" h="$((s / 60 / 60 % 24)) hours" - m="$((s / 60 % 60)) minutes" + m="$((s / 60 % 60)) mins" # Remove plural if < 2. ((${d/ *} == 1)) && d=${d/s} @@ -1483,73 +1446,52 @@ get_uptime() { uptime=${d:+$d, }${h:+$h, }$m uptime=${uptime%', '} - uptime=${uptime:-$s seconds} + uptime=${uptime:-$s secs} # Make the output of uptime smaller. case $uptime_shorthand in - on) - uptime=${uptime/ minutes/ mins} - uptime=${uptime/ minute/ min} - uptime=${uptime/ seconds/ secs} - ;; + on) ;; tiny) uptime=${uptime/ days/d} uptime=${uptime/ day/d} uptime=${uptime/ hours/h} uptime=${uptime/ hour/h} - uptime=${uptime/ minutes/m} - uptime=${uptime/ minute/m} - uptime=${uptime/ seconds/s} + uptime=${uptime/ mins/m} + uptime=${uptime/ min/m} + uptime=${uptime/ secs/s} uptime=${uptime//,} ;; esac } get_packages() { - # to adjust the number of pkgs per pkg manager - pkgs_h=0 - # has: Check if package manager installed. # dir: Count files or dirs in a glob. # pac: If packages > 0, log package manager name. # tot: Count lines in command output. has() { type -p "$1" >/dev/null && manager=$1; } - # globbing is intentional here - # shellcheck disable=SC2206 - dir() { pkgs=($@); ((packages+=${#pkgs[@]})); pac "$((${#pkgs[@]}-pkgs_h))"; } + dir() { ((packages+=$#)); pac "$#"; } pac() { (($1 > 0)) && { managers+=("$1 (${manager})"); manager_string+="${manager}, "; }; } - tot() { - IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")"; - ((packages+=${#pkgs[@]})); - pac "$((${#pkgs[@]}-pkgs_h))"; - } + tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")";((packages+=${#pkgs[@]}));pac "${#pkgs[@]}";} - # Redefine tot() and dir() for Bedrock Linux. + # Redefine tot() for Bedrock Linux. [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && { - br_strata=$(brl list) tot() { - IFS=$'\n' read -d "" -ra pkgs <<< "$(for s in ${br_strata}; do strat -r "$s" "$@"; done)" + IFS=$'\n' read -d "" -ra pkgs <<< "$(for s in $(brl list); do strat -r "$s" "$@"; done)" ((packages+="${#pkgs[@]}")) - pac "$((${#pkgs[@]}-pkgs_h))"; - } - dir() { - local pkgs=() - # globbing is intentional here - # shellcheck disable=SC2206 - for s in ${br_strata}; do pkgs+=(/bedrock/strata/$s/$@); done - ((packages+=${#pkgs[@]})) - pac "$((${#pkgs[@]}-pkgs_h))" + pac "${#pkgs[@]}" } + br_prefix="/bedrock/strata/*" } case $os in Linux|BSD|"iPhone OS"|Solaris) # Package Manager Programs. has kiss && tot kiss l - has cpt-list && tot cpt-list has pacman-key && tot pacman -Qq --color never has dpkg && tot dpkg-query -f '.\n' -W + has rpm && tot rpm -qa has xbps-query && tot xbps-query -l has apk && tot apk info has opkg && tot opkg list-installed @@ -1557,25 +1499,11 @@ get_packages() { has lvu && tot lvu installed has tce-status && tot tce-status -i has pkg_info && tot pkg_info - has pkgin && tot pkgin list - has tazpkg && pkgs_h=6 tot tazpkg list && ((packages-=6)) + has tazpkg && tot tazpkg list && ((packages-=6)) has sorcery && tot gaze installed has alps && tot alps showinstalled has butch && tot butch list - has swupd && tot swupd bundle-list --quiet - has pisi && tot pisi li - has pacstall && tot pacstall -L - - # Using the dnf package cache is much faster than rpm. - if has dnf && type -p sqlite3 >/dev/null && [[ -f /var/cache/dnf/packages.db ]]; then - pac "$(sqlite3 /var/cache/dnf/packages.db "SELECT count(pkg) FROM installed")" - else - has rpm && tot rpm -qa - fi - - # 'mine' conflicts with minesweeper games. - [[ -f /etc/SDE-VERSION ]] && - has mine && tot mine -q + has mine && tot mine -q # Counting files/dirs. # Variables need to be unquoted here. Only Bedrock Linux is affected. @@ -1583,16 +1511,16 @@ get_packages() { # shellcheck disable=SC2086 { shopt -s nullglob - has brew && dir "$(brew --cellar)/* $(brew --caskroom)/*" - has emerge && dir "/var/db/pkg/*/*" - has Compile && dir "/Programs/*/" - has eopkg && dir "/var/lib/eopkg/package/*" - has crew && dir "${CREW_PREFIX:-/usr/local}/etc/crew/meta/*.filelist" - has pkgtool && dir "/var/log/packages/*" - has scratch && dir "/var/lib/scratchpkg/index/*/.pkginfo" - has kagami && dir "/var/lib/kagami/pkgs/*" - has cave && dir "/var/db/paludis/repositories/cross-installed/*/data/*/ \ - /var/db/paludis/repositories/installed/data/*/" + has brew && dir "$(brew --cellar)"/* + has emerge && dir ${br_prefix}/var/db/pkg/*/*/ + has Compile && dir ${br_prefix}/Programs/*/ + has eopkg && dir ${br_prefix}/var/lib/eopkg/package/* + has crew && dir ${br_prefix}/usr/local/etc/crew/meta/*.filelist + has pkgtool && dir ${br_prefix}/var/log/packages/* + has scratch && dir ${br_prefix}/var/lib/scratchpkg/index/*/.pkginfo + has kagami && dir ${br_prefix}/var/lib/kagami/pkgs/* + has cave && dir ${br_prefix}/var/db/paludis/repositories/cross-installed/*/data/*/ \ + ${br_prefix}/var/db/paludis/repositories/installed/data/*/ shopt -u nullglob } @@ -1605,28 +1533,22 @@ get_packages() { } has nix-store && { - nix-user-pkgs() { - nix-store -qR ~/.nix-profile - nix-store -qR /etc/profiles/per-user/"$USER" - } - manager=nix-system && tot nix-store -qR /run/current-system/sw - manager=nix-user && tot nix-user-pkgs - manager=nix-default && tot nix-store -qR /nix/var/nix/profiles/default + manager=nix-system && tot nix-store -q --requisites /run/current-system/sw + manager=nix-user && tot nix-store -q --requisites ~/.nix-profile + manager=nix-default && tot nix-store -q --requisites /nix/var/nix/profiles/default } # pkginfo is also the name of a python package manager which is painfully slow. # TODO: Fix this somehow. has pkginfo && tot pkginfo -i - case $os-$kernel_name in - BSD-FreeBSD|BSD-DragonFly) - has pkg && tot pkg info - ;; + case $kernel_name in + FreeBSD|DragonFly) has pkg && tot pkg info ;; - BSD-*) + *) has pkg && dir /var/db/pkg/* - ((packages == 0)) && + ((packages == 0)) && \ has pkg && tot pkg list ;; esac @@ -1638,8 +1560,7 @@ get_packages() { # Snap hangs if the command is run without the daemon running. # Only run snap if the daemon is also running. - has snap && ps -e | grep -qFm 1 snapd >/dev/null && \ - pkgs_h=1 tot snap list && ((packages-=1)) + has snap && ps -e | grep -qFm 1 snapd >/dev/null && tot snap list && ((packages-=1)) # This is the only standard location for appimages. # See: https://github.com/AppImage/AppImageKit/wiki @@ -1647,18 +1568,13 @@ get_packages() { ;; "Mac OS X"|"macOS"|MINIX) - has port && pkgs_h=1 tot port installed && ((packages-=1)) - has brew && dir "$(brew --cellar)/* $(brew --caskroom)/*" + has port && tot port installed && ((packages-=1)) + has brew && dir /usr/local/Cellar/* has pkgin && tot pkgin list - has dpkg && tot dpkg-query -f '.\n' -W has nix-store && { - nix-user-pkgs() { - nix-store -qR ~/.nix-profile - nix-store -qR /etc/profiles/per-user/"$USER" - } - manager=nix-system && tot nix-store -qR /run/current-system/sw - manager=nix-user && tot nix-user-pkgs + manager=nix-system && tot nix-store -q --requisites "/run/current-system/sw" + manager=nix-user && tot nix-store -q --requisites "$HOME/.nix-profile" } ;; @@ -1674,7 +1590,7 @@ get_packages() { esac # Scoop environment throws errors if `tot scoop list` is used - has scoop && pkgs_h=1 dir ~/scoop/apps/* && ((packages-=1)) + has scoop && dir ~/scoop/apps/* && ((packages-=1)) # Count chocolatey packages. [[ -d /cygdrive/c/ProgramData/chocolatey/lib ]] && \ @@ -1688,7 +1604,7 @@ get_packages() { IRIX) manager=swpkg - pkgs_h=3 tot versions -b && ((packages-=3)) + tot versions -b && ((packages-=3)) ;; esac @@ -1749,12 +1665,6 @@ get_shell() { shell=${shell/Copyright*} ;; - nu) - shell+=$("$SHELL" -c "version | get version") - shell=${shell/ $shell_name} - ;; - - *) shell+=$("$SHELL" --version 2>&1) shell=${shell/ $shell_name} @@ -1777,17 +1687,8 @@ get_de() { Windows) case $distro in - *"Windows 10"*) - de=Fluent - ;; - - *"Windows 8"*) - de=Metro - ;; - - *) - de=Aero - ;; + "Windows 8"*|"Windows 10"*) de="Modern UI/Metro" ;; + *) de=Aero esac ;; @@ -1808,7 +1709,7 @@ get_de() { ((wm_run != 1)) && get_wm # Temporary support for Regolith Linux - if [[ $DESKTOP_SESSION == *regolith ]]; then + if [[ $DESKTOP_SESSION == regolith ]]; then de=Regolith elif [[ $XDG_CURRENT_DESKTOP ]]; then @@ -1861,7 +1762,7 @@ get_de() { Xfce*) de_ver=$(xfce4-session --version) ;; GNOME*) de_ver=$(gnome-shell --version) ;; Cinnamon*) de_ver=$(cinnamon --version) ;; - Deepin*) de_ver=$(awk -F'=' '/MajorVersion/ {print $2}' /etc/os-version) ;; + Deepin*) de_ver=$(awk -F'=' '/Version/ {print $2}' /etc/deepin-version) ;; Budgie*) de_ver=$(budgie-desktop --version) ;; LXQt*) de_ver=$(lxqt-session --version) ;; Lumina*) de_ver=$(lumina-desktop --version 2>&1) ;; @@ -1877,15 +1778,9 @@ get_de() { de_ver=${de_ver/* } de_ver=${de_ver//\"} - de+=" $de_ver" + de="$de $de_ver" fi - # TODO: - # - New config option + flag: --de_display_server on/off ? - # - Add display of X11, Arcan and anything else relevant. - [[ $de && $WAYLAND_DISPLAY ]] && - de+=" (Wayland)" - de_run=1 } @@ -1898,60 +1793,38 @@ get_wm() { *) ps_flags=(-e) ;; esac - if [[ -O "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" ]]; then - if tmp_pid="$(lsof -t "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)" || - tmp_pid="$(fuser "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)"; then - wm="$(ps -p "${tmp_pid}" -ho comm=)" - else - # lsof may not exist, or may need root on some systems. Similarly fuser. - # On those systems we search for a list of known window managers, this can mistakenly - # match processes for another user or session and will miss unlisted window managers. - wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \ - -e arcan \ - -e asc \ - -e clayland \ - -e dwc \ - -e fireplace \ - -e gnome-shell \ - -e greenfield \ - -e grefsen \ - -e hikari \ - -e kwin \ - -e lipstick \ - -e maynard \ - -e mazecompositor \ - -e motorcar \ - -e orbital \ - -e orbment \ - -e perceptia \ - -e river \ - -e rustland \ - -e sway \ - -e ulubis \ - -e velox \ - -e wavy \ - -e way-cooler \ - -e wayfire \ - -e wayhouse \ - -e westeros \ - -e westford \ - -e weston) - fi + if [[ $WAYLAND_DISPLAY ]]; then + wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \ + -e arcan \ + -e asc \ + -e clayland \ + -e dwc \ + -e fireplace \ + -e gnome-shell \ + -e greenfield \ + -e grefsen \ + -e kwin \ + -e lipstick \ + -e maynard \ + -e mazecompositor \ + -e motorcar \ + -e orbital \ + -e orbment \ + -e perceptia \ + -e rustland \ + -e sway \ + -e ulubis \ + -e velox \ + -e wavy \ + -e way-cooler \ + -e wayfire \ + -e wayhouse \ + -e westeros \ + -e westford \ + -e weston) elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then - # non-EWMH WMs. - wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \ - -e "[s]owm" \ - -e "[c]atwm" \ - -e "[f]vwm" \ - -e "[d]wm" \ - -e "[2]bwm" \ - -e "[m]onsterwm" \ - -e "[t]inywm" \ - -e "[x]11fs" \ - -e "[x]monad") - - [[ -z $wm ]] && type -p xprop &>/dev/null && { + type -p xprop &>/dev/null && { id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK) id=${id##* } wm=$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t) @@ -1960,6 +1833,19 @@ get_wm() { wm=${wm/\"*} } + # Fallback for non-EWMH WMs. + [[ $wm ]] || + wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \ + -e "[s]owm" \ + -e "[c]atwm" \ + -e "[f]vwm" \ + -e "[d]wm" \ + -e "[2]bwm" \ + -e "[m]onsterwm" \ + -e "[t]inywm" \ + -e "[x]11fs" \ + -e "[x]monad") + else case $os in "Mac OS X"|"macOS") @@ -1983,21 +1869,15 @@ get_wm() { ;; Windows) - wm=$( - tasklist | + wm=$(tasklist | grep -m 1 -o -F \ + -e bugn \ + -e Windawesome \ + -e blackbox \ + -e emerge \ + -e litestep) - grep -Fom 1 \ - -e bugn \ - -e Windawesome \ - -e blackbox \ - -e emerge \ - -e litestep - ) - - [[ $wm == blackbox ]] && - wm="bbLean (Blackbox)" - - wm=${wm:+$wm, }DWM.exe + [[ $wm == blackbox ]] && wm="bbLean (Blackbox)" + wm=${wm:+$wm, }Explorer ;; FreeMiNT) @@ -2217,7 +2097,7 @@ get_cpu() { # Select the right temperature file. for temp_dir in /sys/class/hwmon/*; do - [[ "$(< "${temp_dir}/name")" =~ (cpu_thermal|coretemp|fam15h_power|k10temp) ]] && { + [[ "$(< "${temp_dir}/name")" =~ (coretemp|fam15h_power|k10temp) ]] && { temp_dirs=("$temp_dir"/temp*_input) temp_dir=${temp_dirs[0]} break @@ -2234,50 +2114,17 @@ get_cpu() { speed="$((speed / 1000))" else - case $kernel_machine in - "sparc"*) - # SPARC systems use a different file to expose clock speed information. - speed_file="/sys/devices/system/cpu/cpu0/clock_tick" - speed="$(($(< "$speed_file") / 1000000))" - ;; - - *) - speed="$(awk -F ': |\\.' '/cpu MHz|^clock/ {printf $2; exit}' "$cpu_file")" - speed="${speed/MHz}" - ;; - esac + speed="$(awk -F ': |\\.' '/cpu MHz|^clock/ {printf $2; exit}' "$cpu_file")" + speed="${speed/MHz}" fi # Get CPU temp. [[ -f "$temp_dir" ]] && deg="$(($(< "$temp_dir") * 100 / 10000))" # Get CPU cores. - case $kernel_machine in - "sparc"*) - case $cpu_cores in - # SPARC systems doesn't expose detailed topology information in - # /proc/cpuinfo so I have to use lscpu here. - "logical" | "on") - cores="$(lscpu | awk -F ': *' '/^CPU\(s\)/ {print $2}')" - ;; - "physical") - cores="$(lscpu | awk -F ': *' '/^Core\(s\) per socket/ {print $2}')" - sockets="$(lscpu | awk -F ': *' '/^Socket\(s\)/ {print $2}')" - cores="$((sockets * cores))" - ;; - esac - ;; - - *) - case $cpu_cores in - "logical" | "on") - cores="$(grep -c "^processor" "$cpu_file")" - ;; - "physical") - cores="$(awk '/^core id/&&!a[$0]++{++i} END {print i}' "$cpu_file")" - ;; - esac - ;; + case $cpu_cores in + "logical" | "on") cores="$(grep -c "^processor" "$cpu_file")" ;; + "physical") cores="$(awk '/^core id/&&!a[$0]++{++i} END {print i}' "$cpu_file")" ;; esac ;; @@ -2305,9 +2152,8 @@ get_cpu() { "Apple A10 Fusion (4) @ 2.34GHz" ;; "iPhone10,"[1-6]): "Apple A11 Bionic (6) @ 2.39GHz" ;; - "iPhone11,"[2468] | "iPad11,"[1-4] | "iPad11,"[6-7]): "Apple A12 Bionic (6) @ 2.49GHz" ;; + "iPhone11,"[2468] | "iPad11,"[1-4]): "Apple A12 Bionic (6) @ 2.49GHz" ;; "iPhone12,"[1358]): "Apple A13 Bionic (6) @ 2.65GHz" ;; - "iPhone13,"[1-4] | "iPad13,"[1-2]): "Apple A14 Bionic (6) @ 3.00Ghz" ;; "iPod2,1"): "Samsung S5L8720 (1) @ 533MHz" ;; "iPod3,1"): "Samsung S5L8922 (1) @ 600MHz" ;; @@ -2340,17 +2186,7 @@ get_cpu() { [[ -z "$speed" ]] && speed="$(sysctl -n hw.clockrate)" # Get CPU cores. - case $kernel_name in - "OpenBSD"*) - [[ "$(sysctl -n hw.smt)" == "1" ]] && smt="on" || smt="off" - ncpufound="$(sysctl -n hw.ncpufound)" - ncpuonline="$(sysctl -n hw.ncpuonline)" - cores="${ncpuonline}/${ncpufound},\\xc2\\xa0SMT\\xc2\\xa0${smt}" - ;; - *) - cores="$(sysctl -n hw.ncpu)" - ;; - esac + cores="$(sysctl -n hw.ncpu)" # Get CPU temp. case $kernel_name in @@ -2360,7 +2196,8 @@ get_cpu() { ;; "OpenBSD"* | "Bitrig"*) deg="$(sysctl hw.sensors | \ - awk -F'=|degC' '/(ksmn|adt|lm|cpu)0.temp0/ {printf("%2.1f", $2); exit}')" + awk -F '=| degC' '/lm0.temp|cpu0.temp/ {print $2; exit}')" + deg="${deg/00/0}" ;; esac ;; @@ -2499,21 +2336,54 @@ get_cpu() { fi } +get_cpu_usage() { + case $os in + "Windows") + cpu_usage="$(wmic cpu get loadpercentage)" + cpu_usage="${cpu_usage/LoadPercentage}" + cpu_usage="${cpu_usage//[[:space:]]}" + ;; + + *) + # Get CPU cores if unset. + if [[ "$cpu_cores" != "logical" ]]; then + case $os in + "Linux" | "MINIX") cores="$(grep -c "^processor" /proc/cpuinfo)" ;; + "Mac OS X"|"macOS") cores="$(sysctl -n hw.logicalcpu_max)" ;; + "BSD") cores="$(sysctl -n hw.ncpu)" ;; + "Solaris") cores="$(kstat -m cpu_info | grep -c -F "chip_id")" ;; + "Haiku") cores="$(sysinfo -cpu | grep -c -F 'CPU #')" ;; + "iPhone OS") cores="${cpu/*\(}"; cores="${cores/\)*}" ;; + "IRIX") cores="$(sysconf NPROC_ONLN)" ;; + "FreeMiNT") cores="$(sysctl -n hw.ncpu)" ;; + + "AIX") + cores="$(lparstat -i | awk -F':' '/Online Virtual CPUs/ {printf $2}')" + ;; + esac + fi + + cpu_usage="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}')" + cpu_usage="$((${cpu_usage/\.*} / ${cores:-1}))" + ;; + esac + + # Print the bar. + case $cpu_display in + "bar") cpu_usage="$(bar "$cpu_usage" 100)" ;; + "infobar") cpu_usage="${cpu_usage}% $(bar "$cpu_usage" 100)" ;; + "barinfo") cpu_usage="$(bar "$cpu_usage" 100)${info_color} ${cpu_usage}%" ;; + *) cpu_usage="${cpu_usage}%" ;; + esac +} + get_gpu() { case $os in "Linux") # Read GPUs into array. - gpu_cmd="$(lspci -mm | - awk -F '\"|\" \"|\\(' \ - '/"Display|"3D|"VGA/ { - a[$0] = $1 " " $3 " " ($(NF-1) ~ /^$|^Device [[:xdigit:]]+$/ ? $4 : $(NF-1)) - } - END { for (i in a) { - if (!seen[a[i]]++) { - sub("^[^ ]+ ", "", a[i]); - print a[i] - } - }}')" + gpu_cmd="$(lspci -mm | awk -F '\"|\" \"|\\(' \ + '/"Display|"3D|"VGA/ {a[$0] = $1 " " $3 " " $4} + END {for(i in a) {if(!seen[a[i]]++) print a[i]}}')" IFS=$'\n' read -d "" -ra gpus <<< "$gpu_cmd" # Remove duplicate Intel Graphics outputs. @@ -2613,9 +2483,8 @@ get_gpu() { "iPhone8,"[1-4] | "iPad6,1"[12]): "PowerVR GT7600" ;; "iPhone9,"[1-4] | "iPad7,"[5-6]): "PowerVR GT7600 Plus" ;; "iPhone10,"[1-6]): "Apple Designed GPU (A11)" ;; - "iPhone11,"[2468] | "iPad11,"[67]): "Apple Designed GPU (A12)" ;; + "iPhone11,"[2468]): "Apple Designed GPU (A12)" ;; "iPhone12,"[1358]): "Apple Designed GPU (A13)" ;; - "iPhone13,"[1234] | "iPad13,"[12]): "Apple Designed GPU (A14)" ;; "iPad3,"[1-3]): "PowerVR SGX534MP4" ;; "iPad3,"[4-6]): "PowerVR SGX554MP4" ;; @@ -2630,19 +2499,11 @@ get_gpu() { ;; "Windows") - wmic path Win32_VideoController get caption | while read -r line; do - line=$(trim "$line") + while read -r line; do + prin "${subtitle:+${subtitle}${gpu_name}}" "$(trim "$line")" + done < <(wmic path Win32_VideoController get caption) - case $line in - *Caption*|'') - continue - ;; - - *) - prin "${subtitle:+${subtitle}${gpu_name}}" "$line" - ;; - esac - done + gpu=${gpu//Caption} ;; "Haiku") @@ -2659,7 +2520,7 @@ get_gpu() { ;; *) - gpu="$(glxinfo -B | grep -F 'OpenGL renderer string')" + gpu="$(glxinfo | grep -F 'OpenGL renderer string')" gpu="${gpu/OpenGL renderer string: }" ;; esac @@ -2685,32 +2546,20 @@ get_memory() { "MemFree" | "Buffers" | "Cached" | "SReclaimable") mem_used="$((mem_used-=${b/kB}))" ;; - - # Available since Linux 3.14rc (34e431b0ae398fc54ea69ff85ec700722c9da773). - # If detected this will be used over the above calculation for mem_used. - "MemAvailable") - mem_avail=${b/kB} - ;; esac done < /proc/meminfo - if [[ $mem_avail ]]; then - mem_used=$(((mem_total - mem_avail) / 1024)) - else - mem_used="$((mem_used / 1024))" - fi - + mem_used="$((mem_used / 1024))" mem_total="$((mem_total / 1024))" ;; "Mac OS X" | "macOS" | "iPhone OS") - hw_pagesize="$(sysctl -n hw.pagesize)" mem_total="$(($(sysctl -n hw.memsize) / 1024 / 1024))" - pages_app="$(($(sysctl -n vm.page_pageable_internal_count) - $(sysctl -n vm.page_purgeable_count)))" - pages_wired="$(vm_stat | awk '/ wired/ { print $4 }')" - pages_compressed="$(vm_stat | awk '/ occupied/ { printf $5 }')" - pages_compressed="${pages_compressed:-0}" - mem_used="$(((${pages_app} + ${pages_wired//.} + ${pages_compressed//.}) * hw_pagesize / 1024 / 1024))" + mem_wired="$(vm_stat | awk '/ wired/ { print $4 }')" + mem_active="$(vm_stat | awk '/ active/ { printf $3 }')" + mem_compressed="$(vm_stat | awk '/ occupied/ { printf $5 }')" + mem_compressed="${mem_compressed:-0}" + mem_used="$(((${mem_wired//.} + ${mem_active//.} + ${mem_compressed//.}) * 4 / 1024))" ;; "BSD" | "MINIX") @@ -2844,10 +2693,8 @@ get_song() { "guayadeque" "io.elementary.music" "iTunes" - "Music" "juk" "lollypop" - "MellowPlayer" "mocp" "mopidy" "mpd" @@ -2899,7 +2746,6 @@ get_song() { "gnome-music"*) get_song_dbus "GnomeMusic" ;; "lollypop"*) get_song_dbus "Lollypop" ;; "clementine"*) get_song_dbus "clementine" ;; - "cmus"*) get_song_dbus "cmus" ;; "juk"*) get_song_dbus "juk" ;; "bluemindo"*) get_song_dbus "Bluemindo" ;; "guayadeque"*) get_song_dbus "guayadeque" ;; @@ -2921,11 +2767,9 @@ get_song() { "xnoise"*) get_song_dbus "xnoise" ;; "tauonmb"*) get_song_dbus "tauon" ;; "olivia"*) get_song_dbus "olivia" ;; - "exaile"*) get_song_dbus "exaile" ;; "netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;; "plasma-browser-integration"*) get_song_dbus "plasma-browser-integration" ;; "io.elementary.music"*) get_song_dbus "Music" ;; - "MellowPlayer"*) get_song_dbus "MellowPlayer3" ;; "mpd"* | "mopidy"*) song="$(mpc -f '%artist% \n%album% \n%title%' current "${mpc_args[@]}")" @@ -2935,6 +2779,14 @@ get_song() { song="$(xmms2 current -f "\${artist}"$' \n'"\${album}"$' \n'"\${title}")" ;; + "cmus"*) + # NOTE: cmus >= 2.8.0 supports mpris2 + song="$(cmus-remote -Q | awk '/tag artist/ {$1=$2=""; a=$0} + /tag album / {$1=$2=""; b=$0} + /tag title/ {$1=$2=""; t=$0} + END {print a " \n" b " \n" t}')" + ;; + "spotify"*) case $os in "Linux") get_song_dbus "spotify" ;; @@ -2953,18 +2805,22 @@ get_song() { string & "\n" & name of current track as string')" ;; - "music"*) - song="$(osascript -e 'tell application "Music" to artist of current track as¬ - string & "\n" & album of current track as¬ - string & "\n" & name of current track as string')" - ;; - "banshee"*) song="$(banshee --query-artist --query-album --query-title |\ awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2} END {print a " \n" b " \n"t}')" ;; + "exaile"*) + # NOTE: Exaile >= 4.0.0 will support mpris2. + song="$(dbus-send --print-reply --dest=org.exaile.Exaile \ + /org/exaile/Exaile org.exaile.Exaile.Query | + awk -F ':' '{sub(",[^,]*$", "", $3); t=$3; + sub(",[^,]*$", "", $4); a=$4; + sub(",[^,]*$", "", $5); b=$5} + END {print a " \n" b " \n" t}')" + ;; + "muine"*) song="$(dbus-send --print-reply --dest=org.gnome.Muine /org/gnome/Muine/Player \ org.gnome.Muine.Player.GetCurrentSong | @@ -3108,16 +2964,15 @@ get_resolution() { elif [[ -d /sys/class/drm ]]; then for dev in /sys/class/drm/*/modes; do - read -r single_resolution _ < "$dev" + read -r resolution _ < "$dev" - [[ $single_resolution ]] && resolution="${single_resolution}, ${resolution}" + [[ $resolution ]] && break done fi ;; esac - resolution="${resolution%%,}" - resolution="${resolution%%, }" + resolution="${resolution%,*}" [[ -z "${resolution/x}" ]] && resolution= } @@ -3315,14 +3170,13 @@ get_term() { name="$(get_process_name "$parent")" case ${name// } in - "${SHELL/*\/}"|*"sh"|"screen"|"su"*|"newgrp") ;; + "${SHELL/*\/}"|*"sh"|"screen"|"su"*) ;; "login"*|*"Login"*|"init"|"(init)") term="$(tty)" ;; - "ruby"|"1"|"tmux"*|"systemd"|"sshd"*|"python"*|\ - "USER"*"PID"*|"kdeinit"*|"launchd"*|"bwrap") + "ruby"|"1"|"tmux"*|"systemd"|"sshd"*|"python"*|"USER"*"PID"*|"kdeinit"*|"launchd"*) break ;; @@ -3361,12 +3215,10 @@ get_term_font() { [[ -f "${confs[0]}" ]] || return - term_font="$(awk '/normal:/ {while (!/family:/ || /#/) - {if (!getline) {exit}} print; exit}' "${confs[0]}")" + term_font="$(awk -F ':|#' '/normal:/ {getline; print}' "${confs[0]}")" term_font="${term_font/*family:}" term_font="${term_font/$'\n'*}" term_font="${term_font/\#*}" - term_font="${term_font//\"}" ;; "Apple_Terminal") @@ -3440,9 +3292,11 @@ END ;; "kitty"*) - term_font="from kitty.cli import *; o = create_default_opts(); \ - print(f'{o.font_family} {o.font_size}')" - term_font="$(kitty +runpy ''"$term_font"'')" + kitty_config="$(kitty --debug-config)" + [[ "$kitty_config" != *font_family* ]] && return + + term_font="$(awk '/^font_family|^font_size/ {$1="";gsub("^ *","",$0);print $0}' \ + <<< "$kitty_config")" ;; "konsole" | "yakuake") @@ -3452,7 +3306,7 @@ END QT_BINDIR="$(qtpaths --binaries-dir)" && PATH+=":$QT_BINDIR" IFS=$'\n' read -d "" -ra konsole_instances \ - <<< "$(qdbus | awk '/org.kde.'"$term"'/ {print $1}')" + <<< "$(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/')" @@ -3521,7 +3375,7 @@ END ;; "mintty") - term_font="$(awk -F '=' '!/^($|#)/ && /^\\s*Font\\s*=/ {printf $2; exit}' "${HOME}/.minttyrc")" + term_font="$(awk -F '=' '!/^($|#)/ && /Font/ {printf $2; exit}' "${HOME}/.minttyrc")" ;; "pantheon"*) @@ -3560,16 +3414,15 @@ END # like a font definition. NOTE: There is a slight limitation in this approach. # Technically "Font Name" is a valid font. As it doesn't specify any font options # though it is hard to match it correctly amongst the rest of the noise. - [[ -n "$binary" ]] && - term_font=$( - strings "$binary" | - - grep -m 1 "*font[^2]" - ) + [[ -n "$binary" ]] && \ + term_font="$(strings "$binary" | grep -F -m 1 \ + -e "pixelsize=" \ + -e "size=" \ + -e "antialias=" \ + -e "autohint=")" fi term_font="${term_font/xft:}" - term_font="${term_font#*=}" term_font="${term_font/:*}" ;; @@ -3704,7 +3557,7 @@ get_disk() { for disk in "${disks[@]}"; do # Create a second array and make each element split at whitespace this time. IFS=" " read -ra disk_info <<< "$disk" - disk_perc=${disk_info[${#disk_info[@]} - 2]/\%} + disk_perc=${disk_info[-2]/\%} case $disk_percent in off) disk_perc= @@ -3712,34 +3565,29 @@ get_disk() { case $df_version in *befhikm*) - disk=$((disk_info[${#disk_info[@]} - 4] / 1024 / 1024))G - disk+=" / " - disk+=$((disk_info[${#disk_info[@]} - 5] / 1024/ 1024))G - disk+=${disk_perc:+ ($disk_perc%)} + disk="$((disk_info[-4]/1024/1024))G / $((disk_info[-5]/1024/1024))G" + disk+="${disk_perc:+ ($disk_perc%)}" ;; *) - disk=${disk_info[${#disk_info[@]} - 4]/i} - disk+=" / " - disk+=${disk_info[${#disk_info[@]} - 5]/i} - disk+=${disk_perc:+ ($disk_perc%)} + disk="${disk_info[-4]/i} / ${disk_info[-5]/i}${disk_perc:+ ($disk_perc%)}" ;; esac case $disk_subtitle in name) - disk_sub=${disk_info[*]::${#disk_info[@]} - 5} + disk_sub=${disk_info[*]::${#disk_info[@]}-5} ;; dir) - disk_sub=${disk_info[${#disk_info[@]} - 1]/*\/} - disk_sub=${disk_sub:-${disk_info[${#disk_info[@]} - 1]}} + disk_sub=${disk_info[-1]/*\/} + disk_sub=${disk_sub:-${disk_info[-1]}} ;; none) ;; *) - disk_sub=${disk_info[${#disk_info[@]} - 1]} + disk_sub=${disk_info[-1]} ;; esac @@ -3826,9 +3674,6 @@ get_battery() { battery="$(wmic Path Win32_Battery get EstimatedChargeRemaining)" battery="${battery/EstimatedChargeRemaining}" battery="$(trim "$battery")%" - state="$(wmic /NameSpace:'\\root\WMI' Path BatteryStatus get Charging)" - state="${state/Charging}" - [[ "$state" == *TRUE* ]] && battery_state="charging" ;; "Haiku") @@ -3850,25 +3695,9 @@ get_battery() { get_local_ip() { case $os in "Linux" | "BSD" | "Solaris" | "AIX" | "IRIX") - if [[ "${local_ip_interface[0]}" == "auto" ]]; then - local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')" - local_ip="${local_ip/uid*}" - [[ "$local_ip" ]] || local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')" - else - for interface in "${local_ip_interface[@]}"; do - local_ip="$(ip addr show "$interface" 2> /dev/null | - awk '/inet / {print $2; exit}')" - local_ip="${local_ip/\/*}" - [[ "$local_ip" ]] || - local_ip="$(ifconfig "$interface" 2> /dev/null | - awk '/broadcast/ {print $2; exit}')" - if [[ -n "$local_ip" ]]; then - prin "$interface" "$local_ip" - else - err "Local IP: Could not detect local ip for $interface" - fi - done - fi + local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')" + local_ip="${local_ip/uid*}" + [[ -z "$local_ip" ]] && local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')" ;; "MINIX") @@ -3876,19 +3705,8 @@ get_local_ip() { ;; "Mac OS X" | "macOS" | "iPhone OS") - if [[ "${local_ip_interface[0]}" == "auto" ]]; then - interface="$(route get 1 | awk -F': ' '/interface/ {printf $2; exit}')" - local_ip="$(ipconfig getifaddr "$interface")" - else - for interface in "${local_ip_interface[@]}"; do - local_ip="$(ipconfig getifaddr "$interface")" - if [[ -n "$local_ip" ]]; then - prin "$interface" "$local_ip" - else - err "Local IP: Could not detect local ip for $interface" - fi - done - fi + local_ip="$(ipconfig getifaddr en0)" + [[ -z "$local_ip" ]] && local_ip="$(ipconfig getifaddr en1)" ;; "Windows") @@ -3904,18 +3722,18 @@ get_local_ip() { } get_public_ip() { - if [[ ! -n "$public_ip_host" ]] && type -p dig >/dev/null; then + if type -p dig >/dev/null; then public_ip="$(dig +time=1 +tries=1 +short myip.opendns.com @resolver1.opendns.com)" [[ "$public_ip" =~ ^\; ]] && unset public_ip fi - if [[ ! -n "$public_ip_host" ]] && [[ -z "$public_ip" ]] && type -p drill >/dev/null; then + if [[ -z "$public_ip" ]] && type -p drill >/dev/null; then public_ip="$(drill myip.opendns.com @resolver1.opendns.com | \ awk '/^myip\./ && $3 == "IN" {print $5}')" fi if [[ -z "$public_ip" ]] && type -p curl >/dev/null; then - public_ip="$(curl -L --max-time "$public_ip_timeout" -w '\n' "$public_ip_host")" + public_ip="$(curl --max-time "$public_ip_timeout" -w '\n' "$public_ip_host")" fi if [[ -z "$public_ip" ]] && type -p wget >/dev/null; then @@ -3991,11 +3809,11 @@ get_cols() { [${text_padding}C${zws}} # Add block height to info height. - ((info_height+=block_range[1]>7?block_height+2:block_height+1)) + ((info_height+=block_range[1]>7?block_height+3:block_height+2)) case $col_offset in - "auto") printf '\n\e[%bC%b\n' "$text_padding" "${zws}${cols}" ;; - *) printf '\n\e[%bC%b\n' "$col_offset" "${zws}${cols}" ;; + "auto") printf '\n\e[%bC%b\n\n' "$text_padding" "${zws}${cols}" ;; + *) printf '\n\e[%bC%b\n\n' "$col_offset" "${zws}${cols}" ;; esac fi @@ -4015,16 +3833,14 @@ image_backend() { "ascii") print_ascii ;; "off") image_backend="off" ;; - "caca" | "catimg" | "chafa" | "jp2a" | "iterm2" | "termpix" |\ - "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot", | "ueberzug" |\ - "viu") + "caca" | "chafa" | "jp2a" | "iterm2" | "termpix" |\ + "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot") get_image_source [[ ! -f "$image" ]] && { to_ascii "Image: '$image_source' doesn't exist, falling back to ascii mode." return } - [[ "$image_backend" == "ueberzug" ]] && wait=true; get_window_size @@ -4042,9 +3858,9 @@ image_backend() { *) err "Image: Unknown image backend specified '$image_backend'." - err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', - 'kitty', 'off', 'sixel', 'pot', 'pixterm', 'termpix', - 'tycat', 'w3m', 'viu')" + err "Image: Valid backends are: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'kitty', + 'off', 'sixel', 'pot', 'pixterm', 'termpix', 'tycat', + 'w3m')" err "Image: Falling back to ascii mode." print_ascii ;; @@ -4074,14 +3890,7 @@ print_ascii() { done <<< "${ascii_data//\$\{??\}}" # Fallback if file not found. - ((lines==1)) && { - lines= - ascii_len= - image_source=auto - get_distro_ascii - print_ascii - return - } + ((lines==1)) && { lines=; ascii_len=; image_source=auto; get_distro_ascii; print_ascii; return; } # Colors. ascii_data="${ascii_data//\$\{c1\}/$c1}" @@ -4439,27 +4248,6 @@ display_image() { "$image" ;; - - "ueberzug") - if [ "$wait" = true ];then - wait=false; - else - ueberzug layer --parser bash 0< <( - declare -Ap ADD=(\ - [action]="add"\ - [identifier]="neofetch"\ - [x]=$xoffset [y]=$yoffset\ - [path]=$image\ - ) - read -rs - ) - fi - ;; - - "catimg") - catimg -w "$((width*catimg_size / font_width))" -r "$catimg_size" "$image" - ;; - "chafa") chafa --stretch --size="$((width / font_width))x$((height / font_height))" "$image" ;; @@ -4522,12 +4310,6 @@ display_image() { "$image" ;; - "viu") - viu \ - -t -w "$((width / font_width))" -h "$((height / font_height))" \ - "$image" - ;; - "w3m") get_w3m_img_path zws='\xE2\x80\x8B\x20' @@ -4896,10 +4678,6 @@ cache_uname() { kernel_machine="${uname[2]}" if [[ "$kernel_name" == "Darwin" ]]; then - # macOS can report incorrect versions unless this is 0. - # https://github.com/dylanaraps/neofetch/issues/1607 - export SYSTEM_VERSION_COMPAT=0 - IFS=$'\n' read -d "" -ra sw_vers <<< "$(awk -F'<|>' '/key|string/ {print $3}' \ "/System/Library/CoreServices/SystemVersion.plist")" for ((i=0;i<${#sw_vers[@]};i+=2)) { @@ -5067,7 +4845,6 @@ INFO: --ip_host url URL to query for public IP --ip_timeout int Public IP timeout (in seconds). - --ip_interface value Interface(s) to use for local IP --song_format format Print the song data in a specific format (see config file). --song_shorthand on/off Print the Artist/Album/Title on separate lines. --memory_percent on/off Display memory percentage. @@ -5085,7 +4862,7 @@ TEXT FORMATTING: COLOR BLOCKS: --color_blocks on/off Enable/Disable the color blocks - --col_offset auto/num Left-padding of color blocks + --col_offset auto/num Left-padding of color blocks --block_width num Width of color blocks in spaces --block_height num Height of color blocks in lines --block_range num num Range of colors to print as blocks @@ -5097,6 +4874,8 @@ BARS: --bar_length num Length in spaces to make the bars. --bar_colors num num Colors to make the bar. Set in this order: elapsed, total + --cpu_display mode Bar mode. + Possible values: bar, infobar, barinfo, off --memory_display mode Bar mode. Possible values: bar, infobar, barinfo, off --battery_display mode Bar mode. @@ -5106,8 +4885,8 @@ BARS: IMAGE BACKEND: --backend backend Which image backend to use. - Possible values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', - 'iterm2', 'off', 'sixel', 'tycat', 'w3m', 'kitty', 'viu' + Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', + 'off', 'sixel', 'tycat', 'w3m', 'kitty' --source source Which image or ascii file to use. Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/', 'command output' [ascii] @@ -5117,7 +4896,6 @@ IMAGE BACKEND: NEW: neofetch --ascii \"\$(fortune | cowsay -W 30)\" --caca source Shortcut to use 'caca' backend. - --catimg source Shortcut to use 'catimg' backend. --chafa source Shortcut to use 'chafa' backend. --iterm2 source Shortcut to use 'iterm2' backend. --jp2a source Shortcut to use 'jp2a' backend. @@ -5128,8 +4906,6 @@ IMAGE BACKEND: --termpix source Shortcut to use 'termpix' backend. --tycat source Shortcut to use 'tycat' backend. --w3m source Shortcut to use 'w3m' backend. - --ueberzug source Shortcut to use 'ueberzug' backend - --viu source Shortcut to use 'viu' backend --off Shortcut to use 'off' backend (Disable ascii art). NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img', @@ -5139,37 +4915,35 @@ ASCII: --ascii_colors x x x x x x Colors to print the ascii art --ascii_distro distro Which Distro's ascii art to print - NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, - instantOS, Antergos, antiX, \"AOSC OS\", \"AOSC OS/Retro\", - Apricity, ArchCraft, ArcoLinux, ArchBox, ARCHlabs, ArchStrike, - XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, Bitrig, - BlackArch, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, - Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau, Chrom, - Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, Container_Linux, - Crystal Linux, CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS, Devuan, - DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary, EndeavourOS, Endless, + NOTE: AIX, Alpine, AlterLinux, Anarchy, Android, Antergos, antiX, + \"AOSC OS\", \"AOSC OS/Retro\", Apricity, ArcoLinux, ArchBox, + ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, + Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, + BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau, + Chrom, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, + Container_Linux, CRUX, Cucumber, Debian, Deepin, DesaOS, Devuan, + DracOS, DarkOs, DragonFly, Drauger, Elementary, EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, gNewSense, GNOME, GNU, - GoboLinux, Grombyang, Guix, Haiku, Huayra, Hyperbola, iglunix, janus, Kali, + GoboLinux, Grombyang, Guix, Haiku, Huayra, Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora, KSLinux, Kubuntu, LEDE, - LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, - Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui, Mer, Minix, LinuxMint, - Live_Raizo, MX_Linux, Namib, Neptune, NetBSD, Netrunner, Nitrux, - NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, - openmamba, OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, - OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix, TrueOS, - PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS, - Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian, Reborn_OS, - Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, Rosa, - sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor, - SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, SmartOS, - Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, - t2, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel, - Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, - Ubuntu-Studio, Ubuntu, Univention, Venom, Void, VNux, LangitKetujuh, semc, - Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos. + LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, + Mandriva, Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, + Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, NuTyX, + OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, + OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, Parabola, + Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, popos, + Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, + Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, + Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, + Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, + SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, + openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, + Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, + Ubuntu, UrukOS ,Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, + and IRIX have ascii logos - NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants. + NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. NOTE: Use '{distro name}_old' to use the old logos. @@ -5180,7 +4954,7 @@ ASCII: NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, - Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, + Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, postmarketOS, and Void have a smaller logo variant. @@ -5195,7 +4969,6 @@ IMAGE: in some terminals emulators when using image mode. --size 00px | --size 00% How to size the image. Possible values: auto, 00px, 00%, none - --catimg_size 1/2 Change the resolution of catimg. --crop_mode mode Which crop mode to use Takes the values: normal, fit, fill --crop_offset value Change the crop offset for normal mode. @@ -5265,17 +5038,6 @@ get_args() { "--shell_version") shell_version="$2" ;; "--ip_host") public_ip_host="$2" ;; "--ip_timeout") public_ip_timeout="$2" ;; - "--ip_interface") - unset local_ip_interface - for arg in "$@"; do - case "$arg" in - "--ip_interface") ;; - "-"*) break ;; - *) local_ip_interface+=("$arg") ;; - esac - done - ;; - "--song_format") song_format="$2" ;; "--song_shorthand") song_shorthand="$2" ;; "--music_player") music_player="$2" ;; @@ -5350,6 +5112,7 @@ get_args() { bar_color_total="$3" ;; + "--cpu_display") cpu_display="$2" ;; "--memory_display") memory_display="$2" ;; "--battery_display") battery_display="$2" ;; "--disk_display") disk_display="$2" ;; @@ -5357,9 +5120,8 @@ get_args() { # Image backend "--backend") image_backend="$2" ;; "--source") image_source="$2" ;; - "--ascii" | "--caca" | "--catimg" | "--chafa" | "--jp2a" | "--iterm2" | "--off" |\ - "--pot" | "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty" |\ - "--ueberzug" | "--viu") + "--ascii" | "--caca" | "--chafa" | "--jp2a" | "--iterm2" | "--off" | "--pot" |\ + "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty") image_backend="${1/--}" case $2 in "-"* | "") ;; @@ -5370,7 +5132,6 @@ get_args() { # Image options "--loop") image_loop="on" ;; "--image_size" | "--size") image_size="$2" ;; - "--catimg_size") catimg_size="$2" ;; "--crop_mode") crop_mode="$2" ;; "--crop_offset") crop_offset="$2" ;; "--xoffset") xoffset="$2" ;; @@ -5467,6 +5228,7 @@ get_args() { info "GPU Driver" gpu_driver info "Memory" memory + info "CPU Usage" cpu_usage info "Disk" disk info "Battery" battery info "Font" font @@ -5488,6 +5250,7 @@ get_args() { refresh_rate="on" shell_version="on" + cpu_display="infobar" memory_display="infobar" disk_display="infobar" cpu_temp="C" @@ -5518,7 +5281,6 @@ get_simple() { old_functions() { # Removed functions for backwards compatibility. get_line_break() { :; } - get_cpu_usage() { :; } } get_distro_ascii() { @@ -5552,16 +5314,6 @@ h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y EOF ;; - "Aperio GNU/Linux"*) - set_colors 255 - read -rd '' ascii_data <<'EOF' -${c2} - _.._ _ ._.. _ -(_][_)(/,[ |(_) - | GNU/Linux -EOF - ;; - "Hash"*) set_colors 123 read -rd '' ascii_data <<'EOF' @@ -5584,32 +5336,6 @@ ${c1} EOF ;; - "AlmaLinux"*) - set_colors 1 3 4 2 6 - read -rd '' ascii_data <<'EOF' -${c1} 'c:. -${c1} lkkkx, .. ${c2}.. ,cc, -${c1} okkkk:ckkx' ${c2}.lxkkx.okkkkd -${c1} .:llcokkx' ${c2}:kkkxkko:xkkd, -${c1} .xkkkkdood: ${c2};kx, .lkxlll; -${c1} xkkx. ${c2}xk' xkkkkk: -${c1} 'xkx. ${c2}xd .....,. -${c3} .. ${c1}:xkl' ${c2}:c ..''.. -${c3} .dkx' ${c1}.:ldl:'. ${c2}' ${c4}':lollldkkxo; -${c3} .''lkkko' ${c4}ckkkx. -${c3}'xkkkd:kkd. .. ${c5};' ${c4}:kkxo. -${c3},xkkkd;kk' ,d; ${c5}ld. ${c4}':dkd::cc, -${c3} .,,.;xkko'.';lxo. ${c5}dx, ${c4}:kkk'xkkkkc -${c3} 'dkkkkkxo:. ${c5};kx ${c4}.kkk:;xkkd. -${c3} ..... ${c5}.;dk:. ${c5}lkk. ${c4}:;, - ${c5}:kkkkkkkdoxkkx - ,c,,;;;:xkkd. - ;kkkkl... - ;kkkkl - ,od; -EOF - ;; - "alpine_small") set_colors 4 7 read -rd '' ascii_data <<'EOF' @@ -5698,6 +5424,7 @@ dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd `-+shy shs+:` EOF ;; + "Anarchy"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' @@ -5768,34 +5495,6 @@ ${c1} -o o- EOF ;; - "instantOS"*) - set_colors 4 6 - read -rd '' ascii_data <<'EOF' - -${c1} - 'cx0XWWMMWNKOd:'. - .;kNMMMMMMMMMMMMMWNKd' - 'kNMMMMMMWNNNWMMMMMMMMXo. -,0MMMMMW0o;'..,:dKWMMMMMWx. -OMMMMMXl. .xNMMMMMNo -WMMMMNl .kWWMMMMO' -MMMMMX; oNWMMMMK, -NMMMMWo .OWMMMMMK, -kWMMMMNd. ,kWMMMMMMK, -'kWMMMMWXxl:;;:okNMMMMMMMMK, - .oXMMMMMMMWWWMMMMMMMMMMMMK, - 'oKWMMMMMMMMMMMMMMMMMMMK, - .;lxOKXXXXXXXXXXXXXXXO;...... - ................,d0000000kd:. - .kMMMMMMMMMW0; - .kMMMMMMMMMMMX - .xMMMMMMMMMMMW - cXMMMMMMMMMM0 - :0WMMMMMMNx, - .o0NMWNOc. -EOF - ;; - "Antergos"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' @@ -5914,30 +5613,6 @@ dhhyys+/-` EOF ;; - "Archcraft"*) - set_colors 6 6 7 1 - read -rd '' ascii_data <<'EOF' -${c1} -m: - :NMM+ .+ - +MMMMMo -NMy - sMMMMMMMy -MMMMh` - yMMMMMMMMMd` oMMMMd` - `dMMMMMMMMMMMm. /MMMMm- - .mMMMMMm-dMMMMMN- :NMMMN: - -NMMMMMd` yMMMMMN: .mMMMM/ - :NMMMMMy sMMMMMM+ `dMMMMo - +MMMMMMs +MMMMMMs `hMMMMy - oMMMMMMMds- :NMMMMMy sMMMMh` - yMMMMMNoydMMmo` -NMMMMMd` +MMMMd. - `dMMMMMN- `:yNNs` .mMMMMMm. /MMMMm- - .mMMMMMm. :hN/ `dMMMMMN- -NMMMN: - -NMMMMMd` -hh` `yMMMMMN: .mMMMM/ - :NMMMMMy `s` :h. oMMMMMM+ `----- - +MMMMMMo .dMm. `o. +MMMMMMo -sMMMMMM+ .mMMMN: :` :NMMMMMy -EOF - ;; - "arcolinux_small"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' @@ -6227,29 +5902,6 @@ ${c1}:syyyyyy/ :yyyyyy/${c2}-yyo.:syyyyyyyyyyy EOF ;; - "AsteroidOS"*) - set_colors 160 208 202 214 - read -rd '' ascii_data <<'EOF' -${c1} *** -${c1} ***** -${c1} ********** -${c1} *************** -${c1} *///****////****////. -${c2} (/////// /////// ///////( -${c2} /(((((//* //, //((((((. -${c2} ((((((((((( ((( (((((((( -${c2} *((((((((((((((((((((((( (((((((( -${c3} (((((#(((((((#((((( ((#((((( -${c3} (#(#(#####(#(#, ####(#(# -${c3} ######### ######## -${c3} /######## ######## -${c4} #######%####### -${c4} (#%%%%%%%# -${c4} %%%%% -${c4} %%% -EOF - ;; - "Bedrock"*) set_colors 8 7 read -rd '' ascii_data <<'EOF' @@ -6394,30 +6046,6 @@ ${c1} oMMNMMMMMMMMMMMMMMMMMMMMMM EOF ;; - "Bodhi"*) - set_colors 7 11 2 - read -rd '' ascii_data <<'EOF' -${c1}| ${c2},,mmKKKKKKKKWm,, - ${c1}' ${c2},aKKP${c1}LL**********|L*${c2}TKp, - ${c1}t ${c2}aKP${c1}L**``` ```**L${c2}*Kp - IX${c1}EL${c3}L,wwww, ${c1}``*||${c2}Kp - ,#P${c1}L|${c3}KKKpPP@IPPTKmw, ${c1}`*||${c2}K - ,K${c1}LL*${c3}{KKKKKKPPb$KPhpKKPKp ${c1}`||${c2}K - #${c1}PL ${c3}!KKKKKKPhKPPP$KKEhKKKKp ${c1}`||${c2}K -!H${c1}L* ${c3}1KKKKKKKphKbPKKKKKK$KKp ${c1}`|I${c2}W -$${c1}bL ${c3}KKKKKKKKBQKhKbKKKKKKKK ${c1}|I${c2}N -$${c1}bL ${c3}!KKKKKKKKKKNKKKKKKKPP` ${c1}|I${c2}b -TH${c1}L* ${c3}TKKKKKK##KKKN@KKKK^ ${c1}|I${c2}M - K@${c1}L ${c3}*KKKKKKKKKKKEKE5 ${c1}||${c2}K - `NL${c1}L ${c3}`KKKKKKKKKK"```|L ${c1}||${c2}#P - `K@${c1}LL ${c3}`"**"` ${c1}'. :||${c2}#P - Yp${c1}LL ${c1}' |L${c2}$M` - `Tp${c1}pLL, ,|||${c2}p'L - "Kpp${c1}LL++,., ,,|||$${c2}#K* ${c1}'. - ${c2}`"MKWpppppppp#KM"` ${c1}`h, -EOF - ;; - "bonsai"*) set_colors 6 2 3 read -rd '' ascii_data <<'EOF' @@ -6537,60 +6165,6 @@ ${c2} .......... ..;cllllccccclllc;'. ...',;;;;;;,,... ..... -EOF - ;; - - "CBL-Mariner"*) - set_colors 6 - read -rd '' ascii_data <<'EOF' -${c1} . - :- . - :==. .=: - :===: -==: - :-===: .====: - :-====- -=====: - -====== :=======: - -======. .=========: - -======: -==========. - -======- -===========. - :======- :===========. - :=======. .-==========. - :=======: -==========. - :=======- :==========. - :=======- .-========- -:--------. :========- - ..:::--=========- - ..::---================-=- -EOF - ;; - - "CelOS"*) - set_colors 4 6 0 5 - read -rd '' ascii_data <<'EOF' - -${c4} .,cmmmmmmmmmmmc,. - .,cmMMMMMMMMMMMMMMMMMMMMmc. - .cMMMMMMMMMMMMMMMMMMMMMMMMMMMmc. - .cMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc. - ,:MMM ${c3}####################################${c4} - cMMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmc. - .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. - .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc - "******************************MMMMMMMMMMMMMc: -${c3}#################################### ${c4}MMMMMMMMMMMMMc - "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: - "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" - 'MMMMMMMMM*******************************: - \"MMMMMM ${c3}##################################### - ${c4}`:MMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmm; - `"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" - `":MMMMMMMMMMMMMMMMMMMMMMMMM;' - `":MMMMMMMMMMMMMMMMMMM:" - "************" - - - - EOF ;; @@ -6925,32 +6499,6 @@ ${c2} lodd${c1}dolccc${c2}ccox${c1}xoloo EOF ;; - *"Crystal Linux"*) - set_colors 13 5 - read -rd '' ascii_data <<'EOF' -${c1} mysssym -${c1} mysssym -${c1} mysssym -${c1} mysssym -${c1} mysssyd -${c1} mysssyd N -${c1} mysssyd mysym -${c1} mysssyd dysssym -${c1} mysssyd dysssym -${c1} mysssyd dysssym -${c1} mysssyd dysssym -${c1} mysssyd dysssym -${c1} mysssyd dysssym -${c1} mysym dysssym -${c1} N dysssym -${c1} dysssym -${c1} dysssym -${c1} dysssym -${c1} dysssym -${c1} dysssym -EOF - ;; - *"Cucumber"*) set_colors 2 3 read -rd '' ascii_data <<'EOF' @@ -6977,27 +6525,6 @@ o/${c2}--...::-:/::/:-......-::::::-/-...-${c1}:/o EOF ;; - "CyberOS"*) - set_colors 50 32 57 - read -rd '' ascii_data <<'EOF' -${c3} !M$EEEEEEEEEEEP - .MMMMM000000Nr. - ${c3}&MMMMMM${c2}MMMMMMMMMMMMM9 - ${c3}~MMM${c1}MMMM${c2}MMMMMMMMMMMMC - ${c1}" ${c3}M${c1}MMMMMMM${c2}MMMMMMMMMMs - ${c1}iM${c2}MMM&&${c1}MMMMMMMM${c2}MMMMMMMM\\ - ${c1}BMMM${c2}MMMMM${c1}MMMMMMM${c2}MMMMMM${c3}" - ${c1}9MMMMM${c2}MMMMMMM${c1}MMMM${c2}MMMM${c3}MMMf- - ${c2}sMMMMMMMM${c1}MM${c2}M${c3}MMMMMMMMM3_ - ${c2}+ffffffff${c1}P${c3}MMMMMMMMMMMM0 - ${c2}CMMMMMMMMMMM - }MMMMMMMMM - ~MMMMMMM - "RMMMM - .PMB -EOF - ;; - "dahlia"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' @@ -7039,7 +6566,7 @@ EOF read -rd '' ascii_data <<'EOF' ${c2} _,met$$$$$gg. ,g$$$$$$$$$$$$$$$P. - ,g$$P" """Y$$.". + ,g$$P" """Y$$.". ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' ${c1}.${c2} $$$ @@ -7402,21 +6929,20 @@ EOF ;; "fedora_small") - set_colors 12 + set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${c1} ,'''''. - | ,. | - | | '_' - ,....| |.. -.' ,_;| ..' -| | | | -| ',_,' | - '. ,' - ''''' +${c2} _____ + / __)${c1}\\${c2} + | / ${c1}\\ \\${c2} + ${c1}__${c2}_| |_${c1}_/ /${c2} + ${c1}/ ${c2}(_ _)${c1}_/${c2} +${c1}/ /${c2} | | +${c1}\\ \\${c2}__/ | + ${c1}\\${c2}(_____/ EOF ;; - "Fedora_old"* | "RFRemix"*) + "Fedora"* | "RFRemix"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} /:-------------:\\ @@ -7439,31 +6965,6 @@ ${c1} /:-------------:\\ EOF ;; - "Fedora"*) - set_colors 12 7 - read -rd '' ascii_data <<'EOF' -${c1} .',;::::;,'. - .';:cccccccccccc:;,. - .;cccccccccccccccccccccc;. - .:cccccccccccccccccccccccccc:. - .;ccccccccccccc;${c2}.:dddl:.${c1};ccccccc;. - .:ccccccccccccc;${c2}OWMKOOXMWd${c1};ccccccc:. -.:ccccccccccccc;${c2}KMMc${c1};cc;${c2}xMMc${c1};ccccccc:. -,cccccccccccccc;${c2}MMM.${c1};cc;${c2};WW:${c1};cccccccc, -:cccccccccccccc;${c2}MMM.${c1};cccccccccccccccc: -:ccccccc;${c2}oxOOOo${c1};${c2}MMM0OOk.${c1};cccccccccccc: -cccccc;${c2}0MMKxdd:${c1};${c2}MMMkddc.${c1};cccccccccccc; -ccccc;${c2}XM0'${c1};cccc;${c2}MMM.${c1};cccccccccccccccc' -ccccc;${c2}MMo${c1};ccccc;${c2}MMW.${c1};ccccccccccccccc; -ccccc;${c2}0MNc.${c1}ccc${c2}.xMMd${c1};ccccccccccccccc; -cccccc;${c2}dNMWXXXWM0:${c1};cccccccccccccc:, -cccccccc;${c2}.:odl:.${c1};cccccccccccccc:,. -:cccccccccccccccccccccccccccc:'. -.:cccccccccccccccccccccc:;,.. - '::cccccccccccccc::;,. -EOF - ;; - "Feren"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -7615,30 +7116,30 @@ EOF ;; "Garuda"*) - set_colors 7 7 3 7 2 4 + set_colors 7 7 read -rd '' ascii_data <<'EOF' - -${c3} - .%;888:8898898: - x;XxXB%89b8:b8%b88: - .8Xxd 8X:. - .8Xx; 8x:. - .tt8x ${c6}.d${c3} x88; - .@8x8; ${c6}.db:${c3} xx@; - ${c4},tSXX° .bbbbbbbbbbbbbbbbbbbB8x@; - .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8; - ,888S pd! - 8X88/ q - GBB. - ${c5}x%88 d888@8@X@X@X88X@@XX@@X@8@X. - dxXd dB8b8b8B8B08bB88b998888b88x. - dxx8o .@@;. - dx88 .t@x. - d:SS@8ba89aa67a853Sxxad. - .d988999889889899dd. - +${c1} __,,,,,,,_ + _╓╗╣╫╠╠╠╠╠╠╠╠╠╠╠╠╠╕╗╗┐_ + ╥╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥, + ╗╠╠╠╠╠╠╠╝╜╜╜╜╝╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠┐ + ╣╠╠╠╠╠╠╠╠╢╣╢╗╕ , `"╘╠╠╠╠╠╠╠╠╠╠╠╠╠╠╔╥_ + ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╕╙╥╥╜ `"╜╠╬╠╠╠╠╠╠╠╠╠╠╠╥, + ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗╥╥╥╥╗╗╬╠╠╠╠╠╠╠╝╙╠╠╣╠╠╠╠╢┐ + ╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥╬╣╠╠╠╠╠╠╠╠╗ + ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ + ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ + ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╬ ```"╜╝╢╠╠╡ + ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╣, ╘╠╪ + ╞╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╢┐ ╜ + `╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ + ,╬╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"╕ + ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ + ╝^╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╝╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╡ + ╔╜`╞┘╢╛╜ ╡╢╠"╚╠╠╜╝┌╞╞"╢╠╠╠╠╠╠╠╠╠╠╣╩╢╪ + ╜╒" `╜ ` ╜╙╕ └╣╠╠╠╠╕ ╞╙╖ + ╠╠╠ + ╜ EOF - ;; "gentoo_small") @@ -7705,24 +7206,6 @@ MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM EOF ;; - "glaucus"*) - set_colors 5 - read -rd '' ascii_data <<'EOF' -${c1} ,, ,d88P - ,d8P ,ad8888* - ,888P d88888* ,,ad8888P* - d d888P a88888P* ,ad8888888* - .d8 d8888: d888888* ,d888888P* - .888; 88888b d8888888b8888888P - d8888J888888a88888888888888P* ,d - 88888888888888888888888888P ,,d8* - 888888888888888888888888888888888* - *8888888888888888888888888888888* - Y888888888P* `*``*888888888888* - *^888^* *Y888P** -EOF - ;; - "gNewSense"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' @@ -7872,22 +7355,25 @@ EOF ;; "Haiku"*) - set_colors 1 3 7 2 + set_colors 2 8 read -rd '' ascii_data <<'EOF' -${c3} - - MMMM MMMM - MMMM MMMM - MMMM MMMM - MMMM MMMM - MMMM${c4} .ciO| /YMMMMM*" -${c3} MMMM${c4} .cOMMMMM|/MMMMM/` - , ,iMM|/MMMMMMMMMMMMMMM* - `*.__,-cMMMMMMMMMMMMMMMMM/`${c3}.MMM - MM${c4}MMMMMMM/`:MMM/ ${c3}MMMM - MMMM MMMM - MMMM MMMM - """" """" +${c2} :dc' + 'l:;'${c1},${c2}'ck. .;dc:. + co ${c1}..${c2}k. .;; ':o. + co ${c1}..${c2}k. ol ${c1}.${c2}0. + co ${c1}..${c2}k. oc ${c1}..${c2}0. + co ${c1}..${c2}k. oc ${c1}..${c2}0. +.Ol,. co ${c1}...''${c2}Oc;kkodxOdddOoc,. + ';lxxlxOdxkxk0kd${c1}oooll${c2}dl${c1}ccc:${c2}clxd; + ..${c1}oOolllllccccccc:::::${c2}od; + cx:ooc${c1}:::::::;${c2}cooolcX. + cd${c1}.${c2}''cloxdoollc' ${c1}...${c2}0. + cd${c1}......${c2}k;${c1}.${c2}xl${c1}.... .${c2}0. + .::c${c1};..${c2}cx;${c1}.${c2}xo${c1}..... .${c2}0. + '::c'${c1}...${c2}do${c1}..... .${c2}K, + cd,.${c1}....:${c2}O,${c1} + ':clod:'${c1} + ${c1} EOF ;; @@ -7914,21 +7400,6 @@ ${c2} ` EOF ;; - "HydroOS"*) - set_colors 1 2 3 4 5 - read -rd '' ascii_data <<'EOF' -${c1} - _ _ _ ____ _____ - | | | | | | / __ \ / ____| - | |__| |_ _ __| |_ __ ___ | | | | (___ - | __ | | | |/ _` | '__/ _ \| | | |\___ \ - | | | | |_| | (_| | | | (_) | |__| |____) | - |_| |_|\__, |\__,_|_| \___/ \____/|_____/ - __/ | - |___/ -EOF - ;; - "hyperbola_small"*) set_colors 8 read -rd '' ascii_data <<'EOF' @@ -7964,24 +7435,6 @@ WW W EOF ;; - "iglunix"*|"iglu"*) - set_colors 8 - read -rd '' ascii_data <<'EOF' -${c1} | - | | - | -| ________ -| /\ | \ - / \ | \ | - / \ \ | -/ \________\ -\ / / - \ / / - \ / / - \/________/ -EOF - ;; - "januslinux"*|"janus"*|"Ataraxia Linux"*|"Ataraxia"*) set_colors 4 5 6 2 read -rd '' ascii_data <<'EOF' @@ -8012,30 +7465,6 @@ ${c1} cooo: ${c2}coooooooooooooooooool EOF ;; - "Kaisen"*) - set_colors 1 7 3 - read -rd '' ascii_data <<'EOF' -${c1} ` - `:+oyyho. - `+:`sdddddd/ - `+` :ho oyo++ohds-` - .ho :dd. .: `sddddddhhyso+/- - ody.ddd-:yd- +hysssyhddddddddho` - yddddddhddd` ` `--` -+hddddddh. - hddy-+dddddy+ohh/..+sddddy/:::+ys - :ddd/sdddddddddd- oddddddd ` - `yddddddddddddddd/ /ddddddd/ -:. :ydddddddddddddddddo..sddddddy/` -odhdddddddo- `ddddh+-``....-+hdddddds. --ddddddhd: /dddo -ydddddddhdddddddd- - /hdy:o - `:sddds .`./hdddddddddddddo - `/- `+hddyosy+ :dddddddy-.-od/ - :sydds -hddddddd` / - .+shd- `:ohddddddddd` - `:+ooooooooooooo: -EOF - ;; - "Kali"*) set_colors 4 8 read -rd '' ascii_data <<'EOF' @@ -8235,60 +7664,6 @@ EOF EOF ;; - "LaxerOS"*) - set_colors 7 4 - read -rd '' ascii_data <<'EOF' -${c2} - /. - `://:- - `//////: - .////////:` - -//////////:` - -/////////////` - :///////////////. - `://////.```-//////- - `://///:` .//////- - `//////: `//////: - .//////- `://///:` - -//////- `://///:` - -//////. ://////` - ://////` -//////. - `/////:` ./////: - .-::-` .:::-` - -.:://////////////////////////////////::. -//////////////////////////////////////// -.:////////////////////////////////////:. - -EOF - ;; - - "LibreELEC"*) - set_colors 2 3 7 14 13 - read -rd '' ascii_data <<'EOF' -${c1} :+ooo/. ${c2}./ooo+: -${c1} :+ooooooo/. ${c2}./ooooooo+: -${c1} :+ooooooooooo:${c2}:ooooooooooo+: -${c1} :+ooooooooooo+- ${c2}-+ooooooooooo+: -${c1} :+ooooooooooo+- ${c3}-- ${c2}-+ooooooooooo+: -${c1}.+ooooooooooo+- ${c3}:+oo+: ${c2}-+ooooooooooo+- -${c1}-+ooooooooo+- ${c3}:+oooooo+: ${c2}-+oooooooooo- -${c1} :+ooooo+- ${c3}:+oooooooooo+: ${c2}-+oooooo: -${c1} :+o+- ${c3}:+oooooooooooooo+: ${c2}-+oo: -${c4} ./ ${c3}:oooooooooooooooooo: ${c5}/. -${c4} ./oo+: ${c3}-+oooooooooooooo+- ${c5}:+oo/. -${c4} ./oooooo+: ${c3}-+oooooooooo+- ${c5}:+oooooo/. -${c4}-oooooooooo+: ${c3}-+oooooo+- ${c5}:+oooooooooo- -${c4}.+ooooooooooo+: ${c3}-+oo+- ${c5}:+ooooooooooo+. -${c4} -+ooooooooooo+: ${c3}.. ${c5}:+ooooooooooo+- -${c4} -+ooooooooooo+: ${c5}:+ooooooooooo+- -${c4} -+oooooooooo+:${c5}:+oooooooooo+- -${c4} -+oooooo+: ${c5}:+oooooo+- -${c4} -+oo+: ${c5}:+oo+- -${c4} .. ${c5}.. -EOF - ;; - "Linux") set_colors fg 8 3 read -rd '' ascii_data <<'EOF' @@ -8372,26 +7747,26 @@ EOF "Lubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${c1} `.:/ossyyyysso/:. - `.:yyyyyyyyyyyyyyyyyy:.` - .:yyyyyyyyyyyyyyyyyyyyyyyy:. - .:yyyyyyyyyyyyyyyyyyyyyyyyyyyy:. - -yyyyyyyyyyyyyy${c2}+hNMMMNh+${c1}yyyyyyyyy- - :yy${c2}mNy+${c1}yyyyyyyy${c2}+Nmso++smMdhyysoo+${c1}yy: - -yy${c2}+MMMmmy${c1}yyyyyy${c2}hh${c1}yyyyyyyyyyyyyyyyyyy- -.yyyy${c2}NMN${c1}yy${c2}shhs${c1}yyy${c2}+o${c1}yyyyyyyyyyyyyyyyyyyy. -:yyyy${c2}oNM+${c1}yyyy${c2}+sso${c1}yyyyyyy${c2}ss${c1}yyyyyyyyyyyyy: -:yyyyy${c2}+dNs${c1}yyyyyyy${c2}++${c1}yyyyy${c2}oN+${c1}yyyyyyyyyyyy: -:yyyyy${c2}oMMmhysso${c1}yyyyyyyyyy${c2}mN+${c1}yyyyyyyyyyy: -:yyyyyy${c2}hMm${c1}yyyyy${c2}+++${c1}yyyyyyy${c2}+MN${c1}yyyyyyyyyyy: -.yyyyyyy${c2}ohmy+${c1}yyyyyyyyyyyyy${c2}NMh${c1}yyyyyyyyyy. - -yyyyyyyyyy${c2}++${c1}yyyyyyyyyyyy${c2}MMh${c1}yyyyyyyyy- - :yyyyyyyyyyyyyyyyyyyyy${c2}+mMN+${c1}yyyyyyyy: - -yyyyyyyyyyyyyyyyy${c2}+sdMMd+${c1}yyyyyyyy- - .:yyyyyyyyy${c2}hmdmmNMNdy+${c1}yyyyyyyy:. - .:yyyyyyy${c2}my${c1}yyyyyyyyyyyyyyy:. - `.:yyyy${c2}s${c1}yyyyyyyyyyyyy:.` - `.:/oosyyyysso/:.` +${c1} `-mddhhhhhhhhhddmss` + ./mdhhhhhhhhhhhhhhhhhhhhhh. + :mdhhhhhhhhhhhhhhhhhhhhhhhhhhhm` + :ymhhhhhhhhhhhhhhhyyyyyyhhhhhhhhhy: + `odhyyyhhhhhhhhhy+-````./syhhhhhhhho` + `hhy..:oyhhhhhhhy-`:osso/..:/++oosyyyh` + dhhs .-/syhhhhs`shhhhhhyyyyyyyyyyyyhs +:hhhy` yso/:+syhy/yhhhhhshhhhhhhhhhhhhh: +hhhhho. +hhhys++oyyyhhhhh-yhhhhhhhhhhhhhs +hhhhhhs-`/syhhhhyssyyhhhh:-yhhhhhhhhhhhhh +hhhhhhs `:/+ossyyhyyhhhhs -yhhhhhhhhhhhh +hhhhhhy/ `syyyssyyyyhhhhhh: :yhhhhhhhhhhs +:hhhhhhyo:-/osyhhhhhhhhhhho ohhhhhhhhhh: + sdhhhhhhhyyssyyhhhhhhhhhhh+ +hhhhhhhhs + `shhhhhhhhhhhhhhhhhhhhhhy+` .yhhhhhhhh` + +sdhhhhhhhhhhhhhhhhhyo/. `/yhhhhhhhd` + `:shhhhhhhhhh+---..``.:+yyhhhhhhh: + `:mdhhhhhh/.syssyyyyhhhhhhhd:` + `+smdhhh+shhhhhhhhhhhhdm` + `sNmdddhhhhhhhddm-` EOF ;; @@ -8431,11 +7806,11 @@ EOF "mac"* | "Darwin") set_colors 2 3 1 1 5 4 read -rd '' ascii_data <<'EOF' -${c1} c.' +${c1} 'c. ,xNMM. .OMMMMo - lMM" - .;loddo:. .olloddol;. + OMMM0, + .;loddo:' loolloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. @@ -8443,11 +7818,11 @@ ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. - ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk - 'XMMMMMMMMMMMMMMMMMMMMMMMMK. + ${c5}.XMMMMMMMMMMMMMMMMMMMMMMMMMMk + .XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. - "cooc*" "*coo'" + .cooc,. .,coo:. EOF ;; @@ -8515,7 +7890,7 @@ o00. k0O${c2}dddddd${c1}occ EOF ;; - "Mandriva"* | "Mandrake"*) + "Mandriva"*) set_colors 4 3 read -rd '' ascii_data <<'EOF' ${c2} `` @@ -8569,33 +7944,6 @@ ${c1}██████████████████ ██████ EOF ;; - "TeArch"*) - set_colors 39 7 1 - read -rd '' ascii_data <<'EOF' -${c1} @@@@@@@@@@@@@@ - @@@@@@@@@ @@@@@@ - @@@@@ @@@@@ - @@ @@ - @% @@ - @ @ - @@@@@@@@@@@@@@@@@@@@@@@@ @@ - .@@@@@@@@@@@@/@@@@@@@@@@@@ - @@@@@@@@@@@@///@@@@@@@@@@@@ - @@@@@@@@@@@@@((((@@@@@@@@@@@@ - @@@@@@@@@@@#(((((((#@@@@@@@@@@@ - @@@@@@@@@@@#//////////@@@@@@@@@@& - @@@@@@@@@@////@@@@@////@@@@@@@@@@ - @@@@@@@@//////@@@@@/////@@@@@@@@@ - @@@@@@@//@@@@@@@@@@@@@@@//@@@@@@@ - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@ .@@@@@@@@@@@@@@@@@@@@@@@@@ @ - @@@@@@ @@@. @@@@@@@ - @@@@@@@&@@@@@@@# #@@@@@@@@@@@@@@@@ - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - @@@@@@@@@@@@@@@@@@@@@ -EOF - ;; - "Maui"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' @@ -8738,31 +8086,6 @@ ${c2} ``-:::::-`` EOF ;; - "Live Raizo"* | "Live_Raizo"*) - set_colors 3 - read -rd '' ascii_data <<'EOF' -${c1} `......` - -+shmNMMMMMMNmhs/. - :smMMMMMmmhyyhmmMMMMMmo- - -hMMMMd+:. `----` .:odMMMMh- - `hMMMN+. .odNMMMMMMNdo. .yMMMMs` - hMMMd. -dMMMMmdhhdNMMMNh` .mMMMh -oMMMm` :MMMNs.:sddy:-sMMMN- `NMMM+ -mMMMs dMMMo sMMMMMMd yMMMd sMMMm -----` .---` oNMMMMMh `---. .---- - .sMMy: - /MM/ - +dMMms. - hMMMMMMN - `dMMMMMMm: - .+ss+sMNysMMoomMd+ss+. - +MMMMMMN` +MM/ hMMMMMNs - sMMMMMMm-hNMMMd-hMMMMMMd - :yddh+`hMMMMMMN :yddy/` - .hMMMMd: - `..` -EOF - ;; "mx_small"*) set_colors 4 6 7 @@ -8948,7 +8271,7 @@ EOF EOF ;; - "nixos_old"*) + "NixOS"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ::::. ${c2}'::::: ::::' @@ -8973,32 +8296,6 @@ ${c1} .:::: :::: ${c2}'::::. EOF ;; - "NixOS"*) - set_colors 4 6 - read -rd '' ascii_data <<'EOF' -${c1} ▗▄▄▄ ${c2}▗▄▄▄▄ ▄▄▄▖ -${c1} ▜███▙ ${c2}▜███▙ ▟███▛ -${c1} ▜███▙ ${c2}▜███▙▟███▛ -${c1} ▜███▙ ${c2}▜██████▛ -${c1} ▟█████████████████▙ ${c2}▜████▛ ${c1}▟▙ -${c1} ▟███████████████████▙ ${c2}▜███▙ ${c1}▟██▙ -${c2} ▄▄▄▄▖ ▜███▙ ${c1}▟███▛ -${c2} ▟███▛ ▜██▛ ${c1}▟███▛ -${c2} ▟███▛ ▜▛ ${c1}▟███▛ -${c2}▟███████████▛ ${c1}▟██████████▙ -${c2}▜██████████▛ ${c1}▟███████████▛ -${c2} ▟███▛ ${c1}▟▙ ▟███▛ -${c2} ▟███▛ ${c1}▟██▙ ▟███▛ -${c2} ▟███▛ ${c1}▜███▙ ▝▀▀▀▀ -${c2} ▜██▛ ${c1}▜███▙ ${c2}▜██████████████████▛ -${c2} ▜▛ ${c1}▟████▙ ${c2}▜████████████████▛ -${c1} ▟██████▙ ${c2}▜███▙ -${c1} ▟███▛▜███▙ ${c2}▜███▙ -${c1} ▟███▛ ▜███▙ ${c2}▜███▙ -${c1} ▝▀▀▀ ▀▀▀▀▘ ${c2}▀▀▀▘ -EOF - ;; - "Nurunner"*) set_colors 4 read -rd '' ascii_data <<'EOF' @@ -9122,29 +8419,23 @@ EOF "openEuler"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${c1} `.cc.` - ``.cccccccc..` - `.cccccccccccccccc.` - ``.cccccccccccccccccccccc.`` - `..cccccccccccccccccccccccccccc..` -`.ccccccccccccccc${c2}/++/${c1}ccccccccccccccccc.` -.ccccccccccccccc${c2}mNMMNdo+oso+${c1}ccccccccccc. -.cccccccccc${c2}/++odms+//+mMMMMm/:+syso/${c1}cccc -.ccccccccc${c2}yNNMMMs:::/::+o+/:${c1}c${c2}dMMMMMm${c1}cccc -.ccccccc${c2}:+NmdyyhNNmNNNd:${c1}ccccc${c1}${c2}:oyyyo:${c1}cccc -.ccc${c2}:ohdmMs:${c1}cccc${c2}+mNMNmy${c1}ccccccccccccccccc -.cc${c2}/NMMMMMo////:${c1}c${c2}:///:${c1}cccccccccccccccccc -.cc${c2}:syysyNMNNNMNy${c1}ccccccccccccccccccccccc -.cccccccc${c2}+MMMMMNy${c1}c${c2}:/+++/${c1}cccccccccccccccc -.ccccccccc${c2}ohhhs/${c1}c${c2}omMMMMNh${c1}ccccccccccccccc -.ccccccccccccccc${c2}:MMMMMMMM/${c1}cccccccccccccc -.cccccccccccccccc${c2}sNNNNNd+${c1}cccccccccccccc. -`..cccccccccccccccc${c2}/+/:${c1}cccccccccccccc..` - ``.cccccccccccccccccccccccccccc.`` - `.cccccccccccccccccccccc.` - ``.cccccccccccccc.`` - `.cccccccc.` - `....` +${c1} + (##### + (((######## ##### + ((( ########## __...__ + (((((((( ####### /((((((###\ + ((((((((((( ....... \(((((####/ + (((((( ((((######### ******* + %((((((# ((######## + /////((((( ### +/////(((((((# (((& + ((((((((((((( + (((((((((((( + ((((((((( ((((((### + /((((((###### + //((((((###### + /((((((##### + *********/ EOF ;; @@ -9508,7 +8799,7 @@ EOF "PCLinuxOS"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${c1} mhhhyyyyhhhdN + ${c1}mhhhyyyyhhhdN dyssyhhhhhhhhhhhssyhN Nysyhhyo/:-.....-/oyhhhssd Nsshhy+. `/shhysm @@ -9530,27 +8821,6 @@ yyhh- ${c2}ymm- /dmdyosyd` ${c1}`yhh+ EOF ;; - "Pengwin"*) - set_colors 5 5 13 - read -rd '' ascii_data <<'EOF' -${c3} ...` -${c3} `-///:-` -${c3} .+${c2}ssys${c3}/ -${c3} +${c2}yyyyy${c3}o ${c2} -${c2} -yyyyyy: -${c2} `.:/+ooo+/:` -yyyyyy+ -${c2} `:oyyyyyys+:-.`syyyyyy: -${c2} .syyyyyyo-` .oyyyyyyo -${c2} `syyyyyy `-+yyyyyyy/` -${c2} /yyyyyy+ -/osyyyyyyo/. -${c2} +yyyyyy- `.-:::-.` -${c2} .yyyyyy- -${c3} :${c2}yyyyy${c3}o -${c3} .+${c2}ooo${c3}+ -${c3} `.::/:. -EOF - ;; - "Peppermint"*) set_colors 1 15 3 read -rd '' ascii_data <<'EOF' @@ -9578,58 +8848,6 @@ ${c1} PPPPPPPPPPPPPP EOF ;; - "Pisi"*) - set_colors 12 7 6 1 8 - read -rd '' ascii_data <<'EOF' -${c1} \Fv/!- `:?lzC -${c1} Q!::=zFx! ${c2}`;v6WBCicl;` ${c1},vCC\!::#. -${c1} ,%:::,'` ${c2}+#%@@FQ@@. ,cF%i${c1}``-',::a? -${c1} +m:,'```${c2}}3,/@@Q\@@ "af-${c1} `-'"7f - =o'.` ${c2}/m' :Q@:Qg ,kl${c1} `.|o - :k` '${c2}$+ 'Narm >d,${c1} ii - #`${c2}!p. `C , 'd+${c1} %' -${c2} !0m `6Kv - =a m+ - !A !\L|: :|L\! $: - .8` Q''%Q#' '#Q%''Q `0- - :6 E|.6QQu uQQ6.|E p: - i{ \jts9? ?9stj\ u\ - |a` -''. `e> - ,m+ ${c1}'^ !`${c2}s@@@@a${c1}'"`+`${c2} >e' - !3|${c1}`|=>>r- ${c2}'U%:${c1} '>>>=:`\3! - 'xopE| ${c2}`'${c1} `ledoz- - `;=>>+`${c2}`^llci/|==|/iclc;`${c1}'>>>>: - `^`+~ ${c2}````${c1} !!-^ -EOF - ;; - - "PNM Linux"* | "WHPNM Linux"*) - set_colors 33 9 15 202 - read -rd '' ascii_data <<'EOF' - -${c1} - ``.---..` `--` - ``.---........-:.${c2}-::`${c1} - ${c2}./::-${c1}........${c2}--::.````${c1} - ${c2}.:://:::${c1}----${c2}::::-..${c1} - ..${c2}--:::::--::::++-${c1}.` - ${c2}`-:-`${c1} .-ohy+::${c2}-:::${c1}/sdmdd:.${c2} `-:- - .-:::${c1}...${c3}sNNmds$y${c1}o/+${c3}sy+NN$m${c1}d+.`${c2}-:::-. - `.-:-${c1}./${c3}dN${c1}()${c3}yyooosd${c1}()${c3}$m${c1}dy${c2}-.::-.`${c1} - ${c2}`.${c1}-...-${c3}+hNdyyyyyydmy${c1}:......${c2}`${c1} - ``..--.....-${c3}yNNm${c4}hssssh${c3}mmdo${c1}.........``` -`-:://:.....${c3}hNNNNN${c4}mddm${c3}NNNmds${c1}.....//::--` - ```.:-...${c3}oNNNNNNNNNNNNNNmd/${c1}...:-.``` - .....${c3}hNNNNNNNNNNNNNNmds${c1}....` - --...${c3}hNNNNNNNNNNNNNNmdo${c1}..... - .:...${c3}/NNNNNNNNNNNNNNdd${c1}:....` - `-...${c3}+mNNNNNNNNNNNmh${c1}:...-. - ${c4}.:+o+/:-${c1}:+oo+///++o+/:-${c4}:/+ooo/:. - ${c4}+oo/:o- +oooooso.` - ${c4}.` ` `/ .-//- -EOF - ;; - "popos_small"* | "pop_os_small"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' @@ -9738,25 +8956,6 @@ ${c1} /\\ EOF ;; - "PuffOS"*) - set_colors 3 - read -rd '' ascii_data <<'EOF' -${c1} - _,..._,m, - ,/' '""; - / ". - ,'mmmMMMMmm. \ - _/-"^^^^^"""%#%mm, ; - ,m,_,' "###) ;, -(###% \#/ ;##mm. - ^#/ __ ___ ; (######) - ; //.\\ //.\\ ; \####/ - _; (#\"// \\"/#) ; ,/ -@##\ \##/ = `"=" ,;mm/ -`\##>.____,...,____,<####@ -EOF - ;; - "Proxmox"*) set_colors 7 202 read -rd '' ascii_data <<'EOF' @@ -9864,51 +9063,6 @@ ${c1} `..--..` EOF ;; - "Qubyt"*) - set_colors 4 5 0 4 - read -rd '' ascii_data <<'EOF' -${c1} ########################${c2}(${c3}ooo -${c1} ########################${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo -${c1}###${c2}(${c3}ooo ${c1}##${c3}o ${c2}((((${c3}ooo -${c1}###${c2}(${c3}ooo o${c2}((${c1}### ${c3}oooooo -${c1}###${c2}(${c3}ooo oo${c2}((${c1}###${c3}o -${c1}###${c2}(${c3}ooo ooo${c2}((${c1}### -${c1}################${c2}(${c3}oo oo${c2}((((${c3}o -${c2}(((((((((((((((((${c3}ooo ooooo - oooooooooooooooooo o -EOF - ;; - - "Quibian"*) - set_colors 3 7 - read -rd '' ascii_data <<'EOF' -${c1} `.--::::::::--.` - `.-:::-..`` ``..-::-.` - .::::-` .${c2}+${c1}:`` `.-::.` - .::::.` -::::::-` `.::. - `-:::-` -:::::::::--..`` .::` - `::::- .${c2}oy${c1}:::::::---.```.: `::` - -:::: `.-:::::::::::-.``` `:: -.::::.`-:::::::::::::. `:. --::::.::::::::::::::: -: -::::::::::::::::::::` `: -:::::::::::::::::::- `: -::::::::::::::::::: -- -.:::::::::::::::::` `:` -`::::::::::::::::: -` - .:::::::::::::::- -` - `::::::::::::::- `.` - .::::::::::::- `` - `.--:::::-. -EOF - ;; - "Radix"*) set_colors 1 2 read -rd '' ascii_data <<'EOF' @@ -9936,15 +9090,16 @@ EOF "Raspbian_small"*) set_colors 2 1 read -rd '' ascii_data <<'EOF' -${c1} .. ,. - :oo: .:oo: - 'o\\o o/o: -${c2} :: . :: . :: -:: ::: ::: :: -:' '',.'' ': - ::: :::: ::: - ':, '' ,:' - ' ~::~ ' +${c1} .~~. .~~. + '. \\ ' ' / .' +${c2} .~ .~~~..~. + : .~.'~'.~. : + ~ ( ) ( ) ~ +( : '~'.~.'~' : ) + ~ .~ ( ) ~. ~ + ( : '~' : ) + '~ .~~~. ~' + '~' EOF ;; @@ -10168,49 +9323,6 @@ ${c1} EOF ;; - "rocky_small"*) - set_colors 2 - read -rd '' ascii_data <<'EOF' -${c1} `-/+++++++++/-.` - `-+++++++++++++++++-` -.+++++++++++++++++++++. --+++++++++++++++++++++++. -+++++++++++++++/-/+++++++ -+++++++++++++/. ./+++++ -+++++++++++:. ./+++ -+++++++++:` `:/:` .:/ --++++++:` .:+++++:` - .+++-` ./+++++++++:` - `-` ./+++++++++++- - -+++++++++:-.` -EOF - ;; - - "rocky"*) - set_colors 35 - read -rd '' ascii_data <<'EOF' -${c1} __wgliliiligw_, - _williiiiiiliilililw, - _%iiiiiilililiiiiiiiiiii_ - .Qliiiililiiiiiiililililiilm. - _iiiiiliiiiiililiiiiiiiiiiliil, - .lililiiilililiiiilililililiiiii, -_liiiiiiliiiiiiiliiiiiF{iiiiiilili, -jliililiiilililiiili@` ~ililiiiiiL -iiiliiiiliiiiiiili>` ~liililii -liliiiliiilililii` -9liiiil -iiiiiliiliiiiii~ "4lili -4ililiiiiilil~| -w, )4lf --liiiiililiF' _liig, )' - )iiiliii@` _QIililig, - )iiii>` .Qliliiiililw - )<>~ .mliiiiiliiiiiil, - _gllilililiililii~ - giliiiiiiiiiiiiT` - -^~$ililili@~~' -EOF - ;; - "Rosa"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -10534,22 +9646,6 @@ yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy EOF ;; - "SkiffOS"*) - set_colors 4 7 - read -rd '' ascii_data <<'EOF' -${c2} - ,@@@@@@@@@@@w,_ - ${c2}====~~~,,.${c2}A@@@@@@@@@@@@@@@@@W,_ - ${c1}`||||||||||||||L{${c2}"@$@@@@@@@@B" - ${c1}`|||||||||||||||||||||L{${c2}"$D - ${c2}@@@@@@@@@@@@@@@@@@@@@${c1}_||||}==, - ${c2}*@@@@@@@@@@@@@@@@@@@@@@@@@p${c1}||||==, - ${c1}`'||LLL{{""${c2}@$B@@@@@@@@@@@@@@@p${c1}|| - ${c1}`~=|||||||||||L"${c2}$@@@@@@@@@@@ - ${c1}````'"""""""${c2}'"""""""" -EOF - ;; - "Solus"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -10866,28 +9962,28 @@ EOF ;; "Ubuntu Cinnamon"* | "Ubuntu-Cinnamon"*) - set_colors 1 7 + set_colors 1 read -rd '' ascii_data <<'EOF' -${c1} .-/+oooooooo+/-. - `:+oooooooooooooooooo+:` - -+oooooooooooooooooooooooo+- - .ooooooooooooooooooo${c2}:ohNd${c1}oooooo. - /oooooooooooo${c2}:/+oo++:/ohNd${c1}ooooooo/ - +oooooooooo${c2}:osNdhyyhdNNh+:+${c1}oooooooo+ - /ooooooooo${c2}/dN/${c1}ooooooooo${c2}/sNNo${c1}ooooooooo/ -.ooooooooo${c2}oMd:${c1}oooooooooooo${c2}:yMy${c1}ooooooooo. -+ooooo${c2}:+o/Md${c1}oooooo${c2}:sm/${c1}oo/ooo${c2}yMo${c1}oooooooo+ -ooo${c2}:sdMdosMo${c1}ooooo${c2}oNMd${c1}//${c2}dMd+${c1}o${c2}:so${c1}ooooooooo -oooo${c2}+ymdosMo${c1}ooo${c2}+mMm${c1}+/${c2}hMMMMMh+hs${c1}ooooooooo -+oooooo${c2}:${c1}:${c2}/Nm:${c1}/${c2}hMNo${c1}:y${c2}MMMMMMMMMM+${c1}oooooooo+ -.ooooooooo${c2}/NNMNy${c1}:o${c2}NMMMMMMMMMMo${c1}ooooooooo. -/oooooooooo${c2}:yh:${c1}+m${c2}MMMMMMMMMMd/${c1}ooooooooo/ - +oooooooooo${c2}+${c1}/h${c2}mMMMMMMNds//o${c1}oooooooo+ - /oooooooooooo${c2}+:////:o/ymMd${c1}ooooooo/ - .oooooooooooooooooooo${c2}/sdh${c1}oooooo. - -+oooooooooooooooooooooooo+- - `:+oooooooooooooooooo+:` - .-/+oooooooo+/-. +${c1} .-:/++oooo++/:-. + `:/oooooooooooooooooo/-` + -/oooooooooooooooooooo+ooo/- + .+oooooooooooooooooo+/-`.ooooo+. + :oooooooooooo+//:://++:. .ooooooo: + /oooooooooo+o:`.----.``./+/oooooooo/ + /ooooooooo+. +ooooooooo+:``/ooooooooo/ +.ooooooooo: .+ooooooooooooo- -ooooooooo. +/oooooo/o+ .ooooooo:`+oo+ooo- :oooooooo/ +ooo+:. .o: :ooooo:` .+/. ./o+:/ooooooooo +oooo/-`.o: :ooo/` `/+. ./.:ooooooooo +/oooooo+o+``++. `:+- /oooooooo/ +.ooooooooo/`` -+:` :ooooooooo. + /ooooooooo+--+/` .+ooooooooo/ + /ooooooooooo+.` `.:++:oooooooo/ + :oooooooooooooo++++oo+-` .ooooooo: + .+ooooooooooooooooooo+:..ooooo+. + -/oooooooooooooooooooooooo/- + `-/oooooooooooooooooo/:` + .-:/++oooo++/:-. EOF ;; @@ -10942,27 +10038,26 @@ EOF "Ubuntu MATE"* | "Ubuntu-MATE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' -${c1} .:/+oossssoo+/:.` - `:+ssssssssssssssssss+:` - -+sssssssssssssss${c2}y${c1}ssssssss+- - .osssssssssssss${c2}yy${c1}ss${c2}mMmh${c1}ssssssso. - /sssssssss${c2}ydmNNNmmd${c1}s${c2}mMMMMNdy${c1}sssss/ - `+ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMNdy${c1}ssssss+` - +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mMmh${c1}s${c2}ydy${c1}sssssss+ --sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssss${c2}y${c1}s${c2}hh${c1}ss${c2}mMy${c1}sssssss- -+ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ -sssss${c2}yMMMMMmh${c1}sssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss -sssss${c2}yMMMMMmhy${c1}ssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss -+ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ --sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssssss${c2}dh${c1}ss${c2}mMy${c1}sssssss- - +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mNmh${c1}s${c2}ymy${c1}sssssss+ - +ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMmhy${c1}ssssss+ - /sssssssss${c2}ydmNNNNmd${c1}s${c2}mMMMMNdh${c1}sssss/ - .osssssssssssss${c2}yy${c1}ss${c2}mMmdy${c1}sssssso. - -+sssssssssssssss${c2}y${c1}ssssssss+- - `:+ssssssssssssssssss+:` - .:/+oossssoo+/:. - +${c1} `:+shmNNMMNNmhs+:` + .odMMMMMMMMMMMMMMMMMMdo. + /dMMMMMMMMMMMMMMMmMMMMMMMMd/ + :mMMMMMMMMMMMMNNNNM/`/yNMMMMMMm: + `yMMMMMMMMMms:..-::oM: -omMMMMMy` + `dMMMMMMMMy-.odNMMMMMM: -odMMMMMMd` + hMMMMMMMm-.hMMy/....+M:`/yNm+mMMMMMMMh +/MMMMNmMN-:NMy`-yNMMMMMmNyyMN:`dMMMMMMM/ +hMMMMm -odMMh`sMMMMMMMMMMs sMN..MMMMMMMh +NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN +NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN +hMMMMm -odMMh sMMMMMMMMMMs oMN..MMMMMMMh +/MMMMNNMN-:NMy`-yNMMMMMNNsyMN:`dMMMMMMM/ + hMMMMMMMm-.hMMy/....+M:.+hNd+mMMMMMMMh + `dMMMMMMMMy-.odNMMMMMM: :smMMMMMMd` + yMMMMMMMMMms/..-::oM: .+dMMMMMy + :mMMMMMMMMMMMMNNNNM: :smMMMMMMm: + /dMMMMMMMMMMMMMMMdNMMMMMMMd/ + .odMMMMMMMMMMMMMMMMMMdo. + `:+shmNNMMNNmhs+:` EOF ;; @@ -11031,52 +10126,54 @@ EOF "Ubuntu"* | "i3buntu"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' -${c1} .-/+oossssoo+\-. - ´:+ssssssssssssssssss+:` +${c1} .-/+oossssoo+/-. + `:+ssssssssssssssssss+:` -+ssssssssssssssssssyyssss+- .ossssssssssssssssss${c2}dMMMNy${c1}sssso. - /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss\ + /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss/ +sssssssss${c2}hm${c1}yd${c2}MMMMMMMNddddy${c1}ssssssss+ - /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhmNMMMNh${c1}ssssssss\ + /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhmNMMMNh${c1}ssssssss/ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ oss${c2}yNMMMNyMMh${c1}ssssssssssssss${c2}hmmmh${c1}ssssssso oss${c2}yNMMMNyMMh${c1}sssssssssssssshmmmh${c1}ssssssso +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. - \ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhdNMMMNh${c1}ssssssss/ + /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhdNMMMNh${c1}ssssssss/ +sssssssss${c2}dm${c1}yd${c2}MMMMMMMMddddy${c1}ssssssss+ - \sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ + /sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ .ossssssssssssssssss${c2}dMMMNy${c1}sssso. -+sssssssssssssssss${c2}yyy${c1}ssss+- `:+ssssssssssssssssss+:` - .-\+oossssoo+/-. + .-/+oossssoo+/-. EOF ;; - "Univention"*) - set_colors 1 7 + "UrukOS"* | "Uruk"* | "Uruk GNU/Linux"*) + set_colors 12 12 7 12 4 read -rd '' ascii_data <<'EOF' -${c1} ./osssssssssssssssssssssso+- - `ohhhhhhhhhhhhhhhhhhhhhhhhhhhhy: - shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh- - `-//${c2}sssss${c1}/hhhhhhhhhhhhhh+${c2}s${c1}.hhhhhhhhh+ - .ohhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sss${c1}+hhhhhhh+ -.yhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}ssss${c1}:hhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ -+hhhhhy${c2}ssssss${c1}+yhhhhhhhhhhy/${c2}ssssss${c1}yhhhhh+ -+hhhhhh:${c2}sssssss${c1}:hhhhhhh+${c2}.ssssssss${c1}yhhhhy. -+hhhhhhh+`${c2}ssssssssssssssss${c1}hh${c2}sssss${c1}yhhho` -+hhhhhhhhhs+${c2}ssssssssssss${c1}+hh+${c2}sssss${c1}/:-` --hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhho - :yhhhhhhhhhhhhhhhhhhhhhhhhhhhh+` - -+ossssssssssssssssssssss+:` +${c3} :${c4}:::::::::::::: ${c5}. + ${c3}=#${c4}*============. ${c5}:#: + ${c3}=##%${c4}+----------. ${c5}.###: + ${c3}=####. ${c5}.####: + ${c3}=####. ${c5}.####: + ${c3}=###*. .=${c4}--------. ${c5}####: + ${c3}=####. .*#+${c4}======- ${c5}####: + ${c3}=###*. .*###+${c4}====- ${c5}####: + ${c3}=###*. .*#####+${c4}==- ${c5}####: + ${c3}=###*. .*#######+${c4}: ${c5}####: + ${c3}=###*. .*#######+${c4}: ${c5}####: + ${c3}=###*. .*#####+${c4}==- ${c5}####: + ${c3}=###*. .*###+${c4}====- ${c5}####: + ${c3}=####. .*#+${c4}======- ${c5}####: + ${c3}=###*. .=${c4}--------. ${c5}.####: + ${c3}=####. ${c5}.####: + ${c3}=####. ${c5}.####: + ${c3}=###+${c4}--------------${c5}####: + ${c3}=#+${c4}=================-${c5}: + ${c3}:${c4}::::::::::::::::::. + + EOF ;; @@ -11136,71 +10233,6 @@ ${c1} -1vvnvv. `~+++` ++|+++ ~|Invnvnvvnvvvnnv}+` -~|{*l}*|~ EOF - - ;; - - "VNux"*) - set_colors 11 8 15 1 7 - read -rd '' ascii_data <<'EOF' -${c1} ` - ^[XOx~. - ^_nwdbbkp0ti' - -${c2} _j>!vC1,, - ${c4},${c2} ,CY${c3}O${c2}t${c3}O${c2}1(l;" -`${c4}~-{r(1I${c2} ^${c1}/zmwJuc:${c2}I^ -'${c4}?)|${c1}U${c4}/}-${c2} ^${c3}f${c1}OCLLOw${c3}_${c2},; - ,${c4}i,``. ${c2}",${c3}k%ooW@$d"${c2}I,' - ' ;^${c3}u$$$$$$$$^<${c2}:^ - ` .>>${c3}($$${c5}$@@@@$$${c3}$nl${c2}[:: - `!}?${c3}B$${c5}%&WMMW&%$${c3}$1}-${c2}}": - ^?j${c3}Z$${c5}WMMWWWWMMW$${c3}ofc${c2};;` - <~x&${c3}$${c5}&MWWWWWWWWp${c3}-${c5}l>[< -${c1} 'ljmwn${c2}~tk8${c5}MWWWWM8O${c2}X${c1}r${c2}+]nC${c1}[ -!JZqwwdX${c2}:^C8${c5}#MMMM@${c2}X${c1}Odpdpq0< - ^x00J(" - ^" -EOF - - ;; - - "LangitKetujuh"*) - set_colors 7 4 - read -rd '' ascii_data <<'EOF' -${c1} - L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L - 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L - L7L. 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L - L7L7L7L L7L7L7L - L7L7L7L L7L7L7L - L7L7L7L L7L7L7L7L7L7L7L7L7L7L7L - L7L7L7L 'L7L7L7L7L7L7L7L7L7L - L7L7L7L 'L7L7L7L7L7L7L7L - L7L7L7L L7L7L7L - L7L7L7L L7L7L7L - L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. 'L7L - L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. - L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L -${c2} -EOF - ;; - - "semc"*) - set_colors 2 8 1 - read -rd '' ascii_data <<'EOF' -${c1} /\ - ______/ \ - / |()| ${c2}E M C -${c1} | (-- | | - \ \ | | -.----) | |__| -|_______/ / ${c3}"${c1} \ - ${c3}" - " -EOF - ;; "Obarun"*) @@ -11228,29 +10260,6 @@ ${c1} ,;::::; EOF ;; - *"[Windows 11]"*|*"on Windows 11"*|\ - "Windows 11"* |"windows11") - set_colors 6 7 - read -rd '' ascii_data <<'EOF' -${c1} -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ - -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ -################ ################ -EOF - ;; - *"[Windows 10]"*|*"on Windows 10"*|"Windows 8"*|\ "Windows 10"* |"windows10"|"windows8") set_colors 6 7 @@ -11302,26 +10311,26 @@ EOF "Xubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${c1} `.:/ossyyyysso/:. - `.yyyyyyyyyyyyyyyyyyyy.` - `yyyyyyyyyyyyyyyyyyyyyyyyyy` - `yyyyyyyyyyyyyyyyyyyy${c2}::${c1}yyyyyyyy` - .yyyyyyyyyyy${c2}/+:${c1}yyyyyyy${c2}ds${c1}yyy${c2}+y${c1}yyyy. - yyyyyyy${c2}:o/${c1}yy${c2}dMMM+${c1}yyyyy${c2}/M+${c1}y${c2}:hM+${c1}yyyyyy - yyyyyyy${c2}+MMMy${c1}y${c2}mMMMh${c1}yyyyy${c2}yM::mM+${c1}yyyyyyyy -`yyyyyyy${c2}+MMMMysMMMd${c1}yyyyy${c2}dh:mN+${c1}yyyyyyyyy` -yyyyyyyy${c2}:NMMMMmMMMMmmdhyy+/y:${c1}yyyyyyyyyyy -yyyyyyyy${c2}+MMMMMMMMMMMMMMMMMMNho:${c1}yyyyyyyyy -yyyyyyyy${c2}mMMMMMMMMMMMMMMMMMMMMMMy${c1}yyyyyyyy -yyyyyyy${c2}+MMMMMMMMMMMMMMMMMMMMMMMM/${c1}yyyyyyy -`yyyyyy${c2}sMMMMMMMMMMMMMMMMMMMMMMmo${c1}yyyyyyy` - yyyyyy${c2}oMMMMMMMMMMMMMMMMMMMmy+${c1}yyyyyyyyy - yyyyy${c2}:mMMMMMMMMMMMMMMNho/${c1}yyyyyyyyyyy - .yyyy${c2}:yNMMMMMMMNdyo:${c1}yyyyyyyyyyyyy. - `yyyyyy${c2}:/++/::${c1}yyyyyyyyyyyyyyyyy` - `yyyyyyyyyyyyyyyyyyyyyyyyyy` - `.yyyyyyyyyyyyyyyyyyyy.` - `.:/oosyyyysso/:.` +${c1} `-/osyhddddhyso/-` + .+yddddddddddddddddddy+. + :yddddddddddddddddddddddddy: + -yddddddddddddddddddddhdddddddy- + odddddddddddyshdddddddh`dddd+ydddo + `yddddddhshdd- ydddddd+`ddh.:dddddy` + sddddddy /d. :dddddd-:dy`-ddddddds +:ddddddds /+ .dddddd`yy`:ddddddddd: +sdddddddd` . .-:/+ssdyodddddddddds +ddddddddy `:ohddddddddd +dddddddd. +dddddddd +sddddddy ydddddds +:dddddd+ .oddddddd: + sdddddo ./ydddddddds + `yddddd. `:ohddddddddddy` + oddddh/` `.:+shdddddddddddddo + -ydddddhyssyhdddddddddddddddddy- + :yddddddddddddddddddddddddy: + .+yddddddddddddddddddy+. + `-/osyhddddhyso/-` EOF ;; "IRIX"*) @@ -11401,11 +10410,11 @@ EOF "Darwin") set_colors 2 3 1 1 5 4 read -rd '' ascii_data <<'EOF' -${c1} c.' +${c1} 'c. ,xNMM. .OMMMMo - lMMM" - .;loddo:. .olloddol;. + OMMM0, + .;loddo:' loolloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. @@ -11413,11 +10422,11 @@ ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. - ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk - 'XMMMMMMMMMMMMMMMMMMMMMMMMK. + ${c5}.XMMMMMMMMMMMMMMMMMMMMMMMMMMk + .XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. - "cooc*" "*coo'" + .cooc,. .,coo:. EOF ;; @@ -11572,13 +10581,12 @@ main() { # w3m-img: Draw the image a second time to fix # rendering issues in specific terminal emulators. [[ $image_backend == *w3m* ]] && display_image - [[ $image_backend == *ueberzug* ]] && display_image # Add neofetch info to verbose output. err "Neofetch command: $0 $*" err "Neofetch version: $version" - [[ $verbose == on ]] && printf '%b\033[m' "$err" >&2 + [[ $verbose == on ]] && printf %b "$err" >&2 # If `--loop` was used, constantly redraw the image. while [[ $image_loop == on && $image_backend == w3m ]]; do