diff --git a/util/misc/neofetch/actions.py b/util/misc/neofetch/actions.py index 898b1b4d3a..794c0ff2b1 100644 --- a/util/misc/neofetch/actions.py +++ b/util/misc/neofetch/actions.py @@ -1,15 +1,11 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# # Licensed under the GNU General Public License, version 3. -# See the file https://www.gnu.org/licenses/gpl-3.0.txt +# See the file http://www.gnu.org/copyleft/gpl.txt from pisi.actionsapi import autotools -from pisi.actionsapi import pisitools from pisi.actionsapi import get -def build(): - autotools.make() def install(): autotools.rawInstall("DESTDIR=%s" % get.installDIR()) diff --git a/util/misc/neofetch/files/neofetch.1.patch b/util/misc/neofetch/files/neofetch.1.patch new file mode 100755 index 0000000000..2250a378f5 --- /dev/null +++ b/util/misc/neofetch/files/neofetch.1.patch @@ -0,0 +1,157 @@ +--- neofetch/neofetch.1 2021-04-05 21:41:49.707204300 +0300 ++++ pisifetch/neofetch.1 2021-04-05 20:12:53.035267174 +0300 +@@ -1,5 +1,5 @@ +-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. +-.TH NEOFETCH "1" "Aug 2020" "Neofetch 7.1.0" "User Commands" ++.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. ++.TH NEOFETCH "1" "April 2021" "Neofetch 7.1.0" "User Commands" + .SH NAME + Neofetch \- A fast, highly customizable system info script + .SH SYNOPSIS +@@ -152,6 +152,9 @@ + \fB\-\-ip_timeout\fR int + Public IP timeout (in seconds). + .TP ++\fB\-\-ip_interface\fR value ++Interface(s) to use for local IP ++.TP + \fB\-\-song_format\fR format + Print the song data in a specific format (see config file). + .TP +@@ -161,6 +164,9 @@ + \fB\-\-memory_percent\fR on/off + Display memory percentage. + .TP ++\fB\-\-memory_unit\fR kib/mib/gib ++Memory output unit. ++.TP + \fB\-\-music_player\fR player\-name + Manually specify a player to use. + Available values are listed in the config file +@@ -212,10 +218,6 @@ + Colors to make the bar. + Set in this order: elapsed, total + .TP +-\fB\-\-cpu_display\fR mode +-Bar mode. +-Possible values: bar, infobar, barinfo, off +-.TP + \fB\-\-memory_display\fR mode + Bar mode. + Possible values: bar, infobar, barinfo, off +@@ -231,8 +233,8 @@ + .TP + \fB\-\-backend\fR 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' + .TP + \fB\-\-source\fR source + Which image or ascii file to use. +@@ -247,6 +249,9 @@ + \fB\-\-caca\fR source + Shortcut to use 'caca' backend. + .TP ++\fB\-\-catimg\fR source ++Shortcut to use 'catimg' backend. ++.TP + \fB\-\-chafa\fR source + Shortcut to use 'chafa' backend. + .TP +@@ -259,6 +264,9 @@ + \fB\-\-kitty\fR source + Shortcut to use 'kitty' backend. + .TP ++\fB\-\-pot\fR source ++Shortcut to use 'pot' backend. ++.TP + \fB\-\-pixterm\fR source + Shortcut to use 'pixterm' backend. + .TP +@@ -274,6 +282,12 @@ + \fB\-\-w3m\fR source + Shortcut to use 'w3m' backend. + .TP ++\fB\-\-ueberzug\fR source ++Shortcut to use 'ueberzug' backend ++.TP ++\fB\-\-viu\fR source ++Shortcut to use 'viu' backend ++.TP + \fB\-\-off\fR + Shortcut to use 'off' backend (Disable ascii art). + .IP +@@ -287,34 +301,35 @@ + \fB\-\-ascii_distro\fR distro + Which Distro's ascii art to print + .TP +-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, DragonFly, Drauger, Elementary, +-EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +-FreeMiNT, Frugalware, Funtoo, GalliumOS, 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, 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, ++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, ++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, +-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 ++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. + .IP + NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. + .IP +@@ -349,6 +364,9 @@ + How to size the image. + Possible values: auto, 00px, 00%, none + .TP ++\fB\-\-catimg_size\fR 1/2 ++Change the resolution of catimg. ++.TP + \fB\-\-crop_mode\fR mode + Which crop mode to use + Takes the values: normal, fit, fill diff --git a/util/misc/neofetch/files/neofetch.patch b/util/misc/neofetch/files/neofetch.patch new file mode 100755 index 0000000000..cf89f29d62 --- /dev/null +++ b/util/misc/neofetch/files/neofetch.patch @@ -0,0 +1,1772 @@ +--- 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 $*" diff --git a/util/misc/neofetch/pspec.xml b/util/misc/neofetch/pspec.xml index 632fa741c5..4ef84f63a4 100644 --- a/util/misc/neofetch/pspec.xml +++ b/util/misc/neofetch/pspec.xml @@ -1,22 +1,33 @@ neofetch - https://github.com/berkan-sahin/neofetch + https://github.com/dylanaraps/neofetch - Berk Çakar - berk2238@hotmail.com + Berkan Şahin + cicektaksi@tutanota.com MIT util.misc - Hızlı, özelleştirilebilir sistem bilgisi betiği - Hızlı, özelleştirilebilir sistem bilgisi betiği - https://github.com/berkan-sahin/neofetch/archive/refs/tags/v1.0.zip + Hızlı, özelleştirilebilir sistem bilgisi betiği. + Neofetch'in Pisi Linux desteği için yamalanmış sürümü. + + bash + + https://github.com/dylanaraps/neofetch/archive/refs/tags/7.1.0.tar.gz + + neofetch.1.patch + neofetch.patch + neofetch - Hızlı, özelleştirilebilir sistem bilgisi betiği + Hızlı, özelleştirilebilir sistem bilgisi betiği. + + bash + - /usr/bin/neofetch + / + /usr/bin/* /usr/share/* @@ -24,9 +35,9 @@ 2021-04-05 7.1.0 - Pisi Linux için ilk Neofetch sürümü - Berk Çakar - berk2238@hotmail.com + Pisi Linux Support + Berkan Şahin + cicektaksi@tutanota.com diff --git a/util/misc/neofetch/translations.xml b/util/misc/neofetch/translations.xml index 4b05235027..131f73464e 100644 --- a/util/misc/neofetch/translations.xml +++ b/util/misc/neofetch/translations.xml @@ -2,6 +2,6 @@ neofetch A fast, highly customizable system info script. - A fast, highly customizable system info script. + A version of Neofetch patched for Pisi Linux support.