From ea42a29bbd11dae1a06cc0b69542f1d3a1d12fa6 Mon Sep 17 00:00:00 2001 From: Reisy243 Date: Mon, 7 Aug 2023 23:25:29 -0600 Subject: [PATCH 1/7] Adding Panwah logo --- neofetch | 32 ++++++++++++++++++++++++++++++-- neofetch.1 | 2 +- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/neofetch b/neofetch index 48b96d21..7e87c512 100755 --- a/neofetch +++ b/neofetch @@ -797,7 +797,7 @@ image_source="auto" # 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, +# osmc, Oracle, OS Elbrus, PacBSD, Panwah, Parabola, Pardus, Parrot, Parsix, # TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS, # Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian, # Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, @@ -5157,7 +5157,7 @@ ASCII: 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, + OS Elbrus, PacBSD, Panwah, Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS, Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, Rosa, @@ -9357,6 +9357,34 @@ ${c1} :+sMs. EOF ;; + "Panwah"*) + set_colors 7 1 0 + read -rd '' ascii_data <<'EOF' +${c1} + HHH + HAAAH HHH + HAAAAH HAAAH + HAAAAAAH HAAAAH + HAAAAAAH HAAAAAH + HAAAAAAAAH${c2}WWWWWWWWWWWWWWWW ${c1}HAAAAAH$ + HAAAAAAAAH${c2}WWWWWWWWWWWWWWWWWWWW${c1} HAAAAAH + HAA${c2}WWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}AAAAAH${c2} + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}WAH${c2} + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWWWWW${c1}AAA${c2}WWWW WWWWWWWWWWWWWWWWWWWWWWWWWWW + WWWW${c1}AAA${c2}WWWWW WWWWWWW WWWWWWWWWWWWWWW + WW${c1}AAA${c2}WWWWWWWWWWWWWWWWW WWWWW${c1}AAA${c2}WWWWWWWW + ${c1}AAA${c2}WWWWW${c1}OOOOOOOOOOO${C2}WWWWWWWWWWW${c1}AAA${c2}WWWWWW + ${c1}OOOO${c3}GGGGGGG${c1}OOOO${c2}WWWWWWWWWW${c1}AAA${c2}WWWW + ${c1}OOO${c3}GGGGGGG${c1}OOO${c2}WWWWWWWWWWWW${c1}AAA${c2}W + ${c1}OOOOOOOOO +EOF + ;; + "parabola_small"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' diff --git a/neofetch.1 b/neofetch.1 index b90b5781..f4b18390 100644 --- a/neofetch.1 +++ b/neofetch.1 @@ -318,7 +318,7 @@ Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui, Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt, -osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix, +osmc, Oracle, OS Elbrus, PacBSD, Panwah, 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, From 63f37d28e367dccdb8e155652a3407467d310aeb Mon Sep 17 00:00:00 2001 From: Alxhr0 Date: Sat, 12 Aug 2023 12:33:41 +0200 Subject: [PATCH 2/7] Added scratch support --- neofetch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neofetch b/neofetch index 3d3f0a79..36af5753 100755 --- a/neofetch +++ b/neofetch @@ -2032,7 +2032,7 @@ get_packages() { has tekel && dir "/data/app/$USER/* /data/app/system/*" has crew && dir "${CREW_PREFIX:-/usr/local}/etc/crew/meta/*.filelist" has pkgtool && dir "/var/log/packages/*" - has scratch && dir "/var/lib/scratchpkg/index/*/.pkginfo" + has scratch && dir "/var/lib/scratchpkg/db/*" has kagami && dir "/var/lib/kagami/pkgs/*" has cave && dir "/var/db/paludis/repositories/cross-installed/*/data/*/ \ /var/db/paludis/repositories/installed/data/*/" From 3d7dfc0220b3c6c14f2018112e8ce2953398ee3d Mon Sep 17 00:00:00 2001 From: FragCGI <89751683+FragCGI@users.noreply.github.com> Date: Sat, 12 Aug 2023 20:50:06 -0300 Subject: [PATCH 3/7] Update neofetch --- neofetch | 611 ++++++++++++++++--------------------------------------- 1 file changed, 175 insertions(+), 436 deletions(-) diff --git a/neofetch b/neofetch index 36af5753..002eec69 100755 --- a/neofetch +++ b/neofetch @@ -214,18 +214,6 @@ mem_precision=2 package_managers="on" -# Show separate user and system packages for supported package managers -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --package_separate -# -# Example: -# on: '8 packages (flatpak-system), 9 packages (flatpak-user)' -# off: '17 packages (flatpak)' -package_separate="on" - - # Shell @@ -848,7 +836,7 @@ image_source="auto" # NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS, # AOSC OS/Retro, Aperio GNU/Linux, Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, # archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, -# Aster, AsteroidOS, astOS, Astra Linux, Athena, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, +# Aster, AsteroidOS, astOS, Astra Linux, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, # BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL- # Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear # Linux OS, ClearOS, Clover, Cobalt, Condres, Container Linux by CoreOS, CRUX, Crystal Linux, @@ -860,7 +848,7 @@ image_source="auto" # Hyperbola, iglunix, instantOS, IRIX, Itc, januslinux, Kaisen, Kali, KaOS, KDE, Kibojoe, Kogaion, # Korora, KrassOS, KSLinux, Kubuntu, LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux # Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, -# Mandriva, Manjaro, MassOS, MatuusOS, Maui, Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, +# Mandriva, Manjaro, MassOS, MatuusOS, Maui, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, # NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, # Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, # openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense, Oracle, orchid, OS Elbrus, @@ -996,11 +984,6 @@ background_color= stdout="auto" EOF -# If /etc/neofetch/default.conf exist, set config variable to its content -if [[ -f /etc/neofetch/default.conf ]]; then - config="$(< /etc/neofetch/default.conf)" -fi - # DETECT INFORMATION get_os() { @@ -1289,8 +1272,7 @@ get_distro() { windows_version_verbose=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v ProductName | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/ProductName}") - windows_version_verbose=$(trim "${windows_version_verbose/REG_SZ}") - buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) + windows_version_verbose=$(trim "${windows_version_verbose/REG_SZ}")buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/Windows}") windows_buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_buildnumber=${buildnumber/CurrentBuildNumber} @@ -1363,24 +1345,23 @@ get_distro() { "Mac OS X"|"macOS") case $osx_version in - 10.4*) codename="Mac OS X Tiger" ;; - 10.5*) codename="Mac OS X Leopard" ;; + 10.4*) codename="Mac OS X Tiger" ;; + 10.5*) codename="Mac OS X Leopard" ;; 10.6*) codename="Mac OS X Snow Leopard" ;; - 10.7*) codename="Mac OS X Lion" ;; - 10.8*) codename="OS X Mountain Lion" ;; - 10.9*) codename="OS X Mavericks" ;; - 10.10*) codename="OS X Yosemite" ;; - 10.11*) codename="OS X El Capitan" ;; - 10.12*) codename="macOS Sierra" ;; - 10.13*) codename="macOS High Sierra" ;; - 10.14*) codename="macOS Mojave" ;; - 10.15*) codename="macOS Catalina" ;; - 10.16*) codename="macOS Big Sur" ;; - 11.*) codename="macOS Big Sur" ;; - 12.*) codename="macOS Monterey" ;; - 13.*) codename="macOS Ventura" ;; - 14.*) codename="macOS Sonoma" ;; - *) codename="macOS" ;; + 10.7*) codename="Mac OS X Lion" ;; + 10.8*) codename="OS X Mountain Lion" ;; + 10.9*) codename="OS X Mavericks" ;; + 10.10*) codename="OS X Yosemite" ;; + 10.11*) codename="OS X El Capitan" ;; + 10.12*) codename="macOS Sierra" ;; + 10.13*) codename="macOS High Sierra" ;; + 10.14*) codename="macOS Mojave" ;; + 10.15*) codename="macOS Catalina" ;; + 10.16*) codename="macOS Big Sur" ;; + 11.*) codename="macOS Big Sur" ;; + 12.*) codename="macOS Monterey" ;; + 13.*) codename="macOS Ventura" ;; + *) codename=macOS ;; esac distro="$codename $osx_version ($osx_build)" @@ -1524,17 +1505,7 @@ get_model() { fi case $model in - Mac14,15): "MacBook Air (15-inch, M2, 2023)" ;; - Mac14,14): "Mac Studio (M2 Max, 2023)" ;; - Mac14,13): "Mac Studio (M2 Ultra, 2023)" ;; - Mac14,8): "Mac Pro (2023)" ;; - Mac14,6 | Mac14,10): "MacBook Pro (16-inch, 2023)" ;; - Mac14,5 | Mac14,9): "MacBook Pro (14-inch, 2023)" ;; - Mac14,12 | Mac14,3): "Mac mini (2023)" ;; Mac14,7): "MacBook Pro (13-inch, M2, 2022)" ;; - Mac14,2): "MacBook Air (M2, 2022)" ;; - Mac13,1): "Mac Studio (M1 Max, 2022)" ;; - Mac13,2): "Mac Studio (M1 Ultra, 2022)" ;; MacBookPro18,[3-4]): "MacBook Pro (14-inch, 2021)" ;; MacBookPro18,[1-2]): "MacBook Pro (16-inch, 2021)" ;; MacBookPro17,1): "MacBook Pro (13-inch, M1, 2020)" ;; @@ -1571,6 +1542,7 @@ get_model() { MacBookPro5,2): "MacBook Pro (17-inch, Mid/Early 2009)" ;; MacBookPro5,1): "MacBook Pro (15-inch, Late 2008)" ;; MacBookPro4,1): "MacBook Pro (17/15-inch, Early 2008)" ;; + Mac14,2): "MacBook Air (M2, 2022)" ;; MacBookAir10,1): "MacBook Air (M1, 2020)" ;; MacBookAir9,1): "MacBook Air (Retina, 13-inch, 2020)" ;; MacBookAir8,2): "MacBook Air (Retina, 13-inch, 2019)" ;; @@ -1592,12 +1564,14 @@ get_model() { MacBook7,1): "MacBook (13-inch, Mid 2010)" ;; MacBook6,1): "MacBook (13-inch, Late 2009)" ;; MacBook5,2): "MacBook (13-inch, Early/Mid 2009)" ;; + Mac13,1): "Mac Studio (2022, Two USB-C front ports)" ;; + Mac13,2): "Mac Studio (2022, Two Thunderbolt 4 front ports)" ;; Macmini9,1): "Mac mini (M1, 2020)" ;; Macmini8,1): "Mac mini (2018)" ;; Macmini7,1): "Mac mini (Mid 2014)" ;; Macmini6,[1-2]): "Mac mini (Late 2012)" ;; Macmini5,[1-2]): "Mac mini (Mid 2011)" ;; - Macmini4,1): "MacPromini (Mid 2010)" ;; + Macmini4,1): "Mac mini (Mid 2010)" ;; Macmini3,1): "Mac mini (Early/Late 2009)" ;; MacPro7,1): "Mac Pro (2019)" ;; MacPro6,1): "Mac Pro (Late 2013)" ;; @@ -1946,14 +1920,6 @@ get_packages() { ((packages+=${#pkgs[@]})); pac "$((${#pkgs[@]}-pkgs_h))"; } - # Similar with tot but do nothing if the command fails - tot-safe() { - if pkgs="$("$@")"; then - pkgs=$(echo "$pkgs" | wc -l) - ((packages+=pkgs)) - pac "$((pkgs-pkgs_h))"; - fi - } # Redefine tot() and dir() for Bedrock Linux. [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && { @@ -1974,8 +1940,7 @@ get_packages() { } # OS-independent package managers. - has pipx && tot pipx list --short - has cargo && _cargopkgs="$(cargo install --list | grep -v '^ ')" && tot echo "$_cargopkgs" + has pipx && tot pipx list --short # OS-specific package managers. case $os in @@ -2002,9 +1967,8 @@ get_packages() { has pisi && tot pisi li has pacstall && tot pacstall -L has bulge && tot bulge list - has pm && tot-safe pm list packages + has pm && tot pm list packages has evox && tot cat /var/evox/packages/DB - has squirrel && tot ls /var/packages has tea && tot find "$HOME/.tea" -maxdepth 2 -mindepth 2 -type d # Using the dnf package cache is much faster than rpm. @@ -2032,7 +1996,7 @@ get_packages() { has tekel && dir "/data/app/$USER/* /data/app/system/*" has crew && dir "${CREW_PREFIX:-/usr/local}/etc/crew/meta/*.filelist" has pkgtool && dir "/var/log/packages/*" - has scratch && dir "/var/lib/scratchpkg/db/*" + has scratch && dir "/var/lib/scratchpkg/index/*/.pkginfo" has kagami && dir "/var/lib/kagami/pkgs/*" has cave && dir "/var/db/paludis/repositories/cross-installed/*/data/*/ \ /var/db/paludis/repositories/installed/data/*/" @@ -2040,65 +2004,24 @@ get_packages() { shopt -u nullglob } - # Steam games - STEAM_P=".local/share/Steam/steamapps/common" - if [[ -d "$HOME/$STEAM_P" ]]; then - manager=steam && dir "$HOME/$STEAM_P/*/" - elif [[ -d "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P" ]]; then - manager=steam && dir "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P/*/" - elif [[ -d "$HOME/.steam/steam/steamapps/common" ]]; then - manager=steam && dir "$HOME/.steam/steam/steamapps/common/*/" - fi - # Other (Needs complex command) has kpm-pkg && ((packages+=$(kpm --get-selections | grep -cv deinstall$))) - # Separate system and user packages - if [[ $package_separate == on ]]; then - has guix && { - manager=guix-system && tot guix package -p /run/current-system/profile -I - manager=guix-user && tot guix package -I - manager=guix-home && tot guix package -p ~/.guix-home/profile -I - } + has guix && { + manager=guix-system && tot guix package -p /run/current-system/profile -I + manager=guix-user && tot guix package -I + manager=guix-home && tot guix package -p ~/.guix-home/profile -I + } - has nix-store && { - nix-user-pkgs() { - nix-store -qR ~/.nix-profile - nix-store -qR /etc/profiles/per-user/"$USER" - } - manager=nix-system && tot nix-store -qR /run/current-system/sw - manager=nix-user && tot nix-user-pkgs - manager=nix-default && tot nix-store -qR /nix/var/nix/profiles/default + has nix-store && { + nix-user-pkgs() { + nix-store -qR ~/.nix-profile + nix-store -qR /etc/profiles/per-user/"$USER" } - - has flatpak && { - manager=flatpak-system && tot flatpak list --system - manager=flatpak-user && tot flatpak list --user - } - else - has guix && { - guix-all() { - guix package -p /run/current-system/profile -I - guix package -I - guix package -p ~/.guix-home/profile -I - } - manager=guix && tot guix-all - } - - has nix-store && { - nix-all() { - nix-store -qR ~/.nix-profile - nix-store -qR /etc/profiles/per-user/"$USER" - nix-store -qR /run/current-system/sw - nix-store -qR /nix/var/nix/profiles/default - } - manager=nix && tot nix-all - } - - has flatpak && { - manager=flatpak && tot flatpak list - } - fi + 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. # TODO: Fix this somehow. @@ -2122,8 +2045,10 @@ get_packages() { esac # List these last as they accompany regular package managers. + has flatpak && tot flatpak list has spm && tot spm list -i has puyo && dir ~/.puyo/installed + has cargo && dir "${CARGO_HOME:-$HOME/.cargo}/bin/"* # Snap hangs if the command is run without the daemon running. # Only run snap if the daemon is also running. @@ -2133,9 +2058,6 @@ get_packages() { # This is the only standard location for appimages. # See: https://github.com/AppImage/AppImageKit/wiki manager=appimage && has appimaged && dir ~/.local/bin/*.[Aa]pp[Ii]mage - - # Has devbox & is initialized - has devbox && [[ "$(devbox global list)" != *"not activated"* ]] && tot devbox global list ;; "Mac OS X"|"macOS"|MINIX) @@ -2293,7 +2215,7 @@ get_editor() { editor="${editor/$editor_name }" ;; *) - # editor+=$("$editor_full_path" --version 2>&1) + editor+=$("$editor_full_path" --version 2>&1) editor="${editor/$'\n'*}" ;; esac @@ -2438,7 +2360,7 @@ get_de() { # TODO: # - New config option + flag: --de_display_server on/off ? # - Add display of X11, Arcan and anything else relevant. - [[ $de ]] && [[ $os != "Windows" ]] && + [[ $de ]] && de+=" (${XDG_SESSION_TYPE})" de_run=1 @@ -3819,42 +3741,36 @@ get_song() { get_resolution() { case $os in "Mac OS X"|"macOS") - resolution="" - temp_plist="/tmp/neofetch_system_profiler_SPDisplaysDataType.xml" # PlistBuddy doesn't support reading from /dev/stdin - if system_profiler SPDisplaysDataType -xml > $temp_plist; then - for ((gpu=0; gpu<999; gpu++)); do - if PlistBuddy -c "print 0:_items:${gpu}" $temp_plist &> /dev/null; then - for ((display=0; display<999; display++)); do - if spdisplays_resolution="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_resolution" $temp_plist)" 2>/dev/null; then - spdisplays_resolution="${spdisplays_resolution//.[0-9][0-9]/}" - if spdisplays_pixels="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_pixels" $temp_plist)" 2>/dev/null; then - scaled_x="$(echo "$spdisplays_resolution" | awk '{print $1}')" - output_x="$(echo "$spdisplays_pixels" | awk '{print $1}')" - (( scale_factor=output_x/scaled_x )) - [[ $scale_factor -gt 1 ]] && spdisplays_resolution="${spdisplays_resolution// @/ @${scale_factor}x @}" - fi - spdisplays_resolution="${spdisplays_resolution// x /x}" - [[ $gpu -gt 0 || $display -gt 0 ]] && resolution+=", " - resolution+="${spdisplays_resolution}" - else - break - fi - done - else - break - fi - done + if type -p screenresolution >/dev/null; then + resolution="$(screenresolution get 2>&1 | awk '/Display/ {printf $6 "Hz, "}')" + resolution="${resolution//x??@/ @ }" - if [[ "$refresh_rate" == "off" ]]; then - resolution="${resolution/ @ [0-9][0-9][0.9]Hz}" - resolution="${resolution/ @ [0-9][0.9]Hz}" - resolution="${resolution/ @ [0-9]Hz}" - else - resolution="${resolution// @ 0Hz}" - fi - - rm $temp_plist + else + resolution="$(system_profiler SPDisplaysDataType |\ + awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')" fi + + if [[ -e "/Library/Preferences/com.apple.windowserver.plist" ]]; then + scale_factor="$(PlistBuddy -c "Print DisplayAnyUserSets:0:0:Resolution" \ + /Library/Preferences/com.apple.windowserver.plist)" + else + scale_factor="" + fi + + # If no refresh rate is empty. + [[ "$resolution" == *"@ Hz"* ]] && \ + resolution="${resolution//@ Hz}" + + [[ "${scale_factor%.*}" == 2 ]] && \ + resolution="${resolution// @/@2x @}" + + if [[ "$refresh_rate" == "off" ]]; then + resolution="${resolution// @ [0-9][0-9]Hz}" + resolution="${resolution// @ [0-9][0-9][0-9]Hz}" + fi + + [[ "$resolution" == *"0Hz"* ]] && \ + resolution="${resolution// @ 0Hz}" ;; "Windows") @@ -3949,13 +3865,8 @@ get_style() { qt_theme="$(grep "^${kde}" "$kde_config_file")" qt_theme="${qt_theme/*=}" - if [[ "$kde" == "widgetStyle" ]] && grep -q "\[Theme\]" "$HOME/.config/plasmarc"; then - kde_theme="$(awk '/name=/ {gsub(/name=/,"",$0);print $0;exit}' "$HOME/.config/plasmarc")" - else - kde_theme="$(grep "^${kde}" "$kde_config_file")" - kde_theme="${kde_theme/*=}" - fi - + kde_theme="$(grep "^${kde}" "$kde_config_file")" + kde_theme="${kde_theme/*=}" if [[ "$kde" == "font" ]]; then kde_font_size="${kde_theme#*,}" kde_font_size="${kde_font_size/,*}" @@ -3972,7 +3883,7 @@ get_style() { kde_theme="$(grep "${kde}" "$kde_config_file")" kde_theme="${kde_theme/*=}" fi - #kde_theme="$kde_theme [KDE], " + kde_theme="$kde_theme [KDE], " else err "Theme: KDE config files not found, skipping." fi @@ -4143,13 +4054,11 @@ get_style() { gtk2_theme="$(trim "$gtk2_theme")" gtk3_theme="$(trim "$gtk3_theme")" qt_theme="$(trim "$qt_theme")" - kde_theme="$(trim "$kde_theme")" # Remove quotes. gtk2_theme="$(trim_quotes "$gtk2_theme")" gtk3_theme="$(trim_quotes "$gtk3_theme")" qt_theme="$(trim_quotes "$qt_theme")" - kde_theme="$(trim_quotes "$kde_theme")" # Handle Qt theme engines that load external themes case "$qt_theme" in @@ -4168,7 +4077,6 @@ get_style() { [[ "$gtk2" == "off" ]] && unset gtk2_theme [[ "$gtk3" == "off" ]] && unset gtk3_theme [[ "$qt" == "off" ]] && unset qt_theme - # TODO: kde theme visibility # Format the string based on which themes exist. # append_theme theme toolkit @@ -4184,7 +4092,6 @@ get_style() { } theme='' local cur_theme='' - append_theme "$kde_theme" 'KDE' append_theme "$fly_theme" 'Fly' append_theme "$qt_theme" 'Qt' append_theme "$gtk2_theme" 'GTK2' @@ -5167,7 +5074,7 @@ print_ascii() { strip_escape_codes "${line}" line # Use patterns to replace color codes that the above line did not catch line=${line//\\033\[*([0-9;])[JKmsu]/} - line="$(printf %b "$line" | sed -E 's/'"$(printf %b '\x1B')"'\[*[0-9;]+[JKmsu]//g')" + line=${line//\[*([0-9;])[JKmsu]/} ((++lines,${#line}>ascii_len)) && ascii_len="${#line}" done <<< "${ascii_data//\$\{??\}}" fi @@ -6126,7 +6033,6 @@ INFO: --title_fqdn on/off Hide/Show Fully Qualified Domain Name in title. --package_managers on/off Hide/Show Package Manager names. (on, tiny, off) - --package_separate on/off Whether to separate system/user modes for supported package managers --os_arch on/off Hide/Show OS architecture. --speed_type type Change the type of cpu speed to display. Possible values: current, min, max, bios, @@ -6275,7 +6181,7 @@ ASCII: Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, Aster, AsteroidOS, astOS, Astra - Linux, Athena, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, + Linux, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear @@ -6293,7 +6199,7 @@ ASCII: LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, - Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, + Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, openSUSE, openSUSE @@ -6387,7 +6293,6 @@ get_args() { # Info "--title_fqdn") title_fqdn="$2" ;; "--package_managers") package_managers="$2" ;; - "--package_separate") package_separate="$2" ;; "--os_arch") os_arch="$2" ;; "--cpu_cores") cpu_cores="$2" ;; "--cpu_speed") cpu_speed="$2" ;; @@ -7601,32 +7506,6 @@ ${c2} .oossssso-````/ossssss+` EOF ;; - "unicodearch"*) - set_colors 6 6 7 1 - read -rd '' ascii_data <<'EOF' -${c1} ▄ - ▟█▙ - ▟███▙ - ▟█████▙ - ▟███████▙ - ▂▔▀▜██████▙ - ▟██▅▂▝▜█████▙ - ▟█████████████▙ - ▟███████████████▙ - ▟█████████████████▙ - ▟███████████████████▙ - ▟█████████▛▀▀▜████████▙ - ▟████████▛ ▜███████▙ - ▟█████████ ████████▙ - ▟██████████ █████▆▅▄▃▂ - ▟██████████▛ ▜█████████▙ - ▟██████▀▀▀ ▀▀██████▙ - ▟███▀▘ ▝▀███▙ - ▟▛▀ ▀▜▙ - -EOF - ;; - "artix_small"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' @@ -7759,36 +7638,6 @@ ${c1} OMMc ... ${c1} xMMx ${c1} ;XMN: ${c1} ,. -EOF - ;; - - "Athena"*) - set_colors 7 3 - read -rd '' ascii_data <<'EOF' -${c1} . .. -${c1} :####: ####. -${c1} .################ -${c1} :################## -${c1}.###################. -${c1}######## ####### -${c1}####### ${c2}####${c1} ##### -${c1}:#######. #### -${c1} ######### ${c2}#${c1} ## # -${c1} ####### ${c2}##${c1} #### -${c1}######## ${c2}####${c1} ####### -${c1}######## ${c2}#####${c1} ######## -${c1}######## ${c2}#######${c1} ####### -${c1} ####### ${c2}########${c1} ####### -${c1} ######## ${c2}#########${c1} ###### -${c1} ######## ${c2}#########${c1} ##### -${c1} ####### ${c2}#########${c1} #### -${c1} ####### ${c2}#########${c1} ## -${c1} ####### ${c2}########${c1} ## -${c1} ###### ${c2}########${c1} # -${c1} ### ${c2}#######${c1} -${c1} ${c2}######${c1} -${c1} ${c2}####${c1} -${c1} ${c2}##${c1} EOF ;; @@ -8895,31 +8744,6 @@ ${c1} ............ EOF ;; - - "openKylin"*) - set_colors 2 7 - read -rd '' ascii_data <<'EOF' -${c1} - /KKK] - KKKKKKK` ]KKKK\ - KKKKK/ /KKKKKKKKK\ - KKKK/ ,KKKKKKKKKKKK^ - ,]KKK =KKK` /KKKKKKOOOOOO` -,KKKKKK =KK /` [\OOOOOOO\ - \KKKKK =K ,OOOOOOO` - ,KKKKK =^ \OOOOOO - ,KKKK ^ OOOOOO^ - *KKK^ =OOOOO^ - OOKK^ OOOOOO^ - \OOOK\ /OOOOOO` - OOOOOO] ,OOOOOOO^ - ,OOOOOOOO\] ,[OOOOOOOOO/ - \OOOOOOOOOOOOOOOOOOOOO` - [OOOOOOOOOOOOOOOO/` - ,[OOOOOOOOO] -EOF - ;; - "DesaOS") set_colors 2 7 read -rd '' ascii_data <<'EOF' @@ -9307,30 +9131,6 @@ wWW${c2}N${c1}WWWWw EOF ;; - "EvolutionOS"*) - set_colors 4 7 - read -rd '' ascii_data <<'EOF' -${c1}\e[1;32m dddddddddddddddddddddddd - .dddd''''''''''''''''''''''dddd. - dd: dddddddddddddddddddd; dd: - dd: ldl:'''''''''''''''' dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: ddddddd; ddddd; dd: - dd: ldl: ''''''' ''''' dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: dd: - dd: ldl: ddddddddddddddd; dd: - dddd:.''' ''''''''''''''' dddd: - dddddddddddddddddddddddddd;;' - '''''''''''''''''''''''''\e[0m -EOF - ;; - "Exherbo"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -10805,22 +10605,6 @@ ${c1} `.-://////:--` EOF ;; - "Meowix"*) - set_colors 1 3 3 4 - read -rd '' ascii_data <<'EOF' -${c1} #${c2}% ${c3}&${c4}* -${c1} ##${c2}%% ${c3}&&${c4}** -${c1} ## ${c2}%% ${c3}&& ${c4}** -${c1} ## ${c2}%% ${c3}&& ${c4}** -${c1} ## ${c2}%% ${c3}&& ${c4}** -${c1} ## ${c2}%% ${c3}&& ${c4}** -${c1} ## ${c2}%%${c3}&& ${c4}** -${c1} ## ${c2}%% ${c4}** -${c1} ## ${c4}** -${c1}## ${c4}** -EOF - ;; - "Mer"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -11606,7 +11390,7 @@ ${c1} /(/ EOF ;; - *"Wrt"*) + "OpenWrt"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} _______ @@ -12072,31 +11856,6 @@ ${c1} /🐦🐦🐦$ /🐦/🐦 /🐦🐦🐦 /🐦🐦🐦 |__/ |__|__/ \__/\_______/\______/ \______/ . EOF ;; - - "phyOS"*) - set_colors 33 33 7 1 - read -rd '' ascii_data <<'EOF' -${c1} ' -.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^^^^^. - :777777777777777777777777777777^~7777: - .~~~~~~~~~~~~~~~~~~~~~^~7777!:!777!. - ~7!!!!!!!!!!!!!!!!!^:!777~^!777~ - ^77777!!!!!!!!!7!^^7777^^7777^ - ^7777~.~~~~^. .~7777^~7777: - :!777~^!777~. !777!:~777!: - .!777!:~777!:~77~:!777!. - ~777!^~7777:^~^!777~ - ^7777^^7777^^7777^ - :7777~^!7777777: - .!777!:!7777!. - .~777!:~77~. - ~7777^~~ - ^7777. - :77: - .. -EOF - ;; - "PNM Linux"* | "WHPNM Linux"*) set_colors 33 9 15 202 @@ -12524,28 +12283,26 @@ EOF ;; "Reborn OS"* | "Reborn"*) - set_colors 0 4 6 + set_colors 2 2 8 read -rd '' ascii_data <<'EOF' -${c1} .======================. - ${c1}.#${c2}#*********${c1}%%${c2}*********#${c1}%: - ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- - ${c1}-%${c2}************${c1}%%${c2}************${c1}%= - ${c1}+%${c2}******${c1}%%#####${c1}%%#####%%${c2}******${c1}%+ - ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* - ${c1}*%${c2}*#${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. - ${c1}.##${c2}*****${c1}#%%%#${c3}*++${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%. - ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%: -${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%- -${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%= - ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%- - ${c1}.##${c2}*****${c1}#%%%#${c3}*+*${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%: - ${c1}.##${c2}**${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. - ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* - ${c1}+%${c2}******${c1}%%#####%%#####%%${c2}******${c1}%* - ${c1}-%${c2}************${c1}%%${c2}************${c1}%= - ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- - ${c1}:%${c2}#*********${c1}%%${c2}*********#${c1}%: - ${c1}.======================. +${c3} + mMMMMMMMMM MMMMMMMMMm + NM MN + MM ${c1}dddddddd dddddddd ${c3}MN + mM ${c1}dd dd ${c3}MM + ${c1}dd hhhhhh hhhhh dd + ${c3}mM ${c1}hh hh ${c3}Mm + NM ${c1}hd ${c3}mMMMMMMd ${c1}dh ${c3}MN + NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN +NM ${c1}dd hh ${c3}mMMMMMMMMMMm ${c1}hh dd ${c3}MN + NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN + NM ${c1}hd ${c3}mMMMMMMm ${c1}dh ${c3}MN + mM ${c1}hh hh ${c3}Mm + ${c1}dd hhhhhh hhhhhh dd + ${c3}MM ${c1}dd dd ${c3}MM + MM ${c1}dddddddd dddddddd ${c3}MN + NM MN + mMMMMMMMMM MMMMMMMMMm EOF ;; @@ -13001,32 +12758,6 @@ xxxxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxx EOF ;; - "Salix"*) - set_colors 2 - read -rd '' ascii_data <<'EOF' -${c1} __s_aaaaaaaaauuoXSSSSSSSS: - ._xSSSSSSSSSSSSSSSSSSSSSSSSSS: - _aSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: - _xSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: - - nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS} - nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS}` - XSSSSSSSSSSSSSSSSSSSSSSSSSSSS"` - SSSSSSSSSSSSSSSSSSSSSSSSS!"` --""""""""""""""""""""""` -EOF - ;; - "Scientific"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -13475,17 +13206,17 @@ EOF read -rd '' ascii_data <<'EOF' ${c2} ...... .,cdxxxoc,. .:kKMMMNWMMMNk:. - cKMMN0OOOKWMMXo. A ;0MWk:' ':OMMk. - ;WMK;' 'lKMMNM, :NMK' 'OMW; - cMW; WMMMN ,XMK' oMM. -.MMc ''^*~l. xMN: KM0 -'MM. .NMO oMM + cKMMN0OOOKWMMXo. ; ;0MWk:. .:OMMk. + ;WMK;. .lKMMNM, :NMK, .OMW; + cMW; 'WMMMN ,XMK, oMM' +.MMc ..;l. xMN: KM0 +'MM. 'NMO oMM .MM, .kMMl xMN - KM0 .kMM0' .dl>~,. .WMd - 'XM0. ,OMMK' OMMM7' .XMK - *WMO:. .;xNMMk' NNNMKl. .xWMx - ^ONMMNXMMMKx; V 'xNMWKkxllox0NMWk' - ''''' ':dOOXXKOxl' + KM0 .kMM0. .dl:,.. .WMd + .XM0. ,OMMK, OMMMK. .XMK + oWMO:. .;xNMMk, NNNMKl. .xWMx + :ONMMNXMMMKx; . ,xNMWKkxllox0NMWk, + ..... .:dOOXXKOxl, EOF ;; @@ -13525,30 +13256,39 @@ dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2} dKd '^:ldxkkkkxdl:^' EOF ;; - "parch"* | "Parch"* | "PARCH"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' -${c1} - +s;;:o- - s/sssso+/-'+\\ - +/ssssss/` - /ssssssss/ - \\ 'sssssss: - `o+;ssssssso\\ - /sssssssssssss\\+ - ;ssssssssssssssss: - :sssssssssssssssssso; - /ssssssssssssssssssssss - `+ssssssssssssssssssssso\\ - so+'+ssssssssssssssss+'` - '` +osssssoooooosssss++oo\\ - /sssssssooooooosssssssso - `osssssssssoooossssssssso: - \\sssssssssssssssssssss; - `+osssssssssssssss:/' - `\\osssssssssso;+' - `\\+;so:+-` + + ${c1} ,#/*%* + ${c1} #. ..,..,*,, + ${c1} ,/,,... ,. (/ ... + ${c1} ,/,........ .,. ./(/%/ .* #* + ${c1} .**,..... ...,%&. ., + ${c1} ,%,.... ., , + ${c1} ,&,... .,, &. . + ${c1} (%,... ..,& *. + ${c1} *&*..... &,,,,,,,#& ..,&/ *. / + ${c1} *&*,..... &***%&&**,& ...,&* / / + ${c1} *&,.... &,**,,,**,# ..,&/ . + ${c1} (/,... &***%%%(, ..,%( # + ${c1} %*... #,,,% ..*% . * + ${c1} %,.. .,% . / + ${c1} %,. ..,,. .% + ${c1} /,. ${c1} ..# .% + ${c1} .,. ${c2} @@@@@# ${c1} ./ ./. + ${c1} ,.. ${c2} #&%.%%@ ${c1} .#%&* +${c1} .,.. ${c2} @//(*(@, ${c1} .. + ${c1} ,.. ${c2} #@ /@@, ${c1} + ${c1} ... ${c2} &@ @@@ ${c1} + ${c1} ,,. ${c2} (# .@@#, ${c1} , + ${c1} /,.. ${c2} *****@% #****/ ${c1} . + ${c1} ((*....${c2} /***% %*** ${c1} .,.* + ${c1} /&&&**,.., ${c2}* **,*,,. ${c1} ...,(&%* + ${c1} %&&&#*(**,,,,,,,,,,,,,,,*//(&&&&# + ${c1} /, .,....... .,,***/(/,,/ + ${c1} ./*/#*,,***,,***///(#%%*. + EOF ;; @@ -14156,24 +13896,47 @@ ${c3} :${c4}:::::::::::::: ${c5}. EOF ;; + "venom_small"*) + set_colors 8 4 + read -rd '' ascii_data <<'EOF' +${c1} ++** + *===**====+* + *====* +===+ + *==*+===* *===* +*===* *===+ *===* +*===* +===+ *===* +*===* +===* *===* + *===* *===+*==* + +===+ *===+=* + *+====**===* + **++ +EOF + ;; + + "Venom"*) set_colors 8 4 read -rd '' ascii_data <<'EOF' -${c1} ::::::: ::::::: - mMMMMMMm dMMMMMMm - /MMMMMMMo +MMMMMMM/ - yMMMMMMN mMMMMMMy - NMMMMMMs oMMMMMMm - +MMMMMMN: NMMMMMM+ - hMMMMMMy sMMMMMMy - :NMMMMMM::NMMMMMN: - oMMMMMMyyMMMMMM+ - dMMMMMMMMMMMMh - /MMMMMMMMMMMN: - sMMMMMMMMMMo - mMMMMMMMMd - +MMMMMMMN: - :::::: +${c1} + `-` + -yys+/-` + `oyyyyy: /osyyyyso+:. + /yyyyy+`+yyyyyyyyyys/. + .-yyyyys.:+//+oyyyyyyyo. + `oy/`oyyyyy/ ./syyyyy: + syyys`:yyyyyo` :yyyyy: + /yyyyo .syyyyy- .yyyyy. + yyyyy. +yyyyy/ /yyyy/ + `yyyyy :yyyyys` -yyyyo + yyyyy. `syyyyy- /yyyy/ + /yyyyo /yyyyy+ .yyyyy. + syyyys. -yyyyys.:yyyy: + `oyyyyyo-` `oyyyyy:.sy: + :syyyyyyso+/++`/yyyyyo`` + -oyyyyyyyyyyy-.syyyys. + -/+osyyyyso.`+yyyyy/ + .-/+syo` + `. EOF ;; @@ -14440,30 +14203,6 @@ llllllllllllll lllllllllllllllllll EOF ;; - "Windows95") - set_colors 6 4 3 2 1 0 - read -rd '' ascii_data <<'EOF' -${c6} ___ - .--=+++++=-:. - . _ *%@@@@@@@@@@@@@@* - *:+:.__ :+* @@@ @"${c5}_*&%${c6}@@${c4}%&&&*${c6}"@@@ - "+.-#+ +%* " _ ${c5}++&&&%${c6}@@${c4}%&&&&&#${c6}@@ -${c5} " , ${c6}%@@ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ -${c5} * oo *# ${c6}" _ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ -${c5} " , ${c6}%@@ ${c5}&&&&"${c6}@@@@#*${c4}"&&&${c6}@@ - .${c5} * oo *# ${c6}" _ %@@@@@@@@@@@@@@@@ - *:+:.__ :=* %@@ @"${c1}**&%${c6}@@${c3}%&&&*${c6}"@@@ - "+.-#+ +%* " _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ -${c1} " , ${c6}%@@ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ -${c1} * oo *# ${c6}" _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ -${c1} " , ${c6}%@@ ${c1}&&*"${c6}%@@@@@@${c3}"*%&${c6}@@ - .${c1} * oo *# ${c6}" _ @@@@@@@@@@@@@@@@@ - *:+:.__ :+# @@@ @%#=+""""""+==%#@ - "+.-#+ +%* %+" " ":@ - " " -EOF - ;; - "Windows"*) set_colors 1 2 4 3 read -rd '' ascii_data <<'EOF' From 53dec09f8823eb9a676ee53ae355e5698b96775b Mon Sep 17 00:00:00 2001 From: FragCGI <89751683+FragCGI@users.noreply.github.com> Date: Sat, 12 Aug 2023 20:53:41 -0300 Subject: [PATCH 4/7] Update neofetch Updated to new Venom Linux logo with small variant --- neofetch | 560 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 422 insertions(+), 138 deletions(-) diff --git a/neofetch b/neofetch index 002eec69..58e77322 100755 --- a/neofetch +++ b/neofetch @@ -214,6 +214,18 @@ mem_precision=2 package_managers="on" +# Show separate user and system packages for supported package managers +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --package_separate +# +# Example: +# on: '8 packages (flatpak-system), 9 packages (flatpak-user)' +# off: '17 packages (flatpak)' +package_separate="on" + + # Shell @@ -836,7 +848,7 @@ image_source="auto" # NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS, # AOSC OS/Retro, Aperio GNU/Linux, Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, # archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, -# Aster, AsteroidOS, astOS, Astra Linux, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, +# Aster, AsteroidOS, astOS, Astra Linux, Athena, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, # BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL- # Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear # Linux OS, ClearOS, Clover, Cobalt, Condres, Container Linux by CoreOS, CRUX, Crystal Linux, @@ -848,7 +860,7 @@ image_source="auto" # Hyperbola, iglunix, instantOS, IRIX, Itc, januslinux, Kaisen, Kali, KaOS, KDE, Kibojoe, Kogaion, # Korora, KrassOS, KSLinux, Kubuntu, LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux # Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, -# Mandriva, Manjaro, MassOS, MatuusOS, Maui, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, +# Mandriva, Manjaro, MassOS, MatuusOS, Maui, Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, # NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, # Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, # openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense, Oracle, orchid, OS Elbrus, @@ -984,6 +996,11 @@ background_color= stdout="auto" EOF +# If /etc/neofetch/default.conf exist, set config variable to its content +if [[ -f /etc/neofetch/default.conf ]]; then + config="$(< /etc/neofetch/default.conf)" +fi + # DETECT INFORMATION get_os() { @@ -1272,7 +1289,8 @@ get_distro() { windows_version_verbose=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v ProductName | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/ProductName}") - windows_version_verbose=$(trim "${windows_version_verbose/REG_SZ}")buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) + windows_version_verbose=$(trim "${windows_version_verbose/REG_SZ}") + buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/Windows}") windows_buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_buildnumber=${buildnumber/CurrentBuildNumber} @@ -1345,23 +1363,24 @@ get_distro() { "Mac OS X"|"macOS") case $osx_version in - 10.4*) codename="Mac OS X Tiger" ;; - 10.5*) codename="Mac OS X Leopard" ;; + 10.4*) codename="Mac OS X Tiger" ;; + 10.5*) codename="Mac OS X Leopard" ;; 10.6*) codename="Mac OS X Snow Leopard" ;; - 10.7*) codename="Mac OS X Lion" ;; - 10.8*) codename="OS X Mountain Lion" ;; - 10.9*) codename="OS X Mavericks" ;; - 10.10*) codename="OS X Yosemite" ;; - 10.11*) codename="OS X El Capitan" ;; - 10.12*) codename="macOS Sierra" ;; - 10.13*) codename="macOS High Sierra" ;; - 10.14*) codename="macOS Mojave" ;; - 10.15*) codename="macOS Catalina" ;; - 10.16*) codename="macOS Big Sur" ;; - 11.*) codename="macOS Big Sur" ;; - 12.*) codename="macOS Monterey" ;; - 13.*) codename="macOS Ventura" ;; - *) codename=macOS ;; + 10.7*) codename="Mac OS X Lion" ;; + 10.8*) codename="OS X Mountain Lion" ;; + 10.9*) codename="OS X Mavericks" ;; + 10.10*) codename="OS X Yosemite" ;; + 10.11*) codename="OS X El Capitan" ;; + 10.12*) codename="macOS Sierra" ;; + 10.13*) codename="macOS High Sierra" ;; + 10.14*) codename="macOS Mojave" ;; + 10.15*) codename="macOS Catalina" ;; + 10.16*) codename="macOS Big Sur" ;; + 11.*) codename="macOS Big Sur" ;; + 12.*) codename="macOS Monterey" ;; + 13.*) codename="macOS Ventura" ;; + 14.*) codename="macOS Sonoma" ;; + *) codename="macOS" ;; esac distro="$codename $osx_version ($osx_build)" @@ -1505,7 +1524,17 @@ get_model() { fi case $model in + Mac14,15): "MacBook Air (15-inch, M2, 2023)" ;; + Mac14,14): "Mac Studio (M2 Max, 2023)" ;; + Mac14,13): "Mac Studio (M2 Ultra, 2023)" ;; + Mac14,8): "Mac Pro (2023)" ;; + Mac14,6 | Mac14,10): "MacBook Pro (16-inch, 2023)" ;; + Mac14,5 | Mac14,9): "MacBook Pro (14-inch, 2023)" ;; + Mac14,12 | Mac14,3): "Mac mini (2023)" ;; Mac14,7): "MacBook Pro (13-inch, M2, 2022)" ;; + Mac14,2): "MacBook Air (M2, 2022)" ;; + Mac13,1): "Mac Studio (M1 Max, 2022)" ;; + Mac13,2): "Mac Studio (M1 Ultra, 2022)" ;; MacBookPro18,[3-4]): "MacBook Pro (14-inch, 2021)" ;; MacBookPro18,[1-2]): "MacBook Pro (16-inch, 2021)" ;; MacBookPro17,1): "MacBook Pro (13-inch, M1, 2020)" ;; @@ -1542,7 +1571,6 @@ get_model() { MacBookPro5,2): "MacBook Pro (17-inch, Mid/Early 2009)" ;; MacBookPro5,1): "MacBook Pro (15-inch, Late 2008)" ;; MacBookPro4,1): "MacBook Pro (17/15-inch, Early 2008)" ;; - Mac14,2): "MacBook Air (M2, 2022)" ;; MacBookAir10,1): "MacBook Air (M1, 2020)" ;; MacBookAir9,1): "MacBook Air (Retina, 13-inch, 2020)" ;; MacBookAir8,2): "MacBook Air (Retina, 13-inch, 2019)" ;; @@ -1564,14 +1592,12 @@ get_model() { MacBook7,1): "MacBook (13-inch, Mid 2010)" ;; MacBook6,1): "MacBook (13-inch, Late 2009)" ;; MacBook5,2): "MacBook (13-inch, Early/Mid 2009)" ;; - Mac13,1): "Mac Studio (2022, Two USB-C front ports)" ;; - Mac13,2): "Mac Studio (2022, Two Thunderbolt 4 front ports)" ;; Macmini9,1): "Mac mini (M1, 2020)" ;; Macmini8,1): "Mac mini (2018)" ;; Macmini7,1): "Mac mini (Mid 2014)" ;; Macmini6,[1-2]): "Mac mini (Late 2012)" ;; Macmini5,[1-2]): "Mac mini (Mid 2011)" ;; - Macmini4,1): "Mac mini (Mid 2010)" ;; + Macmini4,1): "MacPromini (Mid 2010)" ;; Macmini3,1): "Mac mini (Early/Late 2009)" ;; MacPro7,1): "Mac Pro (2019)" ;; MacPro6,1): "Mac Pro (Late 2013)" ;; @@ -1920,6 +1946,14 @@ get_packages() { ((packages+=${#pkgs[@]})); pac "$((${#pkgs[@]}-pkgs_h))"; } + # Similar with tot but do nothing if the command fails + tot-safe() { + if pkgs="$("$@")"; then + pkgs=$(echo "$pkgs" | wc -l) + ((packages+=pkgs)) + pac "$((pkgs-pkgs_h))"; + fi + } # Redefine tot() and dir() for Bedrock Linux. [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && { @@ -1940,7 +1974,8 @@ get_packages() { } # OS-independent package managers. - has pipx && tot pipx list --short + has pipx && tot pipx list --short + has cargo && _cargopkgs="$(cargo install --list | grep -v '^ ')" && tot echo "$_cargopkgs" # OS-specific package managers. case $os in @@ -1967,8 +2002,9 @@ get_packages() { has pisi && tot pisi li has pacstall && tot pacstall -L has bulge && tot bulge list - has pm && tot pm list packages + has pm && tot-safe pm list packages has evox && tot cat /var/evox/packages/DB + has squirrel && tot ls /var/packages has tea && tot find "$HOME/.tea" -maxdepth 2 -mindepth 2 -type d # Using the dnf package cache is much faster than rpm. @@ -1996,7 +2032,7 @@ get_packages() { has tekel && dir "/data/app/$USER/* /data/app/system/*" has crew && dir "${CREW_PREFIX:-/usr/local}/etc/crew/meta/*.filelist" has pkgtool && dir "/var/log/packages/*" - has scratch && dir "/var/lib/scratchpkg/index/*/.pkginfo" + has scratch && dir "/var/lib/scratchpkg/db/*" has kagami && dir "/var/lib/kagami/pkgs/*" has cave && dir "/var/db/paludis/repositories/cross-installed/*/data/*/ \ /var/db/paludis/repositories/installed/data/*/" @@ -2004,24 +2040,65 @@ get_packages() { shopt -u nullglob } + # Steam games + STEAM_P=".local/share/Steam/steamapps/common" + if [[ -d "$HOME/$STEAM_P" ]]; then + manager=steam && dir "$HOME/$STEAM_P/*/" + elif [[ -d "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P" ]]; then + manager=steam && dir "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P/*/" + elif [[ -d "$HOME/.steam/steam/steamapps/common" ]]; then + manager=steam && dir "$HOME/.steam/steam/steamapps/common/*/" + fi + # Other (Needs complex command) has kpm-pkg && ((packages+=$(kpm --get-selections | grep -cv deinstall$))) - has guix && { - manager=guix-system && tot guix package -p /run/current-system/profile -I - manager=guix-user && tot guix package -I - manager=guix-home && tot guix package -p ~/.guix-home/profile -I - } - - has nix-store && { - nix-user-pkgs() { - nix-store -qR ~/.nix-profile - nix-store -qR /etc/profiles/per-user/"$USER" + # Separate system and user packages + if [[ $package_separate == on ]]; then + has guix && { + manager=guix-system && tot guix package -p /run/current-system/profile -I + manager=guix-user && tot guix package -I + manager=guix-home && tot guix package -p ~/.guix-home/profile -I } - 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 - } + + has nix-store && { + nix-user-pkgs() { + nix-store -qR ~/.nix-profile + nix-store -qR /etc/profiles/per-user/"$USER" + } + manager=nix-system && tot nix-store -qR /run/current-system/sw + manager=nix-user && tot nix-user-pkgs + manager=nix-default && tot nix-store -qR /nix/var/nix/profiles/default + } + + has flatpak && { + manager=flatpak-system && tot flatpak list --system + manager=flatpak-user && tot flatpak list --user + } + else + has guix && { + guix-all() { + guix package -p /run/current-system/profile -I + guix package -I + guix package -p ~/.guix-home/profile -I + } + manager=guix && tot guix-all + } + + has nix-store && { + nix-all() { + nix-store -qR ~/.nix-profile + nix-store -qR /etc/profiles/per-user/"$USER" + nix-store -qR /run/current-system/sw + nix-store -qR /nix/var/nix/profiles/default + } + manager=nix && tot nix-all + } + + has flatpak && { + manager=flatpak && tot flatpak list + } + fi # pkginfo is also the name of a python package manager which is painfully slow. # TODO: Fix this somehow. @@ -2045,10 +2122,8 @@ get_packages() { esac # List these last as they accompany regular package managers. - has flatpak && tot flatpak list has spm && tot spm list -i has puyo && dir ~/.puyo/installed - has cargo && dir "${CARGO_HOME:-$HOME/.cargo}/bin/"* # Snap hangs if the command is run without the daemon running. # Only run snap if the daemon is also running. @@ -2058,6 +2133,9 @@ get_packages() { # This is the only standard location for appimages. # See: https://github.com/AppImage/AppImageKit/wiki manager=appimage && has appimaged && dir ~/.local/bin/*.[Aa]pp[Ii]mage + + # Has devbox & is initialized + has devbox && [[ "$(devbox global list)" != *"not activated"* ]] && tot devbox global list ;; "Mac OS X"|"macOS"|MINIX) @@ -2215,7 +2293,7 @@ get_editor() { editor="${editor/$editor_name }" ;; *) - editor+=$("$editor_full_path" --version 2>&1) + # editor+=$("$editor_full_path" --version 2>&1) editor="${editor/$'\n'*}" ;; esac @@ -2360,7 +2438,7 @@ get_de() { # TODO: # - New config option + flag: --de_display_server on/off ? # - Add display of X11, Arcan and anything else relevant. - [[ $de ]] && + [[ $de ]] && [[ $os != "Windows" ]] && de+=" (${XDG_SESSION_TYPE})" de_run=1 @@ -3741,36 +3819,42 @@ get_song() { get_resolution() { case $os in "Mac OS X"|"macOS") - if type -p screenresolution >/dev/null; then - resolution="$(screenresolution get 2>&1 | awk '/Display/ {printf $6 "Hz, "}')" - resolution="${resolution//x??@/ @ }" + resolution="" + temp_plist="/tmp/neofetch_system_profiler_SPDisplaysDataType.xml" # PlistBuddy doesn't support reading from /dev/stdin + if system_profiler SPDisplaysDataType -xml > $temp_plist; then + for ((gpu=0; gpu<999; gpu++)); do + if PlistBuddy -c "print 0:_items:${gpu}" $temp_plist &> /dev/null; then + for ((display=0; display<999; display++)); do + if spdisplays_resolution="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_resolution" $temp_plist)" 2>/dev/null; then + spdisplays_resolution="${spdisplays_resolution//.[0-9][0-9]/}" + if spdisplays_pixels="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_pixels" $temp_plist)" 2>/dev/null; then + scaled_x="$(echo "$spdisplays_resolution" | awk '{print $1}')" + output_x="$(echo "$spdisplays_pixels" | awk '{print $1}')" + (( scale_factor=output_x/scaled_x )) + [[ $scale_factor -gt 1 ]] && spdisplays_resolution="${spdisplays_resolution// @/ @${scale_factor}x @}" + fi + spdisplays_resolution="${spdisplays_resolution// x /x}" + [[ $gpu -gt 0 || $display -gt 0 ]] && resolution+=", " + resolution+="${spdisplays_resolution}" + else + break + fi + done + else + break + fi + done - else - resolution="$(system_profiler SPDisplaysDataType |\ - awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')" + if [[ "$refresh_rate" == "off" ]]; then + resolution="${resolution/ @ [0-9][0-9][0.9]Hz}" + resolution="${resolution/ @ [0-9][0.9]Hz}" + resolution="${resolution/ @ [0-9]Hz}" + else + resolution="${resolution// @ 0Hz}" + fi + + rm $temp_plist fi - - if [[ -e "/Library/Preferences/com.apple.windowserver.plist" ]]; then - scale_factor="$(PlistBuddy -c "Print DisplayAnyUserSets:0:0:Resolution" \ - /Library/Preferences/com.apple.windowserver.plist)" - else - scale_factor="" - fi - - # If no refresh rate is empty. - [[ "$resolution" == *"@ Hz"* ]] && \ - resolution="${resolution//@ Hz}" - - [[ "${scale_factor%.*}" == 2 ]] && \ - resolution="${resolution// @/@2x @}" - - if [[ "$refresh_rate" == "off" ]]; then - resolution="${resolution// @ [0-9][0-9]Hz}" - resolution="${resolution// @ [0-9][0-9][0-9]Hz}" - fi - - [[ "$resolution" == *"0Hz"* ]] && \ - resolution="${resolution// @ 0Hz}" ;; "Windows") @@ -3865,8 +3949,13 @@ get_style() { qt_theme="$(grep "^${kde}" "$kde_config_file")" qt_theme="${qt_theme/*=}" - kde_theme="$(grep "^${kde}" "$kde_config_file")" - kde_theme="${kde_theme/*=}" + if [[ "$kde" == "widgetStyle" ]] && grep -q "\[Theme\]" "$HOME/.config/plasmarc"; then + kde_theme="$(awk '/name=/ {gsub(/name=/,"",$0);print $0;exit}' "$HOME/.config/plasmarc")" + else + kde_theme="$(grep "^${kde}" "$kde_config_file")" + kde_theme="${kde_theme/*=}" + fi + if [[ "$kde" == "font" ]]; then kde_font_size="${kde_theme#*,}" kde_font_size="${kde_font_size/,*}" @@ -3883,7 +3972,7 @@ get_style() { kde_theme="$(grep "${kde}" "$kde_config_file")" kde_theme="${kde_theme/*=}" fi - kde_theme="$kde_theme [KDE], " + #kde_theme="$kde_theme [KDE], " else err "Theme: KDE config files not found, skipping." fi @@ -4054,11 +4143,13 @@ get_style() { gtk2_theme="$(trim "$gtk2_theme")" gtk3_theme="$(trim "$gtk3_theme")" qt_theme="$(trim "$qt_theme")" + kde_theme="$(trim "$kde_theme")" # Remove quotes. gtk2_theme="$(trim_quotes "$gtk2_theme")" gtk3_theme="$(trim_quotes "$gtk3_theme")" qt_theme="$(trim_quotes "$qt_theme")" + kde_theme="$(trim_quotes "$kde_theme")" # Handle Qt theme engines that load external themes case "$qt_theme" in @@ -4077,6 +4168,7 @@ get_style() { [[ "$gtk2" == "off" ]] && unset gtk2_theme [[ "$gtk3" == "off" ]] && unset gtk3_theme [[ "$qt" == "off" ]] && unset qt_theme + # TODO: kde theme visibility # Format the string based on which themes exist. # append_theme theme toolkit @@ -4092,6 +4184,7 @@ get_style() { } theme='' local cur_theme='' + append_theme "$kde_theme" 'KDE' append_theme "$fly_theme" 'Fly' append_theme "$qt_theme" 'Qt' append_theme "$gtk2_theme" 'GTK2' @@ -5074,7 +5167,7 @@ print_ascii() { strip_escape_codes "${line}" line # Use patterns to replace color codes that the above line did not catch line=${line//\\033\[*([0-9;])[JKmsu]/} - line=${line//\[*([0-9;])[JKmsu]/} + line="$(printf %b "$line" | sed -E 's/'"$(printf %b '\x1B')"'\[*[0-9;]+[JKmsu]//g')" ((++lines,${#line}>ascii_len)) && ascii_len="${#line}" done <<< "${ascii_data//\$\{??\}}" fi @@ -6033,6 +6126,7 @@ INFO: --title_fqdn on/off Hide/Show Fully Qualified Domain Name in title. --package_managers on/off Hide/Show Package Manager names. (on, tiny, off) + --package_separate on/off Whether to separate system/user modes for supported package managers --os_arch on/off Hide/Show OS architecture. --speed_type type Change the type of cpu speed to display. Possible values: current, min, max, bios, @@ -6181,7 +6275,7 @@ ASCII: Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, Aster, AsteroidOS, astOS, Astra - Linux, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, + Linux, Athena, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear @@ -6199,7 +6293,7 @@ ASCII: LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, - Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, + Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, openSUSE, openSUSE @@ -6293,6 +6387,7 @@ get_args() { # Info "--title_fqdn") title_fqdn="$2" ;; "--package_managers") package_managers="$2" ;; + "--package_separate") package_separate="$2" ;; "--os_arch") os_arch="$2" ;; "--cpu_cores") cpu_cores="$2" ;; "--cpu_speed") cpu_speed="$2" ;; @@ -7506,6 +7601,32 @@ ${c2} .oossssso-````/ossssss+` EOF ;; + "unicodearch"*) + set_colors 6 6 7 1 + read -rd '' ascii_data <<'EOF' +${c1} ▄ + ▟█▙ + ▟███▙ + ▟█████▙ + ▟███████▙ + ▂▔▀▜██████▙ + ▟██▅▂▝▜█████▙ + ▟█████████████▙ + ▟███████████████▙ + ▟█████████████████▙ + ▟███████████████████▙ + ▟█████████▛▀▀▜████████▙ + ▟████████▛ ▜███████▙ + ▟█████████ ████████▙ + ▟██████████ █████▆▅▄▃▂ + ▟██████████▛ ▜█████████▙ + ▟██████▀▀▀ ▀▀██████▙ + ▟███▀▘ ▝▀███▙ + ▟▛▀ ▀▜▙ + +EOF + ;; + "artix_small"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' @@ -7638,6 +7759,36 @@ ${c1} OMMc ... ${c1} xMMx ${c1} ;XMN: ${c1} ,. +EOF + ;; + + "Athena"*) + set_colors 7 3 + read -rd '' ascii_data <<'EOF' +${c1} . .. +${c1} :####: ####. +${c1} .################ +${c1} :################## +${c1}.###################. +${c1}######## ####### +${c1}####### ${c2}####${c1} ##### +${c1}:#######. #### +${c1} ######### ${c2}#${c1} ## # +${c1} ####### ${c2}##${c1} #### +${c1}######## ${c2}####${c1} ####### +${c1}######## ${c2}#####${c1} ######## +${c1}######## ${c2}#######${c1} ####### +${c1} ####### ${c2}########${c1} ####### +${c1} ######## ${c2}#########${c1} ###### +${c1} ######## ${c2}#########${c1} ##### +${c1} ####### ${c2}#########${c1} #### +${c1} ####### ${c2}#########${c1} ## +${c1} ####### ${c2}########${c1} ## +${c1} ###### ${c2}########${c1} # +${c1} ### ${c2}#######${c1} +${c1} ${c2}######${c1} +${c1} ${c2}####${c1} +${c1} ${c2}##${c1} EOF ;; @@ -8744,6 +8895,31 @@ ${c1} ............ EOF ;; + + "openKylin"*) + set_colors 2 7 + read -rd '' ascii_data <<'EOF' +${c1} + /KKK] + KKKKKKK` ]KKKK\ + KKKKK/ /KKKKKKKKK\ + KKKK/ ,KKKKKKKKKKKK^ + ,]KKK =KKK` /KKKKKKOOOOOO` +,KKKKKK =KK /` [\OOOOOOO\ + \KKKKK =K ,OOOOOOO` + ,KKKKK =^ \OOOOOO + ,KKKK ^ OOOOOO^ + *KKK^ =OOOOO^ + OOKK^ OOOOOO^ + \OOOK\ /OOOOOO` + OOOOOO] ,OOOOOOO^ + ,OOOOOOOO\] ,[OOOOOOOOO/ + \OOOOOOOOOOOOOOOOOOOOO` + [OOOOOOOOOOOOOOOO/` + ,[OOOOOOOOO] +EOF + ;; + "DesaOS") set_colors 2 7 read -rd '' ascii_data <<'EOF' @@ -9131,6 +9307,30 @@ wWW${c2}N${c1}WWWWw EOF ;; + "EvolutionOS"*) + set_colors 4 7 + read -rd '' ascii_data <<'EOF' +${c1}\e[1;32m dddddddddddddddddddddddd + .dddd''''''''''''''''''''''dddd. + dd: dddddddddddddddddddd; dd: + dd: ldl:'''''''''''''''' dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: ddddddd; ddddd; dd: + dd: ldl: ''''''' ''''' dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: dd: + dd: ldl: ddddddddddddddd; dd: + dddd:.''' ''''''''''''''' dddd: + dddddddddddddddddddddddddd;;' + '''''''''''''''''''''''''\e[0m +EOF + ;; + "Exherbo"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -10605,6 +10805,22 @@ ${c1} `.-://////:--` EOF ;; + "Meowix"*) + set_colors 1 3 3 4 + read -rd '' ascii_data <<'EOF' +${c1} #${c2}% ${c3}&${c4}* +${c1} ##${c2}%% ${c3}&&${c4}** +${c1} ## ${c2}%% ${c3}&& ${c4}** +${c1} ## ${c2}%% ${c3}&& ${c4}** +${c1} ## ${c2}%% ${c3}&& ${c4}** +${c1} ## ${c2}%% ${c3}&& ${c4}** +${c1} ## ${c2}%%${c3}&& ${c4}** +${c1} ## ${c2}%% ${c4}** +${c1} ## ${c4}** +${c1}## ${c4}** +EOF + ;; + "Mer"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -11390,7 +11606,7 @@ ${c1} /(/ EOF ;; - "OpenWrt"*) + *"Wrt"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} _______ @@ -11856,6 +12072,31 @@ ${c1} /🐦🐦🐦$ /🐦/🐦 /🐦🐦🐦 /🐦🐦🐦 |__/ |__|__/ \__/\_______/\______/ \______/ . EOF ;; + + "phyOS"*) + set_colors 33 33 7 1 + read -rd '' ascii_data <<'EOF' +${c1} ' +.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^^^^^. + :777777777777777777777777777777^~7777: + .~~~~~~~~~~~~~~~~~~~~~^~7777!:!777!. + ~7!!!!!!!!!!!!!!!!!^:!777~^!777~ + ^77777!!!!!!!!!7!^^7777^^7777^ + ^7777~.~~~~^. .~7777^~7777: + :!777~^!777~. !777!:~777!: + .!777!:~777!:~77~:!777!. + ~777!^~7777:^~^!777~ + ^7777^^7777^^7777^ + :7777~^!7777777: + .!777!:!7777!. + .~777!:~77~. + ~7777^~~ + ^7777. + :77: + .. +EOF + ;; + "PNM Linux"* | "WHPNM Linux"*) set_colors 33 9 15 202 @@ -12283,26 +12524,28 @@ EOF ;; "Reborn OS"* | "Reborn"*) - set_colors 2 2 8 + set_colors 0 4 6 read -rd '' ascii_data <<'EOF' -${c3} - mMMMMMMMMM MMMMMMMMMm - NM MN - MM ${c1}dddddddd dddddddd ${c3}MN - mM ${c1}dd dd ${c3}MM - ${c1}dd hhhhhh hhhhh dd - ${c3}mM ${c1}hh hh ${c3}Mm - NM ${c1}hd ${c3}mMMMMMMd ${c1}dh ${c3}MN - NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN -NM ${c1}dd hh ${c3}mMMMMMMMMMMm ${c1}hh dd ${c3}MN - NM ${c1}dd hh ${c3}mMMMMMMMMm ${c1}hh dd ${c3}MN - NM ${c1}hd ${c3}mMMMMMMm ${c1}dh ${c3}MN - mM ${c1}hh hh ${c3}Mm - ${c1}dd hhhhhh hhhhhh dd - ${c3}MM ${c1}dd dd ${c3}MM - MM ${c1}dddddddd dddddddd ${c3}MN - NM MN - mMMMMMMMMM MMMMMMMMMm +${c1} .======================. + ${c1}.#${c2}#*********${c1}%%${c2}*********#${c1}%: + ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- + ${c1}-%${c2}************${c1}%%${c2}************${c1}%= + ${c1}+%${c2}******${c1}%%#####${c1}%%#####%%${c2}******${c1}%+ + ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* + ${c1}*%${c2}*#${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. + ${c1}.##${c2}*****${c1}#%%%#${c3}*++${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%. + ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%: +${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%- +${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%= + ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%- + ${c1}.##${c2}*****${c1}#%%%#${c3}*+*${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%: + ${c1}.##${c2}**${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. + ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* + ${c1}+%${c2}******${c1}%%#####%%#####%%${c2}******${c1}%* + ${c1}-%${c2}************${c1}%%${c2}************${c1}%= + ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- + ${c1}:%${c2}#*********${c1}%%${c2}*********#${c1}%: + ${c1}.======================. EOF ;; @@ -12758,6 +13001,32 @@ xxxxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxx EOF ;; + "Salix"*) + set_colors 2 + read -rd '' ascii_data <<'EOF' +${c1} __s_aaaaaaaaauuoXSSSSSSSS: + ._xSSSSSSSSSSSSSSSSSSSSSSSSSS: + _aSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: + _xSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: + + nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS} + nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS}` + XSSSSSSSSSSSSSSSSSSSSSSSSSSSS"` + SSSSSSSSSSSSSSSSSSSSSSSSS!"` +-""""""""""""""""""""""` +EOF + ;; + "Scientific"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' @@ -13206,17 +13475,17 @@ EOF read -rd '' ascii_data <<'EOF' ${c2} ...... .,cdxxxoc,. .:kKMMMNWMMMNk:. - cKMMN0OOOKWMMXo. ; ;0MWk:. .:OMMk. - ;WMK;. .lKMMNM, :NMK, .OMW; - cMW; 'WMMMN ,XMK, oMM' -.MMc ..;l. xMN: KM0 -'MM. 'NMO oMM + cKMMN0OOOKWMMXo. A ;0MWk:' ':OMMk. + ;WMK;' 'lKMMNM, :NMK' 'OMW; + cMW; WMMMN ,XMK' oMM. +.MMc ''^*~l. xMN: KM0 +'MM. .NMO oMM .MM, .kMMl xMN - KM0 .kMM0. .dl:,.. .WMd - .XM0. ,OMMK, OMMMK. .XMK - oWMO:. .;xNMMk, NNNMKl. .xWMx - :ONMMNXMMMKx; . ,xNMWKkxllox0NMWk, - ..... .:dOOXXKOxl, + KM0 .kMM0' .dl>~,. .WMd + 'XM0. ,OMMK' OMMM7' .XMK + *WMO:. .;xNMMk' NNNMKl. .xWMx + ^ONMMNXMMMKx; V 'xNMWKkxllox0NMWk' + ''''' ':dOOXXKOxl' EOF ;; @@ -13256,39 +13525,30 @@ dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2} dKd '^:ldxkkkkxdl:^' EOF ;; + "parch"* | "Parch"* | "PARCH"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' - - ${c1} ,#/*%* - ${c1} #. ..,..,*,, - ${c1} ,/,,... ,. (/ ... - ${c1} ,/,........ .,. ./(/%/ .* #* - ${c1} .**,..... ...,%&. ., - ${c1} ,%,.... ., , - ${c1} ,&,... .,, &. . - ${c1} (%,... ..,& *. - ${c1} *&*..... &,,,,,,,#& ..,&/ *. / - ${c1} *&*,..... &***%&&**,& ...,&* / / - ${c1} *&,.... &,**,,,**,# ..,&/ . - ${c1} (/,... &***%%%(, ..,%( # - ${c1} %*... #,,,% ..*% . * - ${c1} %,.. .,% . / - ${c1} %,. ..,,. .% - ${c1} /,. ${c1} ..# .% - ${c1} .,. ${c2} @@@@@# ${c1} ./ ./. - ${c1} ,.. ${c2} #&%.%%@ ${c1} .#%&* -${c1} .,.. ${c2} @//(*(@, ${c1} .. - ${c1} ,.. ${c2} #@ /@@, ${c1} - ${c1} ... ${c2} &@ @@@ ${c1} - ${c1} ,,. ${c2} (# .@@#, ${c1} , - ${c1} /,.. ${c2} *****@% #****/ ${c1} . - ${c1} ((*....${c2} /***% %*** ${c1} .,.* - ${c1} /&&&**,.., ${c2}* **,*,,. ${c1} ...,(&%* - ${c1} %&&&#*(**,,,,,,,,,,,,,,,*//(&&&&# - ${c1} /, .,....... .,,***/(/,,/ - ${c1} ./*/#*,,***,,***///(#%%*. - +${c1} + +s;;:o- + s/sssso+/-'+\\ + +/ssssss/` + /ssssssss/ + \\ 'sssssss: + `o+;ssssssso\\ + /sssssssssssss\\+ + ;ssssssssssssssss: + :sssssssssssssssssso; + /ssssssssssssssssssssss + `+ssssssssssssssssssssso\\ + so+'+ssssssssssssssss+'` + '` +osssssoooooosssss++oo\\ + /sssssssooooooosssssssso + `osssssssssoooossssssssso: + \\sssssssssssssssssssss; + `+osssssssssssssss:/' + `\\osssssssssso;+' + `\\+;so:+-` EOF ;; @@ -14203,6 +14463,30 @@ llllllllllllll lllllllllllllllllll EOF ;; + "Windows95") + set_colors 6 4 3 2 1 0 + read -rd '' ascii_data <<'EOF' +${c6} ___ + .--=+++++=-:. + . _ *%@@@@@@@@@@@@@@* + *:+:.__ :+* @@@ @"${c5}_*&%${c6}@@${c4}%&&&*${c6}"@@@ + "+.-#+ +%* " _ ${c5}++&&&%${c6}@@${c4}%&&&&&#${c6}@@ +${c5} " , ${c6}%@@ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ +${c5} * oo *# ${c6}" _ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ +${c5} " , ${c6}%@@ ${c5}&&&&"${c6}@@@@#*${c4}"&&&${c6}@@ + .${c5} * oo *# ${c6}" _ %@@@@@@@@@@@@@@@@ + *:+:.__ :=* %@@ @"${c1}**&%${c6}@@${c3}%&&&*${c6}"@@@ + "+.-#+ +%* " _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ +${c1} " , ${c6}%@@ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ +${c1} * oo *# ${c6}" _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ +${c1} " , ${c6}%@@ ${c1}&&*"${c6}%@@@@@@${c3}"*%&${c6}@@ + .${c1} * oo *# ${c6}" _ @@@@@@@@@@@@@@@@@ + *:+:.__ :+# @@@ @%#=+""""""+==%#@ + "+.-#+ +%* %+" " ":@ + " " +EOF + ;; + "Windows"*) set_colors 1 2 4 3 read -rd '' ascii_data <<'EOF' From e81f2aa6d76e8f673d23c8a1af45cbd10ac32a3a Mon Sep 17 00:00:00 2001 From: George Vlahavas Date: Sun, 13 Aug 2023 23:22:15 +0300 Subject: [PATCH 5/7] Add Slackel logo --- neofetch | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/neofetch b/neofetch index 36af5753..68b753ad 100755 --- a/neofetch +++ b/neofetch @@ -13151,6 +13151,34 @@ _Qh;.nm .QWc. {QL ]QQp;..vmQ/ -?T??" EOF ;; + "Slackel"*) + set_colors 3 + read -rd '' ascii_data <<'EOF' +${c1} _aawmmmmmwwaaaaas,,,_. + .ammmmm###mmmmmmm###BQmm##mws + .am###mmBmBmBmBmBmBmmmmm#mmmm#2 + Date: Sun, 13 Aug 2023 19:25:55 -0700 Subject: [PATCH 6/7] [F] Fix reset performance Closes #158 --- neofetch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neofetch b/neofetch index da53f1ae..8cc5b1af 100755 --- a/neofetch +++ b/neofetch @@ -38,7 +38,7 @@ shopt -s eval_unsafe_arith &>/dev/null sys_locale=${LANG:-C} XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-${HOME}/.config} PATH=$PATH:/usr/xpg4/bin:/usr/sbin:/sbin:/usr/etc:/usr/libexec -reset='\e[39;22m' +reset='\e[0m' shopt -s nocasematch extglob # Speed up script by not using unicode. From e33ccd3484a681d5e509aaf187f0543bd0dd5254 Mon Sep 17 00:00:00 2001 From: Azalea Date: Sun, 13 Aug 2023 19:31:28 -0700 Subject: [PATCH 7/7] [F] Fix fore-back for kubuntu Closes #154 --- hyfetch/neofetch_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hyfetch/neofetch_util.py b/hyfetch/neofetch_util.py index 823d43cc..17829ac9 100644 --- a/hyfetch/neofetch_util.py +++ b/hyfetch/neofetch_util.py @@ -424,7 +424,7 @@ def get_fore_back(distro: str | None = None) -> tuple[int, int] | None: distro = get_distro_name().lower() distro = distro.lower().replace(' ', '-') for k, v in fore_back.items(): - if distro == k.lower(): + if distro.startswith(k.lower()): return v return None