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.