--- neofetch/neofetch 2021-04-05 21:41:49.707204300 +0300 +++ pisifetch/neofetch 2021-04-05 20:12:01.572216242 +0300 @@ -75,7 +75,6 @@ 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 @@ -408,6 +407,13 @@ # 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 @@ -506,8 +512,10 @@ # guayadeque # io.elementary.music # iTunes +# Music # juk # lollypop +# MellowPlayer # mocp # mopidy # mpd @@ -721,8 +729,7 @@ # # Default: 'off' # Values: 'bar', 'infobar', 'barinfo', 'off' -# Flags: --cpu_display -# --memory_display +# Flags: --memory_display # --battery_display # --disk_display # @@ -731,7 +738,6 @@ # infobar: 'info [---=======]' # barinfo: '[---=======] info' # off: 'info' -cpu_display="off" memory_display="off" battery_display="off" disk_display="off" @@ -743,8 +749,10 @@ # Image backend. # # Default: 'ascii' -# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', -# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug', +# 'viu' + # Flag: --backend image_backend="ascii" @@ -772,34 +780,34 @@ # Default: 'auto' # Values: 'auto', 'distro_name' # Flag: --ascii_distro -# 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, +# 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, +# bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, +# Container_Linux, CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS, +# Devuan, DracOS, DarkOs, Itc, 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, 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, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, -# and IRIX have ascii logos +# 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, 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, Puppy, PureOS, Qubes, 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, semc, 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. @@ -880,6 +888,14 @@ # --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' @@ -967,6 +983,10 @@ *) 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 ;; @@ -1432,7 +1452,7 @@ d="$((s / 60 / 60 / 24)) days" h="$((s / 60 / 60 % 24)) hours" - m="$((s / 60 % 60)) mins" + m="$((s / 60 % 60)) minutes" # Remove plural if < 2. ((${d/ *} == 1)) && d=${d/s} @@ -1446,41 +1466,52 @@ uptime=${d:+$d, }${h:+$h, }$m uptime=${uptime%', '} - uptime=${uptime:-$s secs} + uptime=${uptime:-$s seconds} # Make the output of uptime smaller. case $uptime_shorthand in - on) ;; + on) + uptime=${uptime/ minutes/ mins} + uptime=${uptime/ minute/ min} + uptime=${uptime/ seconds/ secs} + ;; tiny) uptime=${uptime/ days/d} uptime=${uptime/ day/d} uptime=${uptime/ hours/h} uptime=${uptime/ hour/h} - uptime=${uptime/ mins/m} - uptime=${uptime/ min/m} - uptime=${uptime/ secs/s} + uptime=${uptime/ minutes/m} + uptime=${uptime/ minute/m} + uptime=${uptime/ seconds/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; } - dir() { ((packages+=$#)); pac "$#"; } + dir() { ((packages+=$#)); pac "$(($#-pkgs_h))"; } pac() { (($1 > 0)) && { managers+=("$1 (${manager})"); manager_string+="${manager}, "; }; } - tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")";((packages+=${#pkgs[@]}));pac "${#pkgs[@]}";} + tot() { + IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")"; + ((packages+=${#pkgs[@]})); + pac "$((${#pkgs[@]}-pkgs_h))"; + } # Redefine tot() for Bedrock Linux. [[ -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[@]}")) - pac "${#pkgs[@]}" + pac "$((${#pkgs[@]}-pkgs_h))"; } br_prefix="/bedrock/strata/*" } @@ -1489,8 +1520,9 @@ 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 apt && tot apt list has rpm && tot rpm -qa has xbps-query && tot xbps-query -l has apk && tot apk info @@ -1499,11 +1531,16 @@ has lvu && tot lvu installed has tce-status && tot tce-status -i has pkg_info && tot pkg_info - has tazpkg && tot tazpkg list && ((packages-=6)) + has tazpkg && pkgs_h=6 tot tazpkg list && ((packages-=6)) has sorcery && tot gaze installed has alps && tot alps showinstalled has butch && tot butch list - has mine && tot mine -q + has swupd && tot swupd bundle-list --quiet + has pisi && tot pisi li + + # 'mine' conflicts with minesweeper games. + [[ -f /etc/SDE-VERSION ]] && + has mine && tot mine -q # Counting files/dirs. # Variables need to be unquoted here. Only Bedrock Linux is affected. @@ -1533,9 +1570,13 @@ } has nix-store && { - 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 + 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 } # pkginfo is also the name of a python package manager which is painfully slow. @@ -1560,7 +1601,8 @@ # 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 && tot snap list && ((packages-=1)) + has snap && ps -e | grep -qFm 1 snapd >/dev/null && \ + pkgs_h=1 tot snap list && ((packages-=1)) # This is the only standard location for appimages. # See: https://github.com/AppImage/AppImageKit/wiki @@ -1568,13 +1610,17 @@ ;; "Mac OS X"|"macOS"|MINIX) - has port && tot port installed && ((packages-=1)) + has port && pkgs_h=1 tot port installed && ((packages-=1)) has brew && dir /usr/local/Cellar/* has pkgin && tot pkgin list has nix-store && { - manager=nix-system && tot nix-store -q --requisites "/run/current-system/sw" - manager=nix-user && tot nix-store -q --requisites "$HOME/.nix-profile" + 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-store -qR nix-user-pkgs } ;; @@ -1590,9 +1636,9 @@ esac # Scoop environment throws errors if `tot scoop list` is used - has scoop && dir ~/scoop/apps/* && ((packages-=1)) + has scoop && pkgs_h=1 dir ~/scoop/apps/* && ((packages-=1)) - # Count chocolatey packages. + # Count chocolatey packages. [[ -d /cygdrive/c/ProgramData/chocolatey/lib ]] && \ dir /cygdrive/c/ProgramData/chocolatey/lib/* ;; @@ -1600,11 +1646,11 @@ Haiku) has pkgman && dir /boot/system/package-links/* packages=${packages/pkgman/depot} - ;; + ;; IRIX) manager=swpkg - tot versions -b && ((packages-=3)) + pkgs_h=3 tot versions -b && ((packages-=3)) ;; esac @@ -1687,8 +1733,17 @@ Windows) case $distro in - "Windows 8"*|"Windows 10"*) de="Modern UI/Metro" ;; - *) de=Aero + *"Windows 10"*) + de=Fluent + ;; + + *"Windows 8"*) + de=Metro + ;; + + *) + de=Aero + ;; esac ;; @@ -1778,9 +1833,15 @@ de_ver=${de_ver/* } de_ver=${de_ver//\"} - de="$de $de_ver" + 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 } @@ -1793,38 +1854,58 @@ *) ps_flags=(-e) ;; esac - 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) + 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 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) + fi elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then - type -p xprop &>/dev/null && { + # 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 && { id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK) id=${id##* } wm=$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t) @@ -1833,19 +1914,6 @@ 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") @@ -1869,15 +1937,21 @@ ;; Windows) - wm=$(tasklist | grep -m 1 -o -F \ - -e bugn \ - -e Windawesome \ - -e blackbox \ - -e emerge \ - -e litestep) + wm=$( + tasklist | + + grep -Fom 1 \ + -e bugn \ + -e Windawesome \ + -e blackbox \ + -e emerge \ + -e litestep + ) - [[ $wm == blackbox ]] && wm="bbLean (Blackbox)" - wm=${wm:+$wm, }Explorer + [[ $wm == blackbox ]] && + wm="bbLean (Blackbox)" + + wm=${wm:+$wm, }DWM.exe ;; FreeMiNT) @@ -2097,7 +2171,7 @@ # Select the right temperature file. for temp_dir in /sys/class/hwmon/*; do - [[ "$(< "${temp_dir}/name")" =~ (coretemp|fam15h_power|k10temp) ]] && { + [[ "$(< "${temp_dir}/name")" =~ (cpu_thermal|coretemp|fam15h_power|k10temp) ]] && { temp_dirs=("$temp_dir"/temp*_input) temp_dir=${temp_dirs[0]} break @@ -2196,8 +2270,7 @@ ;; "OpenBSD"* | "Bitrig"*) deg="$(sysctl hw.sensors | \ - awk -F '=| degC' '/lm0.temp|cpu0.temp/ {print $2; exit}')" - deg="${deg/00/0}" + awk -F'=|degC' '/(ksmn|adt|lm|cpu)0.temp0/ {printf("%2.1f", $2); exit}')" ;; esac ;; @@ -2336,47 +2409,6 @@ 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") @@ -2500,10 +2532,15 @@ "Windows") while read -r line; do - prin "${subtitle:+${subtitle}${gpu_name}}" "$(trim "$line")" - done < <(wmic path Win32_VideoController get caption) + line=$(trim "$line") + + [[ -z $win_gpu ]] || [[ -z "$line" ]] && { + win_gpu=1 + continue + } - gpu=${gpu//Caption} + prin "${subtitle:+${subtitle}${gpu_name}}" "$line" + done < <(wmic path Win32_VideoController get caption) ;; "Haiku") @@ -2520,7 +2557,7 @@ ;; *) - gpu="$(glxinfo | grep -F 'OpenGL renderer string')" + gpu="$(glxinfo -B | grep -F 'OpenGL renderer string')" gpu="${gpu/OpenGL renderer string: }" ;; esac @@ -2546,10 +2583,21 @@ "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 - mem_used="$((mem_used / 1024))" + if [[ $mem_avail ]]; then + mem_used=$(((mem_total - mem_avail) / 1024)) + else + mem_used="$((mem_used / 1024))" + fi + mem_total="$((mem_total / 1024))" ;; @@ -2693,8 +2741,10 @@ "guayadeque" "io.elementary.music" "iTunes" + "Music" "juk" "lollypop" + "MellowPlayer" "mocp" "mopidy" "mpd" @@ -2767,9 +2817,11 @@ "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[@]}")" @@ -2805,22 +2857,18 @@ 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 | @@ -2964,9 +3012,9 @@ elif [[ -d /sys/class/drm ]]; then for dev in /sys/class/drm/*/modes; do - read -r resolution _ < "$dev" + read -r single_resolution _ < "$dev" - [[ $resolution ]] && break + [[ $single_resolution ]] && resolution="${single_resolution}, ${resolution}" done fi ;; @@ -3215,7 +3263,8 @@ [[ -f "${confs[0]}" ]] || return - term_font="$(awk -F ':|#' '/normal:/ {getline; print}' "${confs[0]}")" + term_font="$(awk '/normal:/ {while (!/family:/ || /#/) + {if (!getline) {exit}} print; exit}' "${confs[0]}")" term_font="${term_font/*family:}" term_font="${term_font/$'\n'*}" term_font="${term_font/\#*}" @@ -3306,7 +3355,7 @@ QT_BINDIR="$(qtpaths --binaries-dir)" && PATH+=":$QT_BINDIR" IFS=$'\n' read -d "" -ra konsole_instances \ - <<< "$(qdbus | awk '/org.kde.konsole/ {print $1}')" + <<< "$(qdbus | awk '/org.kde.'"$term"'/ {print $1}')" for i in "${konsole_instances[@]}"; do IFS=$'\n' read -d "" -ra konsole_sessions <<< "$(qdbus "$i" | grep -F '/Sessions/')" @@ -3414,15 +3463,16 @@ # 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 -F -m 1 \ - -e "pixelsize=" \ - -e "size=" \ - -e "antialias=" \ - -e "autohint=")" + [[ -n "$binary" ]] && + term_font=$( + strings "$binary" | + + grep -m 1 "*font[^2]" + ) fi term_font="${term_font/xft:}" + term_font="${term_font#*=}" term_font="${term_font/:*}" ;; @@ -3557,7 +3607,7 @@ 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[-2]/\%} + disk_perc=${disk_info[${#disk_info[@]} - 2]/\%} case $disk_percent in off) disk_perc= @@ -3565,29 +3615,34 @@ case $df_version in *befhikm*) - disk="$((disk_info[-4]/1024/1024))G / $((disk_info[-5]/1024/1024))G" - disk+="${disk_perc:+ ($disk_perc%)}" + 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]/i} / ${disk_info[-5]/i}${disk_perc:+ ($disk_perc%)}" + disk=${disk_info[${#disk_info[@]} - 4]/i} + disk+=" / " + disk+=${disk_info[${#disk_info[@]} - 5]/i} + disk+=${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[-1]/*\/} - disk_sub=${disk_sub:-${disk_info[-1]}} + disk_sub=${disk_info[${#disk_info[@]} - 1]/*\/} + disk_sub=${disk_sub:-${disk_info[${#disk_info[@]} - 1]}} ;; none) ;; *) - disk_sub=${disk_info[-1]} + disk_sub=${disk_info[${#disk_info[@]} - 1]} ;; esac @@ -3674,6 +3729,9 @@ 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") @@ -3695,9 +3753,25 @@ get_local_ip() { case $os in "Linux" | "BSD" | "Solaris" | "AIX" | "IRIX") - 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}')" + 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 ;; "MINIX") @@ -3705,8 +3779,19 @@ ;; "Mac OS X" | "macOS" | "iPhone OS") - local_ip="$(ipconfig getifaddr en0)" - [[ -z "$local_ip" ]] && local_ip="$(ipconfig getifaddr en1)" + 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 ;; "Windows") @@ -3809,11 +3894,11 @@ [${text_padding}C${zws}} # Add block height to info height. - ((info_height+=block_range[1]>7?block_height+3:block_height+2)) + ((info_height+=block_range[1]>7?block_height+2:block_height+1)) case $col_offset in - "auto") printf '\n\e[%bC%b\n\n' "$text_padding" "${zws}${cols}" ;; - *) printf '\n\e[%bC%b\n\n' "$col_offset" "${zws}${cols}" ;; + "auto") printf '\n\e[%bC%b\n' "$text_padding" "${zws}${cols}" ;; + *) printf '\n\e[%bC%b\n' "$col_offset" "${zws}${cols}" ;; esac fi @@ -3833,14 +3918,16 @@ "ascii") print_ascii ;; "off") image_backend="off" ;; - "caca" | "chafa" | "jp2a" | "iterm2" | "termpix" |\ - "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot") + "caca" | "catimg" | "chafa" | "jp2a" | "iterm2" | "termpix" |\ + "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot", | "ueberzug" |\ + "viu") 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 @@ -3858,9 +3945,9 @@ *) err "Image: Unknown image backend specified '$image_backend'." - err "Image: Valid backends are: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'kitty', - 'off', 'sixel', 'pot', 'pixterm', 'termpix', 'tycat', - 'w3m')" + err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', + 'kitty', 'off', 'sixel', 'pot', 'pixterm', 'termpix', + 'tycat', 'w3m', 'viu')" err "Image: Falling back to ascii mode." print_ascii ;; @@ -3890,7 +3977,14 @@ 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}" @@ -4248,6 +4342,27 @@ "$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" ;; @@ -4310,6 +4425,12 @@ "$image" ;; + "viu") + viu \ + -t -w "$((width / font_width))" -h "$((height / font_height))" \ + "$image" + ;; + "w3m") get_w3m_img_path zws='\xE2\x80\x8B\x20' @@ -4678,6 +4799,10 @@ 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)) { @@ -4845,6 +4970,7 @@ --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. @@ -4862,7 +4988,7 @@ 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 @@ -4874,8 +5000,6 @@ --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. @@ -4885,8 +5009,8 @@ IMAGE BACKEND: --backend backend Which image backend to use. - Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', - 'off', 'sixel', 'tycat', 'w3m', 'kitty' + Possible values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', + 'iterm2', 'off', 'sixel', 'tycat', 'w3m', 'kitty', 'viu' --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] @@ -4896,6 +5020,7 @@ 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. @@ -4906,6 +5031,8 @@ --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', @@ -4915,33 +5042,35 @@ --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, 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, + 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, bonsai, BSD, BunsenLabs, + Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau, Chrom, + Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, Container_Linux, + CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS, Devuan, DracOS, + DarkOs, Itc, 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, 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, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, - and IRIX have ascii logos + LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, + Mageia, MagpieOS, Mandriva, Manjaro, 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, Puppy, PureOS, Qubes, 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, semc, Obarun, + windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos. NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. @@ -4969,6 +5098,7 @@ 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. @@ -5038,6 +5168,17 @@ "--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" ;; @@ -5112,7 +5253,6 @@ bar_color_total="$3" ;; - "--cpu_display") cpu_display="$2" ;; "--memory_display") memory_display="$2" ;; "--battery_display") battery_display="$2" ;; "--disk_display") disk_display="$2" ;; @@ -5120,8 +5260,9 @@ # Image backend "--backend") image_backend="$2" ;; "--source") image_source="$2" ;; - "--ascii" | "--caca" | "--chafa" | "--jp2a" | "--iterm2" | "--off" | "--pot" |\ - "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty") + "--ascii" | "--caca" | "--catimg" | "--chafa" | "--jp2a" | "--iterm2" | "--off" |\ + "--pot" | "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty" |\ + "--ueberzug" | "--viu") image_backend="${1/--}" case $2 in "-"* | "") ;; @@ -5132,6 +5273,7 @@ # 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" ;; @@ -5228,7 +5370,6 @@ info "GPU Driver" gpu_driver info "Memory" memory - info "CPU Usage" cpu_usage info "Disk" disk info "Battery" battery info "Font" font @@ -5250,7 +5391,6 @@ refresh_rate="on" shell_version="on" - cpu_display="infobar" memory_display="infobar" disk_display="infobar" cpu_temp="C" @@ -5281,6 +5421,7 @@ old_functions() { # Removed functions for backwards compatibility. get_line_break() { :; } + get_cpu_usage() { :; } } get_distro_ascii() { @@ -5495,6 +5636,34 @@ 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' @@ -5613,6 +5782,30 @@ 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' @@ -7116,30 +7309,30 @@ ;; "Garuda"*) - set_colors 7 7 + set_colors 7 7 3 7 2 4 read -rd '' ascii_data <<'EOF' -${c1} __,,,,,,,_ - _╓╗╣╫╠╠╠╠╠╠╠╠╠╠╠╠╠╕╗╗┐_ - ╥╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥, - ╗╠╠╠╠╠╠╠╝╜╜╜╜╝╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠┐ - ╣╠╠╠╠╠╠╠╠╢╣╢╗╕ , `"╘╠╠╠╠╠╠╠╠╠╠╠╠╠╠╔╥_ - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╕╙╥╥╜ `"╜╠╬╠╠╠╠╠╠╠╠╠╠╠╥, - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗╥╥╥╥╗╗╬╠╠╠╠╠╠╠╝╙╠╠╣╠╠╠╠╢┐ - ╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥╬╣╠╠╠╠╠╠╠╠╗ - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╬ ```"╜╝╢╠╠╡ - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╣, ╘╠╪ - ╞╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╢┐ ╜ - `╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ - ,╬╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"╕ - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗ - ╝^╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╝╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╡ - ╔╜`╞┘╢╛╜ ╡╢╠"╚╠╠╜╝┌╞╞"╢╠╠╠╠╠╠╠╠╠╠╣╩╢╪ - ╜╒" `╜ ` ╜╙╕ └╣╠╠╠╠╕ ╞╙╖ - ╠╠╠ - ╜ + +${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. + EOF + ;; "gentoo_small") @@ -7664,6 +7857,60 @@ 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' @@ -7747,26 +7994,26 @@ "Lubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${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-` +${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/:.` EOF ;; @@ -8086,6 +8333,31 @@ 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 @@ -8271,7 +8543,7 @@ EOF ;; - "NixOS"*) + "nixos_old"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ::::. ${c2}'::::: ::::' @@ -8296,6 +8568,32 @@ 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' @@ -8821,6 +9119,27 @@ 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' @@ -8848,6 +9167,31 @@ 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 + ;; + "popos_small"* | "pop_os_small"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' @@ -9063,6 +9407,30 @@ 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' @@ -9090,16 +9458,15 @@ "Raspbian_small"*) set_colors 2 1 read -rd '' ascii_data <<'EOF' -${c1} .~~. .~~. - '. \\ ' ' / .' -${c2} .~ .~~~..~. - : .~.'~'.~. : - ~ ( ) ( ) ~ -( : '~'.~.'~' : ) - ~ .~ ( ) ~. ~ - ( : '~' : ) - '~ .~~~. ~' - '~' +${c1} .. ,. + :oo: .:oo: + 'o\\o o/o: +${c2} :: . :: . :: +:: ::: ::: :: +:' '',.'' ': + ::: :::: ::: + ':, '' ,:' + ' ~::~ ' EOF ;; @@ -9962,28 +10329,28 @@ ;; "Ubuntu Cinnamon"* | "Ubuntu-Cinnamon"*) - set_colors 1 + set_colors 1 7 read -rd '' ascii_data <<'EOF' -${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++/:-. +${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+/-. EOF ;; @@ -10038,26 +10405,27 @@ "Ubuntu MATE"* | "Ubuntu-MATE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' -${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+:` +${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+/:. + EOF ;; @@ -10149,6 +10517,32 @@ EOF ;; + "Univention"*) + set_colors 1 7 + 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+:` +EOF + ;; + "Venom"*) set_colors 8 4 read -rd '' ascii_data <<'EOF' @@ -10205,6 +10599,23 @@ ~|Invnvnvvnvvvnnv}+` -~|{*l}*|~ EOF + + ;; + + "semc"*) + set_colors 2 8 1 + read -rd '' ascii_data <<'EOF' +${c1} /\ + ______/ \ + / |()| ${c2}E M C +${c1} | (-- | | + \ \ | | +.----) | |__| +|_______/ / ${c3}"${c1} \ + ${c3}" + " +EOF + ;; "Obarun"*) @@ -10283,26 +10694,26 @@ "Xubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' -${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/-` +${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/:.` EOF ;; "IRIX"*) @@ -10553,6 +10964,7 @@ # 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 $*"