neofetch.patch 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773
  1. --- neofetch/neofetch 2021-04-05 21:41:49.707204300 +0300
  2. +++ pisifetch/neofetch 2021-04-05 20:12:01.572216242 +0300
  3. @@ -75,7 +75,6 @@
  4. info "Memory" memory
  5. # info "GPU Driver" gpu_driver # Linux/macOS only
  6. - # info "CPU Usage" cpu_usage
  7. # info "Disk" disk
  8. # info "Battery" battery
  9. # info "Font" font
  10. @@ -408,6 +407,13 @@
  11. # Flag: --ip_timeout
  12. public_ip_timeout=2
  13. +# Local IP interface
  14. +#
  15. +# Default: 'auto' (interface of default route)
  16. +# Values: 'auto', 'en0', 'en1'
  17. +# Flag: --ip_interface
  18. +local_ip_interface=('auto')
  19. +
  20. # Desktop Environment
  21. @@ -506,8 +512,10 @@
  22. # guayadeque
  23. # io.elementary.music
  24. # iTunes
  25. +# Music
  26. # juk
  27. # lollypop
  28. +# MellowPlayer
  29. # mocp
  30. # mopidy
  31. # mpd
  32. @@ -721,8 +729,7 @@
  33. #
  34. # Default: 'off'
  35. # Values: 'bar', 'infobar', 'barinfo', 'off'
  36. -# Flags: --cpu_display
  37. -# --memory_display
  38. +# Flags: --memory_display
  39. # --battery_display
  40. # --disk_display
  41. #
  42. @@ -731,7 +738,6 @@
  43. # infobar: 'info [---=======]'
  44. # barinfo: '[---=======] info'
  45. # off: 'info'
  46. -cpu_display="off"
  47. memory_display="off"
  48. battery_display="off"
  49. disk_display="off"
  50. @@ -743,8 +749,10 @@
  51. # Image backend.
  52. #
  53. # Default: 'ascii'
  54. -# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
  55. -# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
  56. +# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off',
  57. +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug',
  58. +# 'viu'
  59. +
  60. # Flag: --backend
  61. image_backend="ascii"
  62. @@ -772,34 +780,34 @@
  63. # Default: 'auto'
  64. # Values: 'auto', 'distro_name'
  65. # Flag: --ascii_distro
  66. -# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
  67. -# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
  68. -# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
  69. -# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
  70. -# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
  71. -# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
  72. -# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
  73. -# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
  74. +# NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS,
  75. +# Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft,
  76. +# ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch,
  77. +# Artix, Arya, Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight,
  78. +# bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
  79. +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
  80. +# Container_Linux, CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS,
  81. +# Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary,
  82. # EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
  83. # FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
  84. # gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
  85. -# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
  86. -# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
  87. -# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
  88. -# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
  89. -# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
  90. -# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
  91. -# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
  92. -# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
  93. -# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
  94. -# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
  95. -# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
  96. -# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
  97. -# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
  98. -# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
  99. -# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
  100. -# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
  101. -# and IRIX have ascii logos
  102. +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora,
  103. +# KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE,
  104. +# Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, Maui,
  105. +# Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD,
  106. +# Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD,
  107. +# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt,
  108. +# osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix,
  109. +# TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS,
  110. +# Proxmox, Puppy, PureOS, Qubes, Quibian, Radix, Raspbian, Reborn_OS,
  111. +# Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, Rosa,
  112. +# sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor,
  113. +# SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, SmartOS,
  114. +# Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, t2,
  115. +# openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
  116. +# Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE,
  117. +# Ubuntu-Studio, Ubuntu, Univention, Venom, Void, semc, Obarun,
  118. +# windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos.
  119. # NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
  120. # Use '{distro name}_old' to use the old logos.
  121. # NOTE: Ubuntu has flavor variants.
  122. @@ -880,6 +888,14 @@
  123. # --size
  124. image_size="auto"
  125. +# Catimg block size.
  126. +# Control the resolution of catimg.
  127. +#
  128. +# Default: '2'
  129. +# Values: '1', '2'
  130. +# Flags: --catimg_size
  131. +catimg_size="2"
  132. +
  133. # Gap between image and text
  134. #
  135. # Default: '3'
  136. @@ -967,6 +983,10 @@
  137. *) distro="Red Star OS $(awk -F'[^0-9*]' '$0=$2' /etc/redstar-release)"
  138. esac
  139. + elif [[ -f /etc/armbian-release ]]; then
  140. + . /etc/armbian-release
  141. + distro="Armbian $DISTRIBUTION_CODENAME (${VERSION:-})"
  142. +
  143. elif [[ -f /etc/siduction-version ]]; then
  144. case $distro_shorthand in
  145. on|tiny) distro=Siduction ;;
  146. @@ -1432,7 +1452,7 @@
  147. d="$((s / 60 / 60 / 24)) days"
  148. h="$((s / 60 / 60 % 24)) hours"
  149. - m="$((s / 60 % 60)) mins"
  150. + m="$((s / 60 % 60)) minutes"
  151. # Remove plural if < 2.
  152. ((${d/ *} == 1)) && d=${d/s}
  153. @@ -1446,41 +1466,52 @@
  154. uptime=${d:+$d, }${h:+$h, }$m
  155. uptime=${uptime%', '}
  156. - uptime=${uptime:-$s secs}
  157. + uptime=${uptime:-$s seconds}
  158. # Make the output of uptime smaller.
  159. case $uptime_shorthand in
  160. - on) ;;
  161. + on)
  162. + uptime=${uptime/ minutes/ mins}
  163. + uptime=${uptime/ minute/ min}
  164. + uptime=${uptime/ seconds/ secs}
  165. + ;;
  166. tiny)
  167. uptime=${uptime/ days/d}
  168. uptime=${uptime/ day/d}
  169. uptime=${uptime/ hours/h}
  170. uptime=${uptime/ hour/h}
  171. - uptime=${uptime/ mins/m}
  172. - uptime=${uptime/ min/m}
  173. - uptime=${uptime/ secs/s}
  174. + uptime=${uptime/ minutes/m}
  175. + uptime=${uptime/ minute/m}
  176. + uptime=${uptime/ seconds/s}
  177. uptime=${uptime//,}
  178. ;;
  179. esac
  180. }
  181. get_packages() {
  182. + # to adjust the number of pkgs per pkg manager
  183. + pkgs_h=0
  184. +
  185. # has: Check if package manager installed.
  186. # dir: Count files or dirs in a glob.
  187. # pac: If packages > 0, log package manager name.
  188. # tot: Count lines in command output.
  189. has() { type -p "$1" >/dev/null && manager=$1; }
  190. - dir() { ((packages+=$#)); pac "$#"; }
  191. + dir() { ((packages+=$#)); pac "$(($#-pkgs_h))"; }
  192. pac() { (($1 > 0)) && { managers+=("$1 (${manager})"); manager_string+="${manager}, "; }; }
  193. - tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")";((packages+=${#pkgs[@]}));pac "${#pkgs[@]}";}
  194. + tot() {
  195. + IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")";
  196. + ((packages+=${#pkgs[@]}));
  197. + pac "$((${#pkgs[@]}-pkgs_h))";
  198. + }
  199. # Redefine tot() for Bedrock Linux.
  200. [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && {
  201. tot() {
  202. IFS=$'\n' read -d "" -ra pkgs <<< "$(for s in $(brl list); do strat -r "$s" "$@"; done)"
  203. ((packages+="${#pkgs[@]}"))
  204. - pac "${#pkgs[@]}"
  205. + pac "$((${#pkgs[@]}-pkgs_h))";
  206. }
  207. br_prefix="/bedrock/strata/*"
  208. }
  209. @@ -1489,8 +1520,9 @@
  210. Linux|BSD|"iPhone OS"|Solaris)
  211. # Package Manager Programs.
  212. has kiss && tot kiss l
  213. + has cpt-list && tot cpt-list
  214. has pacman-key && tot pacman -Qq --color never
  215. - has dpkg && tot dpkg-query -f '.\n' -W
  216. + has apt && tot apt list
  217. has rpm && tot rpm -qa
  218. has xbps-query && tot xbps-query -l
  219. has apk && tot apk info
  220. @@ -1499,11 +1531,16 @@
  221. has lvu && tot lvu installed
  222. has tce-status && tot tce-status -i
  223. has pkg_info && tot pkg_info
  224. - has tazpkg && tot tazpkg list && ((packages-=6))
  225. + has tazpkg && pkgs_h=6 tot tazpkg list && ((packages-=6))
  226. has sorcery && tot gaze installed
  227. has alps && tot alps showinstalled
  228. has butch && tot butch list
  229. - has mine && tot mine -q
  230. + has swupd && tot swupd bundle-list --quiet
  231. + has pisi && tot pisi li
  232. +
  233. + # 'mine' conflicts with minesweeper games.
  234. + [[ -f /etc/SDE-VERSION ]] &&
  235. + has mine && tot mine -q
  236. # Counting files/dirs.
  237. # Variables need to be unquoted here. Only Bedrock Linux is affected.
  238. @@ -1533,9 +1570,13 @@
  239. }
  240. has nix-store && {
  241. - manager=nix-system && tot nix-store -q --requisites /run/current-system/sw
  242. - manager=nix-user && tot nix-store -q --requisites ~/.nix-profile
  243. - manager=nix-default && tot nix-store -q --requisites /nix/var/nix/profiles/default
  244. + nix-user-pkgs() {
  245. + nix-store -qR ~/.nix-profile
  246. + nix-store -qR /etc/profiles/per-user/"$USER"
  247. + }
  248. + manager=nix-system && tot nix-store -qR /run/current-system/sw
  249. + manager=nix-user && tot nix-user-pkgs
  250. + manager=nix-default && tot nix-store -qR /nix/var/nix/profiles/default
  251. }
  252. # pkginfo is also the name of a python package manager which is painfully slow.
  253. @@ -1560,7 +1601,8 @@
  254. # Snap hangs if the command is run without the daemon running.
  255. # Only run snap if the daemon is also running.
  256. - has snap && ps -e | grep -qFm 1 snapd >/dev/null && tot snap list && ((packages-=1))
  257. + has snap && ps -e | grep -qFm 1 snapd >/dev/null && \
  258. + pkgs_h=1 tot snap list && ((packages-=1))
  259. # This is the only standard location for appimages.
  260. # See: https://github.com/AppImage/AppImageKit/wiki
  261. @@ -1568,13 +1610,17 @@
  262. ;;
  263. "Mac OS X"|"macOS"|MINIX)
  264. - has port && tot port installed && ((packages-=1))
  265. + has port && pkgs_h=1 tot port installed && ((packages-=1))
  266. has brew && dir /usr/local/Cellar/*
  267. has pkgin && tot pkgin list
  268. has nix-store && {
  269. - manager=nix-system && tot nix-store -q --requisites "/run/current-system/sw"
  270. - manager=nix-user && tot nix-store -q --requisites "$HOME/.nix-profile"
  271. + nix-user-pkgs() {
  272. + nix-store -qR ~/.nix-profile
  273. + nix-store -qR /etc/profiles/per-user/"$USER"
  274. + }
  275. + manager=nix-system && tot nix-store -qR /run/current-system/sw
  276. + manager=nix-user && tot nix-store -qR nix-user-pkgs
  277. }
  278. ;;
  279. @@ -1590,9 +1636,9 @@
  280. esac
  281. # Scoop environment throws errors if `tot scoop list` is used
  282. - has scoop && dir ~/scoop/apps/* && ((packages-=1))
  283. + has scoop && pkgs_h=1 dir ~/scoop/apps/* && ((packages-=1))
  284. - # Count chocolatey packages.
  285. + # Count chocolatey packages.
  286. [[ -d /cygdrive/c/ProgramData/chocolatey/lib ]] && \
  287. dir /cygdrive/c/ProgramData/chocolatey/lib/*
  288. ;;
  289. @@ -1600,11 +1646,11 @@
  290. Haiku)
  291. has pkgman && dir /boot/system/package-links/*
  292. packages=${packages/pkgman/depot}
  293. - ;;
  294. + ;;
  295. IRIX)
  296. manager=swpkg
  297. - tot versions -b && ((packages-=3))
  298. + pkgs_h=3 tot versions -b && ((packages-=3))
  299. ;;
  300. esac
  301. @@ -1687,8 +1733,17 @@
  302. Windows)
  303. case $distro in
  304. - "Windows 8"*|"Windows 10"*) de="Modern UI/Metro" ;;
  305. - *) de=Aero
  306. + *"Windows 10"*)
  307. + de=Fluent
  308. + ;;
  309. +
  310. + *"Windows 8"*)
  311. + de=Metro
  312. + ;;
  313. +
  314. + *)
  315. + de=Aero
  316. + ;;
  317. esac
  318. ;;
  319. @@ -1778,9 +1833,15 @@
  320. de_ver=${de_ver/* }
  321. de_ver=${de_ver//\"}
  322. - de="$de $de_ver"
  323. + de+=" $de_ver"
  324. fi
  325. + # TODO:
  326. + # - New config option + flag: --de_display_server on/off ?
  327. + # - Add display of X11, Arcan and anything else relevant.
  328. + [[ $de && $WAYLAND_DISPLAY ]] &&
  329. + de+=" (Wayland)"
  330. +
  331. de_run=1
  332. }
  333. @@ -1793,38 +1854,58 @@
  334. *) ps_flags=(-e) ;;
  335. esac
  336. - if [[ $WAYLAND_DISPLAY ]]; then
  337. - wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
  338. - -e arcan \
  339. - -e asc \
  340. - -e clayland \
  341. - -e dwc \
  342. - -e fireplace \
  343. - -e gnome-shell \
  344. - -e greenfield \
  345. - -e grefsen \
  346. - -e kwin \
  347. - -e lipstick \
  348. - -e maynard \
  349. - -e mazecompositor \
  350. - -e motorcar \
  351. - -e orbital \
  352. - -e orbment \
  353. - -e perceptia \
  354. - -e rustland \
  355. - -e sway \
  356. - -e ulubis \
  357. - -e velox \
  358. - -e wavy \
  359. - -e way-cooler \
  360. - -e wayfire \
  361. - -e wayhouse \
  362. - -e westeros \
  363. - -e westford \
  364. - -e weston)
  365. + if [[ -O "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" ]]; then
  366. + if tmp_pid="$(lsof -t "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)" ||
  367. + tmp_pid="$(fuser "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)"; then
  368. + wm="$(ps -p "${tmp_pid}" -ho comm=)"
  369. + else
  370. + # lsof may not exist, or may need root on some systems. Similarly fuser.
  371. + # On those systems we search for a list of known window managers, this can mistakenly
  372. + # match processes for another user or session and will miss unlisted window managers.
  373. + wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
  374. + -e arcan \
  375. + -e asc \
  376. + -e clayland \
  377. + -e dwc \
  378. + -e fireplace \
  379. + -e gnome-shell \
  380. + -e greenfield \
  381. + -e grefsen \
  382. + -e kwin \
  383. + -e lipstick \
  384. + -e maynard \
  385. + -e mazecompositor \
  386. + -e motorcar \
  387. + -e orbital \
  388. + -e orbment \
  389. + -e perceptia \
  390. + -e rustland \
  391. + -e sway \
  392. + -e ulubis \
  393. + -e velox \
  394. + -e wavy \
  395. + -e way-cooler \
  396. + -e wayfire \
  397. + -e wayhouse \
  398. + -e westeros \
  399. + -e westford \
  400. + -e weston)
  401. + fi
  402. elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then
  403. - type -p xprop &>/dev/null && {
  404. + # non-EWMH WMs.
  405. + wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \
  406. + -e "[s]owm" \
  407. + -e "[c]atwm" \
  408. + -e "[f]vwm" \
  409. + -e "[d]wm" \
  410. + -e "[2]bwm" \
  411. + -e "[m]onsterwm" \
  412. + -e "[t]inywm" \
  413. + -e "[x]11fs" \
  414. + -e "[x]monad")
  415. +
  416. + [[ -z $wm ]] && type -p xprop &>/dev/null && {
  417. id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)
  418. id=${id##* }
  419. wm=$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t)
  420. @@ -1833,19 +1914,6 @@
  421. wm=${wm/\"*}
  422. }
  423. - # Fallback for non-EWMH WMs.
  424. - [[ $wm ]] ||
  425. - wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \
  426. - -e "[s]owm" \
  427. - -e "[c]atwm" \
  428. - -e "[f]vwm" \
  429. - -e "[d]wm" \
  430. - -e "[2]bwm" \
  431. - -e "[m]onsterwm" \
  432. - -e "[t]inywm" \
  433. - -e "[x]11fs" \
  434. - -e "[x]monad")
  435. -
  436. else
  437. case $os in
  438. "Mac OS X"|"macOS")
  439. @@ -1869,15 +1937,21 @@
  440. ;;
  441. Windows)
  442. - wm=$(tasklist | grep -m 1 -o -F \
  443. - -e bugn \
  444. - -e Windawesome \
  445. - -e blackbox \
  446. - -e emerge \
  447. - -e litestep)
  448. + wm=$(
  449. + tasklist |
  450. +
  451. + grep -Fom 1 \
  452. + -e bugn \
  453. + -e Windawesome \
  454. + -e blackbox \
  455. + -e emerge \
  456. + -e litestep
  457. + )
  458. - [[ $wm == blackbox ]] && wm="bbLean (Blackbox)"
  459. - wm=${wm:+$wm, }Explorer
  460. + [[ $wm == blackbox ]] &&
  461. + wm="bbLean (Blackbox)"
  462. +
  463. + wm=${wm:+$wm, }DWM.exe
  464. ;;
  465. FreeMiNT)
  466. @@ -2097,7 +2171,7 @@
  467. # Select the right temperature file.
  468. for temp_dir in /sys/class/hwmon/*; do
  469. - [[ "$(< "${temp_dir}/name")" =~ (coretemp|fam15h_power|k10temp) ]] && {
  470. + [[ "$(< "${temp_dir}/name")" =~ (cpu_thermal|coretemp|fam15h_power|k10temp) ]] && {
  471. temp_dirs=("$temp_dir"/temp*_input)
  472. temp_dir=${temp_dirs[0]}
  473. break
  474. @@ -2196,8 +2270,7 @@
  475. ;;
  476. "OpenBSD"* | "Bitrig"*)
  477. deg="$(sysctl hw.sensors | \
  478. - awk -F '=| degC' '/lm0.temp|cpu0.temp/ {print $2; exit}')"
  479. - deg="${deg/00/0}"
  480. + awk -F'=|degC' '/(ksmn|adt|lm|cpu)0.temp0/ {printf("%2.1f", $2); exit}')"
  481. ;;
  482. esac
  483. ;;
  484. @@ -2336,47 +2409,6 @@
  485. fi
  486. }
  487. -get_cpu_usage() {
  488. - case $os in
  489. - "Windows")
  490. - cpu_usage="$(wmic cpu get loadpercentage)"
  491. - cpu_usage="${cpu_usage/LoadPercentage}"
  492. - cpu_usage="${cpu_usage//[[:space:]]}"
  493. - ;;
  494. -
  495. - *)
  496. - # Get CPU cores if unset.
  497. - if [[ "$cpu_cores" != "logical" ]]; then
  498. - case $os in
  499. - "Linux" | "MINIX") cores="$(grep -c "^processor" /proc/cpuinfo)" ;;
  500. - "Mac OS X"|"macOS") cores="$(sysctl -n hw.logicalcpu_max)" ;;
  501. - "BSD") cores="$(sysctl -n hw.ncpu)" ;;
  502. - "Solaris") cores="$(kstat -m cpu_info | grep -c -F "chip_id")" ;;
  503. - "Haiku") cores="$(sysinfo -cpu | grep -c -F 'CPU #')" ;;
  504. - "iPhone OS") cores="${cpu/*\(}"; cores="${cores/\)*}" ;;
  505. - "IRIX") cores="$(sysconf NPROC_ONLN)" ;;
  506. - "FreeMiNT") cores="$(sysctl -n hw.ncpu)" ;;
  507. -
  508. - "AIX")
  509. - cores="$(lparstat -i | awk -F':' '/Online Virtual CPUs/ {printf $2}')"
  510. - ;;
  511. - esac
  512. - fi
  513. -
  514. - cpu_usage="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}')"
  515. - cpu_usage="$((${cpu_usage/\.*} / ${cores:-1}))"
  516. - ;;
  517. - esac
  518. -
  519. - # Print the bar.
  520. - case $cpu_display in
  521. - "bar") cpu_usage="$(bar "$cpu_usage" 100)" ;;
  522. - "infobar") cpu_usage="${cpu_usage}% $(bar "$cpu_usage" 100)" ;;
  523. - "barinfo") cpu_usage="$(bar "$cpu_usage" 100)${info_color} ${cpu_usage}%" ;;
  524. - *) cpu_usage="${cpu_usage}%" ;;
  525. - esac
  526. -}
  527. -
  528. get_gpu() {
  529. case $os in
  530. "Linux")
  531. @@ -2500,10 +2532,15 @@
  532. "Windows")
  533. while read -r line; do
  534. - prin "${subtitle:+${subtitle}${gpu_name}}" "$(trim "$line")"
  535. - done < <(wmic path Win32_VideoController get caption)
  536. + line=$(trim "$line")
  537. +
  538. + [[ -z $win_gpu ]] || [[ -z "$line" ]] && {
  539. + win_gpu=1
  540. + continue
  541. + }
  542. - gpu=${gpu//Caption}
  543. + prin "${subtitle:+${subtitle}${gpu_name}}" "$line"
  544. + done < <(wmic path Win32_VideoController get caption)
  545. ;;
  546. "Haiku")
  547. @@ -2520,7 +2557,7 @@
  548. ;;
  549. *)
  550. - gpu="$(glxinfo | grep -F 'OpenGL renderer string')"
  551. + gpu="$(glxinfo -B | grep -F 'OpenGL renderer string')"
  552. gpu="${gpu/OpenGL renderer string: }"
  553. ;;
  554. esac
  555. @@ -2546,10 +2583,21 @@
  556. "MemFree" | "Buffers" | "Cached" | "SReclaimable")
  557. mem_used="$((mem_used-=${b/kB}))"
  558. ;;
  559. +
  560. + # Available since Linux 3.14rc (34e431b0ae398fc54ea69ff85ec700722c9da773).
  561. + # If detected this will be used over the above calculation for mem_used.
  562. + "MemAvailable")
  563. + mem_avail=${b/kB}
  564. + ;;
  565. esac
  566. done < /proc/meminfo
  567. - mem_used="$((mem_used / 1024))"
  568. + if [[ $mem_avail ]]; then
  569. + mem_used=$(((mem_total - mem_avail) / 1024))
  570. + else
  571. + mem_used="$((mem_used / 1024))"
  572. + fi
  573. +
  574. mem_total="$((mem_total / 1024))"
  575. ;;
  576. @@ -2693,8 +2741,10 @@
  577. "guayadeque"
  578. "io.elementary.music"
  579. "iTunes"
  580. + "Music"
  581. "juk"
  582. "lollypop"
  583. + "MellowPlayer"
  584. "mocp"
  585. "mopidy"
  586. "mpd"
  587. @@ -2767,9 +2817,11 @@
  588. "xnoise"*) get_song_dbus "xnoise" ;;
  589. "tauonmb"*) get_song_dbus "tauon" ;;
  590. "olivia"*) get_song_dbus "olivia" ;;
  591. + "exaile"*) get_song_dbus "exaile" ;;
  592. "netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;;
  593. "plasma-browser-integration"*) get_song_dbus "plasma-browser-integration" ;;
  594. "io.elementary.music"*) get_song_dbus "Music" ;;
  595. + "MellowPlayer"*) get_song_dbus "MellowPlayer3" ;;
  596. "mpd"* | "mopidy"*)
  597. song="$(mpc -f '%artist% \n%album% \n%title%' current "${mpc_args[@]}")"
  598. @@ -2805,22 +2857,18 @@
  599. string & "\n" & name of current track as string')"
  600. ;;
  601. + "music"*)
  602. + song="$(osascript -e 'tell application "Music" to artist of current track as¬
  603. + string & "\n" & album of current track as¬
  604. + string & "\n" & name of current track as string')"
  605. + ;;
  606. +
  607. "banshee"*)
  608. song="$(banshee --query-artist --query-album --query-title |\
  609. awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2}
  610. END {print a " \n" b " \n"t}')"
  611. ;;
  612. - "exaile"*)
  613. - # NOTE: Exaile >= 4.0.0 will support mpris2.
  614. - song="$(dbus-send --print-reply --dest=org.exaile.Exaile \
  615. - /org/exaile/Exaile org.exaile.Exaile.Query |
  616. - awk -F ':' '{sub(",[^,]*$", "", $3); t=$3;
  617. - sub(",[^,]*$", "", $4); a=$4;
  618. - sub(",[^,]*$", "", $5); b=$5}
  619. - END {print a " \n" b " \n" t}')"
  620. - ;;
  621. -
  622. "muine"*)
  623. song="$(dbus-send --print-reply --dest=org.gnome.Muine /org/gnome/Muine/Player \
  624. org.gnome.Muine.Player.GetCurrentSong |
  625. @@ -2964,9 +3012,9 @@
  626. elif [[ -d /sys/class/drm ]]; then
  627. for dev in /sys/class/drm/*/modes; do
  628. - read -r resolution _ < "$dev"
  629. + read -r single_resolution _ < "$dev"
  630. - [[ $resolution ]] && break
  631. + [[ $single_resolution ]] && resolution="${single_resolution}, ${resolution}"
  632. done
  633. fi
  634. ;;
  635. @@ -3215,7 +3263,8 @@
  636. [[ -f "${confs[0]}" ]] || return
  637. - term_font="$(awk -F ':|#' '/normal:/ {getline; print}' "${confs[0]}")"
  638. + term_font="$(awk '/normal:/ {while (!/family:/ || /#/)
  639. + {if (!getline) {exit}} print; exit}' "${confs[0]}")"
  640. term_font="${term_font/*family:}"
  641. term_font="${term_font/$'\n'*}"
  642. term_font="${term_font/\#*}"
  643. @@ -3306,7 +3355,7 @@
  644. QT_BINDIR="$(qtpaths --binaries-dir)" && PATH+=":$QT_BINDIR"
  645. IFS=$'\n' read -d "" -ra konsole_instances \
  646. - <<< "$(qdbus | awk '/org.kde.konsole/ {print $1}')"
  647. + <<< "$(qdbus | awk '/org.kde.'"$term"'/ {print $1}')"
  648. for i in "${konsole_instances[@]}"; do
  649. IFS=$'\n' read -d "" -ra konsole_sessions <<< "$(qdbus "$i" | grep -F '/Sessions/')"
  650. @@ -3414,15 +3463,16 @@
  651. # like a font definition. NOTE: There is a slight limitation in this approach.
  652. # Technically "Font Name" is a valid font. As it doesn't specify any font options
  653. # though it is hard to match it correctly amongst the rest of the noise.
  654. - [[ -n "$binary" ]] && \
  655. - term_font="$(strings "$binary" | grep -F -m 1 \
  656. - -e "pixelsize=" \
  657. - -e "size=" \
  658. - -e "antialias=" \
  659. - -e "autohint=")"
  660. + [[ -n "$binary" ]] &&
  661. + term_font=$(
  662. + strings "$binary" |
  663. +
  664. + grep -m 1 "*font[^2]"
  665. + )
  666. fi
  667. term_font="${term_font/xft:}"
  668. + term_font="${term_font#*=}"
  669. term_font="${term_font/:*}"
  670. ;;
  671. @@ -3557,7 +3607,7 @@
  672. for disk in "${disks[@]}"; do
  673. # Create a second array and make each element split at whitespace this time.
  674. IFS=" " read -ra disk_info <<< "$disk"
  675. - disk_perc=${disk_info[-2]/\%}
  676. + disk_perc=${disk_info[${#disk_info[@]} - 2]/\%}
  677. case $disk_percent in
  678. off) disk_perc=
  679. @@ -3565,29 +3615,34 @@
  680. case $df_version in
  681. *befhikm*)
  682. - disk="$((disk_info[-4]/1024/1024))G / $((disk_info[-5]/1024/1024))G"
  683. - disk+="${disk_perc:+ ($disk_perc%)}"
  684. + disk=$((disk_info[${#disk_info[@]} - 4] / 1024 / 1024))G
  685. + disk+=" / "
  686. + disk+=$((disk_info[${#disk_info[@]} - 5] / 1024/ 1024))G
  687. + disk+=${disk_perc:+ ($disk_perc%)}
  688. ;;
  689. *)
  690. - disk="${disk_info[-4]/i} / ${disk_info[-5]/i}${disk_perc:+ ($disk_perc%)}"
  691. + disk=${disk_info[${#disk_info[@]} - 4]/i}
  692. + disk+=" / "
  693. + disk+=${disk_info[${#disk_info[@]} - 5]/i}
  694. + disk+=${disk_perc:+ ($disk_perc%)}
  695. ;;
  696. esac
  697. case $disk_subtitle in
  698. name)
  699. - disk_sub=${disk_info[*]::${#disk_info[@]}-5}
  700. + disk_sub=${disk_info[*]::${#disk_info[@]} - 5}
  701. ;;
  702. dir)
  703. - disk_sub=${disk_info[-1]/*\/}
  704. - disk_sub=${disk_sub:-${disk_info[-1]}}
  705. + disk_sub=${disk_info[${#disk_info[@]} - 1]/*\/}
  706. + disk_sub=${disk_sub:-${disk_info[${#disk_info[@]} - 1]}}
  707. ;;
  708. none) ;;
  709. *)
  710. - disk_sub=${disk_info[-1]}
  711. + disk_sub=${disk_info[${#disk_info[@]} - 1]}
  712. ;;
  713. esac
  714. @@ -3674,6 +3729,9 @@
  715. battery="$(wmic Path Win32_Battery get EstimatedChargeRemaining)"
  716. battery="${battery/EstimatedChargeRemaining}"
  717. battery="$(trim "$battery")%"
  718. + state="$(wmic /NameSpace:'\\root\WMI' Path BatteryStatus get Charging)"
  719. + state="${state/Charging}"
  720. + [[ "$state" == *TRUE* ]] && battery_state="charging"
  721. ;;
  722. "Haiku")
  723. @@ -3695,9 +3753,25 @@
  724. get_local_ip() {
  725. case $os in
  726. "Linux" | "BSD" | "Solaris" | "AIX" | "IRIX")
  727. - local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')"
  728. - local_ip="${local_ip/uid*}"
  729. - [[ -z "$local_ip" ]] && local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')"
  730. + if [[ "${local_ip_interface[0]}" == "auto" ]]; then
  731. + local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')"
  732. + local_ip="${local_ip/uid*}"
  733. + [[ "$local_ip" ]] || local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')"
  734. + else
  735. + for interface in "${local_ip_interface[@]}"; do
  736. + local_ip="$(ip addr show "$interface" 2> /dev/null |
  737. + awk '/inet / {print $2; exit}')"
  738. + local_ip="${local_ip/\/*}"
  739. + [[ "$local_ip" ]] ||
  740. + local_ip="$(ifconfig "$interface" 2> /dev/null |
  741. + awk '/broadcast/ {print $2; exit}')"
  742. + if [[ -n "$local_ip" ]]; then
  743. + prin "$interface" "$local_ip"
  744. + else
  745. + err "Local IP: Could not detect local ip for $interface"
  746. + fi
  747. + done
  748. + fi
  749. ;;
  750. "MINIX")
  751. @@ -3705,8 +3779,19 @@
  752. ;;
  753. "Mac OS X" | "macOS" | "iPhone OS")
  754. - local_ip="$(ipconfig getifaddr en0)"
  755. - [[ -z "$local_ip" ]] && local_ip="$(ipconfig getifaddr en1)"
  756. + if [[ "${local_ip_interface[0]}" == "auto" ]]; then
  757. + interface="$(route get 1 | awk -F': ' '/interface/ {printf $2; exit}')"
  758. + local_ip="$(ipconfig getifaddr "$interface")"
  759. + else
  760. + for interface in "${local_ip_interface[@]}"; do
  761. + local_ip="$(ipconfig getifaddr "$interface")"
  762. + if [[ -n "$local_ip" ]]; then
  763. + prin "$interface" "$local_ip"
  764. + else
  765. + err "Local IP: Could not detect local ip for $interface"
  766. + fi
  767. + done
  768. + fi
  769. ;;
  770. "Windows")
  771. @@ -3809,11 +3894,11 @@
  772. [${text_padding}C${zws}}
  773. # Add block height to info height.
  774. - ((info_height+=block_range[1]>7?block_height+3:block_height+2))
  775. + ((info_height+=block_range[1]>7?block_height+2:block_height+1))
  776. case $col_offset in
  777. - "auto") printf '\n\e[%bC%b\n\n' "$text_padding" "${zws}${cols}" ;;
  778. - *) printf '\n\e[%bC%b\n\n' "$col_offset" "${zws}${cols}" ;;
  779. + "auto") printf '\n\e[%bC%b\n' "$text_padding" "${zws}${cols}" ;;
  780. + *) printf '\n\e[%bC%b\n' "$col_offset" "${zws}${cols}" ;;
  781. esac
  782. fi
  783. @@ -3833,14 +3918,16 @@
  784. "ascii") print_ascii ;;
  785. "off") image_backend="off" ;;
  786. - "caca" | "chafa" | "jp2a" | "iterm2" | "termpix" |\
  787. - "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot")
  788. + "caca" | "catimg" | "chafa" | "jp2a" | "iterm2" | "termpix" |\
  789. + "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot", | "ueberzug" |\
  790. + "viu")
  791. get_image_source
  792. [[ ! -f "$image" ]] && {
  793. to_ascii "Image: '$image_source' doesn't exist, falling back to ascii mode."
  794. return
  795. }
  796. + [[ "$image_backend" == "ueberzug" ]] && wait=true;
  797. get_window_size
  798. @@ -3858,9 +3945,9 @@
  799. *)
  800. err "Image: Unknown image backend specified '$image_backend'."
  801. - err "Image: Valid backends are: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'kitty',
  802. - 'off', 'sixel', 'pot', 'pixterm', 'termpix', 'tycat',
  803. - 'w3m')"
  804. + err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2',
  805. + 'kitty', 'off', 'sixel', 'pot', 'pixterm', 'termpix',
  806. + 'tycat', 'w3m', 'viu')"
  807. err "Image: Falling back to ascii mode."
  808. print_ascii
  809. ;;
  810. @@ -3890,7 +3977,14 @@
  811. done <<< "${ascii_data//\$\{??\}}"
  812. # Fallback if file not found.
  813. - ((lines==1)) && { lines=; ascii_len=; image_source=auto; get_distro_ascii; print_ascii; return; }
  814. + ((lines==1)) && {
  815. + lines=
  816. + ascii_len=
  817. + image_source=auto
  818. + get_distro_ascii
  819. + print_ascii
  820. + return
  821. + }
  822. # Colors.
  823. ascii_data="${ascii_data//\$\{c1\}/$c1}"
  824. @@ -4248,6 +4342,27 @@
  825. "$image"
  826. ;;
  827. +
  828. + "ueberzug")
  829. + if [ "$wait" = true ];then
  830. + wait=false;
  831. + else
  832. + ueberzug layer --parser bash 0< <(
  833. + declare -Ap ADD=(\
  834. + [action]="add"\
  835. + [identifier]="neofetch"\
  836. + [x]=$xoffset [y]=$yoffset\
  837. + [path]=$image\
  838. + )
  839. + read -rs
  840. + )
  841. + fi
  842. + ;;
  843. +
  844. + "catimg")
  845. + catimg -w "$((width*catimg_size / font_width))" -r "$catimg_size" "$image"
  846. + ;;
  847. +
  848. "chafa")
  849. chafa --stretch --size="$((width / font_width))x$((height / font_height))" "$image"
  850. ;;
  851. @@ -4310,6 +4425,12 @@
  852. "$image"
  853. ;;
  854. + "viu")
  855. + viu \
  856. + -t -w "$((width / font_width))" -h "$((height / font_height))" \
  857. + "$image"
  858. + ;;
  859. +
  860. "w3m")
  861. get_w3m_img_path
  862. zws='\xE2\x80\x8B\x20'
  863. @@ -4678,6 +4799,10 @@
  864. kernel_machine="${uname[2]}"
  865. if [[ "$kernel_name" == "Darwin" ]]; then
  866. + # macOS can report incorrect versions unless this is 0.
  867. + # https://github.com/dylanaraps/neofetch/issues/1607
  868. + export SYSTEM_VERSION_COMPAT=0
  869. +
  870. IFS=$'\n' read -d "" -ra sw_vers <<< "$(awk -F'<|>' '/key|string/ {print $3}' \
  871. "/System/Library/CoreServices/SystemVersion.plist")"
  872. for ((i=0;i<${#sw_vers[@]};i+=2)) {
  873. @@ -4845,6 +4970,7 @@
  874. --ip_host url URL to query for public IP
  875. --ip_timeout int Public IP timeout (in seconds).
  876. + --ip_interface value Interface(s) to use for local IP
  877. --song_format format Print the song data in a specific format (see config file).
  878. --song_shorthand on/off Print the Artist/Album/Title on separate lines.
  879. --memory_percent on/off Display memory percentage.
  880. @@ -4862,7 +4988,7 @@
  881. COLOR BLOCKS:
  882. --color_blocks on/off Enable/Disable the color blocks
  883. - --col_offset auto/num Left-padding of color blocks
  884. + --col_offset auto/num Left-padding of color blocks
  885. --block_width num Width of color blocks in spaces
  886. --block_height num Height of color blocks in lines
  887. --block_range num num Range of colors to print as blocks
  888. @@ -4874,8 +5000,6 @@
  889. --bar_length num Length in spaces to make the bars.
  890. --bar_colors num num Colors to make the bar.
  891. Set in this order: elapsed, total
  892. - --cpu_display mode Bar mode.
  893. - Possible values: bar, infobar, barinfo, off
  894. --memory_display mode Bar mode.
  895. Possible values: bar, infobar, barinfo, off
  896. --battery_display mode Bar mode.
  897. @@ -4885,8 +5009,8 @@
  898. IMAGE BACKEND:
  899. --backend backend Which image backend to use.
  900. - Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2',
  901. - 'off', 'sixel', 'tycat', 'w3m', 'kitty'
  902. + Possible values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a',
  903. + 'iterm2', 'off', 'sixel', 'tycat', 'w3m', 'kitty', 'viu'
  904. --source source Which image or ascii file to use.
  905. Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img',
  906. '/path/to/ascii', '/path/to/dir/', 'command output' [ascii]
  907. @@ -4896,6 +5020,7 @@
  908. NEW: neofetch --ascii \"\$(fortune | cowsay -W 30)\"
  909. --caca source Shortcut to use 'caca' backend.
  910. + --catimg source Shortcut to use 'catimg' backend.
  911. --chafa source Shortcut to use 'chafa' backend.
  912. --iterm2 source Shortcut to use 'iterm2' backend.
  913. --jp2a source Shortcut to use 'jp2a' backend.
  914. @@ -4906,6 +5031,8 @@
  915. --termpix source Shortcut to use 'termpix' backend.
  916. --tycat source Shortcut to use 'tycat' backend.
  917. --w3m source Shortcut to use 'w3m' backend.
  918. + --ueberzug source Shortcut to use 'ueberzug' backend
  919. + --viu source Shortcut to use 'viu' backend
  920. --off Shortcut to use 'off' backend (Disable ascii art).
  921. NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img',
  922. @@ -4915,33 +5042,35 @@
  923. --ascii_colors x x x x x x Colors to print the ascii art
  924. --ascii_distro distro Which Distro's ascii art to print
  925. - NOTE: AIX, Alpine, AlterLinux, Anarchy, Android, Antergos, antiX,
  926. - \"AOSC OS\", \"AOSC OS/Retro\", Apricity, ArcoLinux, ArchBox,
  927. - ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya,
  928. - Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
  929. - BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau,
  930. - Chrom, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
  931. - Container_Linux, CRUX, Cucumber, Debian, Deepin, DesaOS, Devuan,
  932. - DracOS, DarkOs, DragonFly, Drauger, Elementary, EndeavourOS, Endless,
  933. + NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android,
  934. + instantOS, Antergos, antiX, \"AOSC OS\", \"AOSC OS/Retro\",
  935. + Apricity, ArchCraft, ArcoLinux, ArchBox, ARCHlabs, ArchStrike,
  936. + XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, Bitrig,
  937. + BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, BunsenLabs,
  938. + Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau, Chrom,
  939. + Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, Container_Linux,
  940. + CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS, Devuan, DracOS,
  941. + DarkOs, Itc, DragonFly, Drauger, Elementary, EndeavourOS, Endless,
  942. EuroLinux, Exherbo, Fedora, Feren, FreeBSD, FreeMiNT, Frugalware,
  943. Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, gNewSense, GNOME, GNU,
  944. GoboLinux, Grombyang, Guix, Haiku, Huayra, Hyperbola, janus, Kali,
  945. KaOS, KDE_neon, Kibojoe, Kogaion, Korora, KSLinux, Kubuntu, LEDE,
  946. - LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS,
  947. - Mandriva, Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
  948. - Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, NuTyX,
  949. - OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva,
  950. - OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, Parabola,
  951. - Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, popos,
  952. - Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
  953. - Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
  954. - Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
  955. - Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
  956. - SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
  957. - openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
  958. - Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
  959. - Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
  960. - and IRIX have ascii logos
  961. + LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos,
  962. + Mageia, MagpieOS, Mandriva, Manjaro, Maui, Mer, Minix, LinuxMint,
  963. + Live_Raizo, MX_Linux, Namib, Neptune, NetBSD, Netrunner, Nitrux,
  964. + NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana,
  965. + openmamba, OpenMandriva, OpenStage, OpenWrt, osmc, Oracle,
  966. + OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix, TrueOS,
  967. + PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS,
  968. + Proxmox, Puppy, PureOS, Qubes, Quibian, Radix, Raspbian, Reborn_OS,
  969. + Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, Rosa,
  970. + sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor,
  971. + SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, SmartOS,
  972. + Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap,
  973. + t2, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
  974. + Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE,
  975. + Ubuntu-Studio, Ubuntu, Univention, Venom, Void, semc, Obarun,
  976. + windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos.
  977. NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
  978. @@ -4969,6 +5098,7 @@
  979. in some terminals emulators when using image mode.
  980. --size 00px | --size 00% How to size the image.
  981. Possible values: auto, 00px, 00%, none
  982. + --catimg_size 1/2 Change the resolution of catimg.
  983. --crop_mode mode Which crop mode to use
  984. Takes the values: normal, fit, fill
  985. --crop_offset value Change the crop offset for normal mode.
  986. @@ -5038,6 +5168,17 @@
  987. "--shell_version") shell_version="$2" ;;
  988. "--ip_host") public_ip_host="$2" ;;
  989. "--ip_timeout") public_ip_timeout="$2" ;;
  990. + "--ip_interface")
  991. + unset local_ip_interface
  992. + for arg in "$@"; do
  993. + case "$arg" in
  994. + "--ip_interface") ;;
  995. + "-"*) break ;;
  996. + *) local_ip_interface+=("$arg") ;;
  997. + esac
  998. + done
  999. + ;;
  1000. +
  1001. "--song_format") song_format="$2" ;;
  1002. "--song_shorthand") song_shorthand="$2" ;;
  1003. "--music_player") music_player="$2" ;;
  1004. @@ -5112,7 +5253,6 @@
  1005. bar_color_total="$3"
  1006. ;;
  1007. - "--cpu_display") cpu_display="$2" ;;
  1008. "--memory_display") memory_display="$2" ;;
  1009. "--battery_display") battery_display="$2" ;;
  1010. "--disk_display") disk_display="$2" ;;
  1011. @@ -5120,8 +5260,9 @@
  1012. # Image backend
  1013. "--backend") image_backend="$2" ;;
  1014. "--source") image_source="$2" ;;
  1015. - "--ascii" | "--caca" | "--chafa" | "--jp2a" | "--iterm2" | "--off" | "--pot" |\
  1016. - "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty")
  1017. + "--ascii" | "--caca" | "--catimg" | "--chafa" | "--jp2a" | "--iterm2" | "--off" |\
  1018. + "--pot" | "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty" |\
  1019. + "--ueberzug" | "--viu")
  1020. image_backend="${1/--}"
  1021. case $2 in
  1022. "-"* | "") ;;
  1023. @@ -5132,6 +5273,7 @@
  1024. # Image options
  1025. "--loop") image_loop="on" ;;
  1026. "--image_size" | "--size") image_size="$2" ;;
  1027. + "--catimg_size") catimg_size="$2" ;;
  1028. "--crop_mode") crop_mode="$2" ;;
  1029. "--crop_offset") crop_offset="$2" ;;
  1030. "--xoffset") xoffset="$2" ;;
  1031. @@ -5228,7 +5370,6 @@
  1032. info "GPU Driver" gpu_driver
  1033. info "Memory" memory
  1034. - info "CPU Usage" cpu_usage
  1035. info "Disk" disk
  1036. info "Battery" battery
  1037. info "Font" font
  1038. @@ -5250,7 +5391,6 @@
  1039. refresh_rate="on"
  1040. shell_version="on"
  1041. - cpu_display="infobar"
  1042. memory_display="infobar"
  1043. disk_display="infobar"
  1044. cpu_temp="C"
  1045. @@ -5281,6 +5421,7 @@
  1046. old_functions() {
  1047. # Removed functions for backwards compatibility.
  1048. get_line_break() { :; }
  1049. + get_cpu_usage() { :; }
  1050. }
  1051. get_distro_ascii() {
  1052. @@ -5495,6 +5636,34 @@
  1053. EOF
  1054. ;;
  1055. + "instantOS"*)
  1056. + set_colors 4 6
  1057. + read -rd '' ascii_data <<'EOF'
  1058. +
  1059. +${c1}
  1060. + 'cx0XWWMMWNKOd:'.
  1061. + .;kNMMMMMMMMMMMMMWNKd'
  1062. + 'kNMMMMMMWNNNWMMMMMMMMXo.
  1063. +,0MMMMMW0o;'..,:dKWMMMMMWx.
  1064. +OMMMMMXl. .xNMMMMMNo
  1065. +WMMMMNl .kWWMMMMO'
  1066. +MMMMMX; oNWMMMMK,
  1067. +NMMMMWo .OWMMMMMK,
  1068. +kWMMMMNd. ,kWMMMMMMK,
  1069. +'kWMMMMWXxl:;;:okNMMMMMMMMK,
  1070. + .oXMMMMMMMWWWMMMMMMMMMMMMK,
  1071. + 'oKWMMMMMMMMMMMMMMMMMMMK,
  1072. + .;lxOKXXXXXXXXXXXXXXXO;......
  1073. + ................,d0000000kd:.
  1074. + .kMMMMMMMMMW0;
  1075. + .kMMMMMMMMMMMX
  1076. + .xMMMMMMMMMMMW
  1077. + cXMMMMMMMMMM0
  1078. + :0WMMMMMMNx,
  1079. + .o0NMWNOc.
  1080. +EOF
  1081. + ;;
  1082. +
  1083. "Antergos"*)
  1084. set_colors 4 6
  1085. read -rd '' ascii_data <<'EOF'
  1086. @@ -5613,6 +5782,30 @@
  1087. EOF
  1088. ;;
  1089. + "Archcraft"*)
  1090. + set_colors 6 6 7 1
  1091. + read -rd '' ascii_data <<'EOF'
  1092. +${c1} -m:
  1093. + :NMM+ .+
  1094. + +MMMMMo -NMy
  1095. + sMMMMMMMy -MMMMh`
  1096. + yMMMMMMMMMd` oMMMMd`
  1097. + `dMMMMMMMMMMMm. /MMMMm-
  1098. + .mMMMMMm-dMMMMMN- :NMMMN:
  1099. + -NMMMMMd` yMMMMMN: .mMMMM/
  1100. + :NMMMMMy sMMMMMM+ `dMMMMo
  1101. + +MMMMMMs +MMMMMMs `hMMMMy
  1102. + oMMMMMMMds- :NMMMMMy sMMMMh`
  1103. + yMMMMMNoydMMmo` -NMMMMMd` +MMMMd.
  1104. + `dMMMMMN- `:yNNs` .mMMMMMm. /MMMMm-
  1105. + .mMMMMMm. :hN/ `dMMMMMN- -NMMMN:
  1106. + -NMMMMMd` -hh` `yMMMMMN: .mMMMM/
  1107. + :NMMMMMy `s` :h. oMMMMMM+ `-----
  1108. + +MMMMMMo .dMm. `o. +MMMMMMo
  1109. +sMMMMMM+ .mMMMN: :` :NMMMMMy
  1110. +EOF
  1111. + ;;
  1112. +
  1113. "arcolinux_small"*)
  1114. set_colors 7 4
  1115. read -rd '' ascii_data <<'EOF'
  1116. @@ -7116,30 +7309,30 @@
  1117. ;;
  1118. "Garuda"*)
  1119. - set_colors 7 7
  1120. + set_colors 7 7 3 7 2 4
  1121. read -rd '' ascii_data <<'EOF'
  1122. -${c1} __,,,,,,,_
  1123. - _╓╗╣╫╠╠╠╠╠╠╠╠╠╠╠╠╠╕╗╗┐_
  1124. - ╥╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥,
  1125. - ╗╠╠╠╠╠╠╠╝╜╜╜╜╝╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠┐
  1126. - ╣╠╠╠╠╠╠╠╠╢╣╢╗╕ , `"╘╠╠╠╠╠╠╠╠╠╠╠╠╠╠╔╥_
  1127. - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╕╙╥╥╜ `"╜╠╬╠╠╠╠╠╠╠╠╠╠╠╥,
  1128. - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗╥╥╥╥╗╗╬╠╠╠╠╠╠╠╝╙╠╠╣╠╠╠╠╢┐
  1129. - ╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥╬╣╠╠╠╠╠╠╠╠╗
  1130. - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
  1131. - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠
  1132. - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╬ ```"╜╝╢╠╠╡
  1133. - ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╣, ╘╠╪
  1134. - ╞╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╢┐ ╜
  1135. - `╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
  1136. - ,╬╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"╕
  1137. - ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗
  1138. - ╝^╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╝╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╡
  1139. - ╔╜`╞┘╢╛╜ ╡╢╠"╚╠╠╜╝┌╞╞"╢╠╠╠╠╠╠╠╠╠╠╣╩╢╪
  1140. - ╜╒" `╜ ` ╜╙╕ └╣╠╠╠╠╕ ╞╙╖
  1141. - ╠╠╠
  1142. - ╜
  1143. +
  1144. +${c3}
  1145. + .%;888:8898898:
  1146. + x;XxXB%89b8:b8%b88:
  1147. + .8Xxd 8X:.
  1148. + .8Xx; 8x:.
  1149. + .tt8x ${c6}.d${c3} x88;
  1150. + .@8x8; ${c6}.db:${c3} xx@;
  1151. + ${c4},tSXX° .bbbbbbbbbbbbbbbbbbbB8x@;
  1152. + .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8;
  1153. + ,888S pd!
  1154. + 8X88/ q
  1155. + GBB.
  1156. + ${c5}x%88 d888@8@X@X@X88X@@XX@@X@8@X.
  1157. + dxXd dB8b8b8B8B08bB88b998888b88x.
  1158. + dxx8o .@@;.
  1159. + dx88 .t@x.
  1160. + d:SS@8ba89aa67a853Sxxad.
  1161. + .d988999889889899dd.
  1162. +
  1163. EOF
  1164. +
  1165. ;;
  1166. "gentoo_small")
  1167. @@ -7664,6 +7857,60 @@
  1168. EOF
  1169. ;;
  1170. + "LaxerOS"*)
  1171. + set_colors 7 4
  1172. + read -rd '' ascii_data <<'EOF'
  1173. +${c2}
  1174. + /.
  1175. + `://:-
  1176. + `//////:
  1177. + .////////:`
  1178. + -//////////:`
  1179. + -/////////////`
  1180. + :///////////////.
  1181. + `://////.```-//////-
  1182. + `://///:` .//////-
  1183. + `//////: `//////:
  1184. + .//////- `://///:`
  1185. + -//////- `://///:`
  1186. + -//////. ://////`
  1187. + ://////` -//////.
  1188. + `/////:` ./////:
  1189. + .-::-` .:::-`
  1190. +
  1191. +.:://////////////////////////////////::.
  1192. +////////////////////////////////////////
  1193. +.:////////////////////////////////////:.
  1194. +
  1195. +EOF
  1196. + ;;
  1197. +
  1198. + "LibreELEC"*)
  1199. + set_colors 2 3 7 14 13
  1200. + read -rd '' ascii_data <<'EOF'
  1201. +${c1} :+ooo/. ${c2}./ooo+:
  1202. +${c1} :+ooooooo/. ${c2}./ooooooo+:
  1203. +${c1} :+ooooooooooo:${c2}:ooooooooooo+:
  1204. +${c1} :+ooooooooooo+- ${c2}-+ooooooooooo+:
  1205. +${c1} :+ooooooooooo+- ${c3}-- ${c2}-+ooooooooooo+:
  1206. +${c1}.+ooooooooooo+- ${c3}:+oo+: ${c2}-+ooooooooooo+-
  1207. +${c1}-+ooooooooo+- ${c3}:+oooooo+: ${c2}-+oooooooooo-
  1208. +${c1} :+ooooo+- ${c3}:+oooooooooo+: ${c2}-+oooooo:
  1209. +${c1} :+o+- ${c3}:+oooooooooooooo+: ${c2}-+oo:
  1210. +${c4} ./ ${c3}:oooooooooooooooooo: ${c5}/.
  1211. +${c4} ./oo+: ${c3}-+oooooooooooooo+- ${c5}:+oo/.
  1212. +${c4} ./oooooo+: ${c3}-+oooooooooo+- ${c5}:+oooooo/.
  1213. +${c4}-oooooooooo+: ${c3}-+oooooo+- ${c5}:+oooooooooo-
  1214. +${c4}.+ooooooooooo+: ${c3}-+oo+- ${c5}:+ooooooooooo+.
  1215. +${c4} -+ooooooooooo+: ${c3}.. ${c5}:+ooooooooooo+-
  1216. +${c4} -+ooooooooooo+: ${c5}:+ooooooooooo+-
  1217. +${c4} -+oooooooooo+:${c5}:+oooooooooo+-
  1218. +${c4} -+oooooo+: ${c5}:+oooooo+-
  1219. +${c4} -+oo+: ${c5}:+oo+-
  1220. +${c4} .. ${c5}..
  1221. +EOF
  1222. + ;;
  1223. +
  1224. "Linux")
  1225. set_colors fg 8 3
  1226. read -rd '' ascii_data <<'EOF'
  1227. @@ -7747,26 +7994,26 @@
  1228. "Lubuntu"*)
  1229. set_colors 4 7 1
  1230. read -rd '' ascii_data <<'EOF'
  1231. -${c1} `-mddhhhhhhhhhddmss`
  1232. - ./mdhhhhhhhhhhhhhhhhhhhhhh.
  1233. - :mdhhhhhhhhhhhhhhhhhhhhhhhhhhhm`
  1234. - :ymhhhhhhhhhhhhhhhyyyyyyhhhhhhhhhy:
  1235. - `odhyyyhhhhhhhhhy+-````./syhhhhhhhho`
  1236. - `hhy..:oyhhhhhhhy-`:osso/..:/++oosyyyh`
  1237. - dhhs .-/syhhhhs`shhhhhhyyyyyyyyyyyyhs
  1238. -:hhhy` yso/:+syhy/yhhhhhshhhhhhhhhhhhhh:
  1239. -hhhhho. +hhhys++oyyyhhhhh-yhhhhhhhhhhhhhs
  1240. -hhhhhhs-`/syhhhhyssyyhhhh:-yhhhhhhhhhhhhh
  1241. -hhhhhhs `:/+ossyyhyyhhhhs -yhhhhhhhhhhhh
  1242. -hhhhhhy/ `syyyssyyyyhhhhhh: :yhhhhhhhhhhs
  1243. -:hhhhhhyo:-/osyhhhhhhhhhhho ohhhhhhhhhh:
  1244. - sdhhhhhhhyyssyyhhhhhhhhhhh+ +hhhhhhhhs
  1245. - `shhhhhhhhhhhhhhhhhhhhhhy+` .yhhhhhhhh`
  1246. - +sdhhhhhhhhhhhhhhhhhyo/. `/yhhhhhhhd`
  1247. - `:shhhhhhhhhh+---..``.:+yyhhhhhhh:
  1248. - `:mdhhhhhh/.syssyyyyhhhhhhhd:`
  1249. - `+smdhhh+shhhhhhhhhhhhdm`
  1250. - `sNmdddhhhhhhhddm-`
  1251. +${c1} `.:/ossyyyysso/:.
  1252. + `.:yyyyyyyyyyyyyyyyyy:.`
  1253. + .:yyyyyyyyyyyyyyyyyyyyyyyy:.
  1254. + .:yyyyyyyyyyyyyyyyyyyyyyyyyyyy:.
  1255. + -yyyyyyyyyyyyyy${c2}+hNMMMNh+${c1}yyyyyyyyy-
  1256. + :yy${c2}mNy+${c1}yyyyyyyy${c2}+Nmso++smMdhyysoo+${c1}yy:
  1257. + -yy${c2}+MMMmmy${c1}yyyyyy${c2}hh${c1}yyyyyyyyyyyyyyyyyyy-
  1258. +.yyyy${c2}NMN${c1}yy${c2}shhs${c1}yyy${c2}+o${c1}yyyyyyyyyyyyyyyyyyyy.
  1259. +:yyyy${c2}oNM+${c1}yyyy${c2}+sso${c1}yyyyyyy${c2}ss${c1}yyyyyyyyyyyyy:
  1260. +:yyyyy${c2}+dNs${c1}yyyyyyy${c2}++${c1}yyyyy${c2}oN+${c1}yyyyyyyyyyyy:
  1261. +:yyyyy${c2}oMMmhysso${c1}yyyyyyyyyy${c2}mN+${c1}yyyyyyyyyyy:
  1262. +:yyyyyy${c2}hMm${c1}yyyyy${c2}+++${c1}yyyyyyy${c2}+MN${c1}yyyyyyyyyyy:
  1263. +.yyyyyyy${c2}ohmy+${c1}yyyyyyyyyyyyy${c2}NMh${c1}yyyyyyyyyy.
  1264. + -yyyyyyyyyy${c2}++${c1}yyyyyyyyyyyy${c2}MMh${c1}yyyyyyyyy-
  1265. + :yyyyyyyyyyyyyyyyyyyyy${c2}+mMN+${c1}yyyyyyyy:
  1266. + -yyyyyyyyyyyyyyyyy${c2}+sdMMd+${c1}yyyyyyyy-
  1267. + .:yyyyyyyyy${c2}hmdmmNMNdy+${c1}yyyyyyyy:.
  1268. + .:yyyyyyy${c2}my${c1}yyyyyyyyyyyyyyy:.
  1269. + `.:yyyy${c2}s${c1}yyyyyyyyyyyyy:.`
  1270. + `.:/oosyyyysso/:.`
  1271. EOF
  1272. ;;
  1273. @@ -8086,6 +8333,31 @@
  1274. EOF
  1275. ;;
  1276. + "Live Raizo"* | "Live_Raizo"*)
  1277. + set_colors 3
  1278. + read -rd '' ascii_data <<'EOF'
  1279. +${c1} `......`
  1280. + -+shmNMMMMMMNmhs/.
  1281. + :smMMMMMmmhyyhmmMMMMMmo-
  1282. + -hMMMMd+:. `----` .:odMMMMh-
  1283. + `hMMMN+. .odNMMMMMMNdo. .yMMMMs`
  1284. + hMMMd. -dMMMMmdhhdNMMMNh` .mMMMh
  1285. +oMMMm` :MMMNs.:sddy:-sMMMN- `NMMM+
  1286. +mMMMs dMMMo sMMMMMMd yMMMd sMMMm
  1287. +----` .---` oNMMMMMh `---. .----
  1288. + .sMMy:
  1289. + /MM/
  1290. + +dMMms.
  1291. + hMMMMMMN
  1292. + `dMMMMMMm:
  1293. + .+ss+sMNysMMoomMd+ss+.
  1294. + +MMMMMMN` +MM/ hMMMMMNs
  1295. + sMMMMMMm-hNMMMd-hMMMMMMd
  1296. + :yddh+`hMMMMMMN :yddy/`
  1297. + .hMMMMd:
  1298. + `..`
  1299. +EOF
  1300. + ;;
  1301. "mx_small"*)
  1302. set_colors 4 6 7
  1303. @@ -8271,7 +8543,7 @@
  1304. EOF
  1305. ;;
  1306. - "NixOS"*)
  1307. + "nixos_old"*)
  1308. set_colors 4 6
  1309. read -rd '' ascii_data <<'EOF'
  1310. ${c1} ::::. ${c2}'::::: ::::'
  1311. @@ -8296,6 +8568,32 @@
  1312. EOF
  1313. ;;
  1314. + "NixOS"*)
  1315. + set_colors 4 6
  1316. + read -rd '' ascii_data <<'EOF'
  1317. +${c1} ▗▄▄▄ ${c2}▗▄▄▄▄ ▄▄▄▖
  1318. +${c1} ▜███▙ ${c2}▜███▙ ▟███▛
  1319. +${c1} ▜███▙ ${c2}▜███▙▟███▛
  1320. +${c1} ▜███▙ ${c2}▜██████▛
  1321. +${c1} ▟█████████████████▙ ${c2}▜████▛ ${c1}▟▙
  1322. +${c1} ▟███████████████████▙ ${c2}▜███▙ ${c1}▟██▙
  1323. +${c2} ▄▄▄▄▖ ▜███▙ ${c1}▟███▛
  1324. +${c2} ▟███▛ ▜██▛ ${c1}▟███▛
  1325. +${c2} ▟███▛ ▜▛ ${c1}▟███▛
  1326. +${c2}▟███████████▛ ${c1}▟██████████▙
  1327. +${c2}▜██████████▛ ${c1}▟███████████▛
  1328. +${c2} ▟███▛ ${c1}▟▙ ▟███▛
  1329. +${c2} ▟███▛ ${c1}▟██▙ ▟███▛
  1330. +${c2} ▟███▛ ${c1}▜███▙ ▝▀▀▀▀
  1331. +${c2} ▜██▛ ${c1}▜███▙ ${c2}▜██████████████████▛
  1332. +${c2} ▜▛ ${c1}▟████▙ ${c2}▜████████████████▛
  1333. +${c1} ▟██████▙ ${c2}▜███▙
  1334. +${c1} ▟███▛▜███▙ ${c2}▜███▙
  1335. +${c1} ▟███▛ ▜███▙ ${c2}▜███▙
  1336. +${c1} ▝▀▀▀ ▀▀▀▀▘ ${c2}▀▀▀▘
  1337. +EOF
  1338. + ;;
  1339. +
  1340. "Nurunner"*)
  1341. set_colors 4
  1342. read -rd '' ascii_data <<'EOF'
  1343. @@ -8821,6 +9119,27 @@
  1344. EOF
  1345. ;;
  1346. + "Pengwin"*)
  1347. + set_colors 5 5 13
  1348. + read -rd '' ascii_data <<'EOF'
  1349. +${c3} ...`
  1350. +${c3} `-///:-`
  1351. +${c3} .+${c2}ssys${c3}/
  1352. +${c3} +${c2}yyyyy${c3}o ${c2}
  1353. +${c2} -yyyyyy:
  1354. +${c2} `.:/+ooo+/:` -yyyyyy+
  1355. +${c2} `:oyyyyyys+:-.`syyyyyy:
  1356. +${c2} .syyyyyyo-` .oyyyyyyo
  1357. +${c2} `syyyyyy `-+yyyyyyy/`
  1358. +${c2} /yyyyyy+ -/osyyyyyyo/.
  1359. +${c2} +yyyyyy- `.-:::-.`
  1360. +${c2} .yyyyyy-
  1361. +${c3} :${c2}yyyyy${c3}o
  1362. +${c3} .+${c2}ooo${c3}+
  1363. +${c3} `.::/:.
  1364. +EOF
  1365. + ;;
  1366. +
  1367. "Peppermint"*)
  1368. set_colors 1 15 3
  1369. read -rd '' ascii_data <<'EOF'
  1370. @@ -8848,6 +9167,31 @@
  1371. EOF
  1372. ;;
  1373. + "Pisi"*)
  1374. + set_colors 12 7 6 1 8
  1375. + read -rd '' ascii_data <<'EOF'
  1376. +${c1} \Fv/!- `:?lzC
  1377. +${c1} Q!::=zFx! ${c2}`;v6WBCicl;` ${c1},vCC\!::#.
  1378. +${c1} ,%:::,'` ${c2}+#%@@FQ@@. ,cF%i${c1}``-',::a?
  1379. +${c1} +m:,'```${c2}}3,/@@Q\@@ "af-${c1} `-'"7f
  1380. + =o'.` ${c2}/m' :Q@:Qg ,kl${c1} `.|o
  1381. + :k` '${c2}$+ 'Narm >d,${c1} ii
  1382. + #`${c2}!p. `C , 'd+${c1} %'
  1383. +${c2} !0m `6Kv
  1384. + =a m+
  1385. + !A !\L|: :|L\! $:
  1386. + .8` Q''%Q#' '#Q%''Q `0-
  1387. + :6 E|.6QQu uQQ6.|E p:
  1388. + i{ \jts9? ?9stj\ u\
  1389. + |a` -''. `e>
  1390. + ,m+ ${c1}'^ !`${c2}s@@@@a${c1}'"`+`${c2} >e'
  1391. + !3|${c1}`|=>>r- ${c2}'U%:${c1} '>>>=:`\3!
  1392. + 'xopE| ${c2}`'${c1} `ledoz-
  1393. + `;=>>+`${c2}`^llci/|==|/iclc;`${c1}'>>>>:
  1394. + `^`+~ ${c2}````${c1} !!-^
  1395. +EOF
  1396. + ;;
  1397. +
  1398. "popos_small"* | "pop_os_small"*)
  1399. set_colors 6 7
  1400. read -rd '' ascii_data <<'EOF'
  1401. @@ -9063,6 +9407,30 @@
  1402. EOF
  1403. ;;
  1404. + "Quibian"*)
  1405. + set_colors 3 7
  1406. + read -rd '' ascii_data <<'EOF'
  1407. +${c1} `.--::::::::--.`
  1408. + `.-:::-..`` ``..-::-.`
  1409. + .::::-` .${c2}+${c1}:`` `.-::.`
  1410. + .::::.` -::::::-` `.::.
  1411. + `-:::-` -:::::::::--..`` .::`
  1412. + `::::- .${c2}oy${c1}:::::::---.```.: `::`
  1413. + -:::: `.-:::::::::::-.``` `::
  1414. +.::::.`-:::::::::::::. `:.
  1415. +-::::.::::::::::::::: -:
  1416. +::::::::::::::::::::` `:
  1417. +:::::::::::::::::::- `:
  1418. +::::::::::::::::::: --
  1419. +.:::::::::::::::::` `:`
  1420. +`::::::::::::::::: -`
  1421. + .:::::::::::::::- -`
  1422. + `::::::::::::::- `.`
  1423. + .::::::::::::- ``
  1424. + `.--:::::-.
  1425. +EOF
  1426. + ;;
  1427. +
  1428. "Radix"*)
  1429. set_colors 1 2
  1430. read -rd '' ascii_data <<'EOF'
  1431. @@ -9090,16 +9458,15 @@
  1432. "Raspbian_small"*)
  1433. set_colors 2 1
  1434. read -rd '' ascii_data <<'EOF'
  1435. -${c1} .~~. .~~.
  1436. - '. \\ ' ' / .'
  1437. -${c2} .~ .~~~..~.
  1438. - : .~.'~'.~. :
  1439. - ~ ( ) ( ) ~
  1440. -( : '~'.~.'~' : )
  1441. - ~ .~ ( ) ~. ~
  1442. - ( : '~' : )
  1443. - '~ .~~~. ~'
  1444. - '~'
  1445. +${c1} .. ,.
  1446. + :oo: .:oo:
  1447. + 'o\\o o/o:
  1448. +${c2} :: . :: . ::
  1449. +:: ::: ::: ::
  1450. +:' '',.'' ':
  1451. + ::: :::: :::
  1452. + ':, '' ,:'
  1453. + ' ~::~ '
  1454. EOF
  1455. ;;
  1456. @@ -9962,28 +10329,28 @@
  1457. ;;
  1458. "Ubuntu Cinnamon"* | "Ubuntu-Cinnamon"*)
  1459. - set_colors 1
  1460. + set_colors 1 7
  1461. read -rd '' ascii_data <<'EOF'
  1462. -${c1} .-:/++oooo++/:-.
  1463. - `:/oooooooooooooooooo/-`
  1464. - -/oooooooooooooooooooo+ooo/-
  1465. - .+oooooooooooooooooo+/-`.ooooo+.
  1466. - :oooooooooooo+//:://++:. .ooooooo:
  1467. - /oooooooooo+o:`.----.``./+/oooooooo/
  1468. - /ooooooooo+. +ooooooooo+:``/ooooooooo/
  1469. -.ooooooooo: .+ooooooooooooo- -ooooooooo.
  1470. -/oooooo/o+ .ooooooo:`+oo+ooo- :oooooooo/
  1471. -ooo+:. .o: :ooooo:` .+/. ./o+:/ooooooooo
  1472. -oooo/-`.o: :ooo/` `/+. ./.:ooooooooo
  1473. -/oooooo+o+``++. `:+- /oooooooo/
  1474. -.ooooooooo/`` -+:` :ooooooooo.
  1475. - /ooooooooo+--+/` .+ooooooooo/
  1476. - /ooooooooooo+.` `.:++:oooooooo/
  1477. - :oooooooooooooo++++oo+-` .ooooooo:
  1478. - .+ooooooooooooooooooo+:..ooooo+.
  1479. - -/oooooooooooooooooooooooo/-
  1480. - `-/oooooooooooooooooo/:`
  1481. - .-:/++oooo++/:-.
  1482. +${c1} .-/+oooooooo+/-.
  1483. + `:+oooooooooooooooooo+:`
  1484. + -+oooooooooooooooooooooooo+-
  1485. + .ooooooooooooooooooo${c2}:ohNd${c1}oooooo.
  1486. + /oooooooooooo${c2}:/+oo++:/ohNd${c1}ooooooo/
  1487. + +oooooooooo${c2}:osNdhyyhdNNh+:+${c1}oooooooo+
  1488. + /ooooooooo${c2}/dN/${c1}ooooooooo${c2}/sNNo${c1}ooooooooo/
  1489. +.ooooooooo${c2}oMd:${c1}oooooooooooo${c2}:yMy${c1}ooooooooo.
  1490. ++ooooo${c2}:+o/Md${c1}oooooo${c2}:sm/${c1}oo/ooo${c2}yMo${c1}oooooooo+
  1491. +ooo${c2}:sdMdosMo${c1}ooooo${c2}oNMd${c1}//${c2}dMd+${c1}o${c2}:so${c1}ooooooooo
  1492. +oooo${c2}+ymdosMo${c1}ooo${c2}+mMm${c1}+/${c2}hMMMMMh+hs${c1}ooooooooo
  1493. ++oooooo${c2}:${c1}:${c2}/Nm:${c1}/${c2}hMNo${c1}:y${c2}MMMMMMMMMM+${c1}oooooooo+
  1494. +.ooooooooo${c2}/NNMNy${c1}:o${c2}NMMMMMMMMMMo${c1}ooooooooo.
  1495. +/oooooooooo${c2}:yh:${c1}+m${c2}MMMMMMMMMMd/${c1}ooooooooo/
  1496. + +oooooooooo${c2}+${c1}/h${c2}mMMMMMMNds//o${c1}oooooooo+
  1497. + /oooooooooooo${c2}+:////:o/ymMd${c1}ooooooo/
  1498. + .oooooooooooooooooooo${c2}/sdh${c1}oooooo.
  1499. + -+oooooooooooooooooooooooo+-
  1500. + `:+oooooooooooooooooo+:`
  1501. + .-/+oooooooo+/-.
  1502. EOF
  1503. ;;
  1504. @@ -10038,26 +10405,27 @@
  1505. "Ubuntu MATE"* | "Ubuntu-MATE"*)
  1506. set_colors 2 7
  1507. read -rd '' ascii_data <<'EOF'
  1508. -${c1} `:+shmNNMMNNmhs+:`
  1509. - .odMMMMMMMMMMMMMMMMMMdo.
  1510. - /dMMMMMMMMMMMMMMMmMMMMMMMMd/
  1511. - :mMMMMMMMMMMMMNNNNM/`/yNMMMMMMm:
  1512. - `yMMMMMMMMMms:..-::oM: -omMMMMMy`
  1513. - `dMMMMMMMMy-.odNMMMMMM: -odMMMMMMd`
  1514. - hMMMMMMMm-.hMMy/....+M:`/yNm+mMMMMMMMh
  1515. -/MMMMNmMN-:NMy`-yNMMMMMmNyyMN:`dMMMMMMM/
  1516. -hMMMMm -odMMh`sMMMMMMMMMMs sMN..MMMMMMMh
  1517. -NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN
  1518. -NMMMMm `/yNMMMMMMMMMMMM: MM+ mMMMMMMN
  1519. -hMMMMm -odMMh sMMMMMMMMMMs oMN..MMMMMMMh
  1520. -/MMMMNNMN-:NMy`-yNMMMMMNNsyMN:`dMMMMMMM/
  1521. - hMMMMMMMm-.hMMy/....+M:.+hNd+mMMMMMMMh
  1522. - `dMMMMMMMMy-.odNMMMMMM: :smMMMMMMd`
  1523. - yMMMMMMMMMms/..-::oM: .+dMMMMMy
  1524. - :mMMMMMMMMMMMMNNNNM: :smMMMMMMm:
  1525. - /dMMMMMMMMMMMMMMMdNMMMMMMMd/
  1526. - .odMMMMMMMMMMMMMMMMMMdo.
  1527. - `:+shmNNMMNNmhs+:`
  1528. +${c1} .:/+oossssoo+/:.`
  1529. + `:+ssssssssssssssssss+:`
  1530. + -+sssssssssssssss${c2}y${c1}ssssssss+-
  1531. + .osssssssssssss${c2}yy${c1}ss${c2}mMmh${c1}ssssssso.
  1532. + /sssssssss${c2}ydmNNNmmd${c1}s${c2}mMMMMNdy${c1}sssss/
  1533. + `+ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMNdy${c1}ssssss+`
  1534. + +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mMmh${c1}s${c2}ydy${c1}sssssss+
  1535. +-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-
  1536. ++ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+
  1537. +sssss${c2}yMMMMMmh${c1}sssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss
  1538. +sssss${c2}yMMMMMmhy${c1}ssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss
  1539. ++ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+
  1540. +-sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssssss${c2}dh${c1}ss${c2}mMy${c1}sssssss-
  1541. + +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mNmh${c1}s${c2}ymy${c1}sssssss+
  1542. + +ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMmhy${c1}ssssss+
  1543. + /sssssssss${c2}ydmNNNNmd${c1}s${c2}mMMMMNdh${c1}sssss/
  1544. + .osssssssssssss${c2}yy${c1}ss${c2}mMmdy${c1}sssssso.
  1545. + -+sssssssssssssss${c2}y${c1}ssssssss+-
  1546. + `:+ssssssssssssssssss+:`
  1547. + .:/+oossssoo+/:.
  1548. +
  1549. EOF
  1550. ;;
  1551. @@ -10149,6 +10517,32 @@
  1552. EOF
  1553. ;;
  1554. + "Univention"*)
  1555. + set_colors 1 7
  1556. + read -rd '' ascii_data <<'EOF'
  1557. +${c1} ./osssssssssssssssssssssso+-
  1558. + `ohhhhhhhhhhhhhhhhhhhhhhhhhhhhy:
  1559. + shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh-
  1560. + `-//${c2}sssss${c1}/hhhhhhhhhhhhhh+${c2}s${c1}.hhhhhhhhh+
  1561. + .ohhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sss${c1}+hhhhhhh+
  1562. +.yhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}ssss${c1}:hhhhhh+
  1563. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1564. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1565. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1566. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1567. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1568. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1569. ++hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+
  1570. ++hhhhhy${c2}ssssss${c1}+yhhhhhhhhhhy/${c2}ssssss${c1}yhhhhh+
  1571. ++hhhhhh:${c2}sssssss${c1}:hhhhhhh+${c2}.ssssssss${c1}yhhhhy.
  1572. ++hhhhhhh+`${c2}ssssssssssssssss${c1}hh${c2}sssss${c1}yhhho`
  1573. ++hhhhhhhhhs+${c2}ssssssssssss${c1}+hh+${c2}sssss${c1}/:-`
  1574. +-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhho
  1575. + :yhhhhhhhhhhhhhhhhhhhhhhhhhhhh+`
  1576. + -+ossssssssssssssssssssss+:`
  1577. +EOF
  1578. + ;;
  1579. +
  1580. "Venom"*)
  1581. set_colors 8 4
  1582. read -rd '' ascii_data <<'EOF'
  1583. @@ -10205,6 +10599,23 @@
  1584. ~|Invnvnvvnvvvnnv}+`
  1585. -~|{*l}*|~
  1586. EOF
  1587. +
  1588. + ;;
  1589. +
  1590. + "semc"*)
  1591. + set_colors 2 8 1
  1592. + read -rd '' ascii_data <<'EOF'
  1593. +${c1} /\
  1594. + ______/ \
  1595. + / |()| ${c2}E M C
  1596. +${c1} | (-- | |
  1597. + \ \ | |
  1598. +.----) | |__|
  1599. +|_______/ / ${c3}"${c1} \
  1600. + ${c3}"
  1601. + "
  1602. +EOF
  1603. +
  1604. ;;
  1605. "Obarun"*)
  1606. @@ -10283,26 +10694,26 @@
  1607. "Xubuntu"*)
  1608. set_colors 4 7 1
  1609. read -rd '' ascii_data <<'EOF'
  1610. -${c1} `-/osyhddddhyso/-`
  1611. - .+yddddddddddddddddddy+.
  1612. - :yddddddddddddddddddddddddy:
  1613. - -yddddddddddddddddddddhdddddddy-
  1614. - odddddddddddyshdddddddh`dddd+ydddo
  1615. - `yddddddhshdd- ydddddd+`ddh.:dddddy`
  1616. - sddddddy /d. :dddddd-:dy`-ddddddds
  1617. -:ddddddds /+ .dddddd`yy`:ddddddddd:
  1618. -sdddddddd` . .-:/+ssdyodddddddddds
  1619. -ddddddddy `:ohddddddddd
  1620. -dddddddd. +dddddddd
  1621. -sddddddy ydddddds
  1622. -:dddddd+ .oddddddd:
  1623. - sdddddo ./ydddddddds
  1624. - `yddddd. `:ohddddddddddy`
  1625. - oddddh/` `.:+shdddddddddddddo
  1626. - -ydddddhyssyhdddddddddddddddddy-
  1627. - :yddddddddddddddddddddddddy:
  1628. - .+yddddddddddddddddddy+.
  1629. - `-/osyhddddhyso/-`
  1630. +${c1} `.:/ossyyyysso/:.
  1631. + `.yyyyyyyyyyyyyyyyyyyy.`
  1632. + `yyyyyyyyyyyyyyyyyyyyyyyyyy`
  1633. + `yyyyyyyyyyyyyyyyyyyy${c2}::${c1}yyyyyyyy`
  1634. + .yyyyyyyyyyy${c2}/+:${c1}yyyyyyy${c2}ds${c1}yyy${c2}+y${c1}yyyy.
  1635. + yyyyyyy${c2}:o/${c1}yy${c2}dMMM+${c1}yyyyy${c2}/M+${c1}y${c2}:hM+${c1}yyyyyy
  1636. + yyyyyyy${c2}+MMMy${c1}y${c2}mMMMh${c1}yyyyy${c2}yM::mM+${c1}yyyyyyyy
  1637. +`yyyyyyy${c2}+MMMMysMMMd${c1}yyyyy${c2}dh:mN+${c1}yyyyyyyyy`
  1638. +yyyyyyyy${c2}:NMMMMmMMMMmmdhyy+/y:${c1}yyyyyyyyyyy
  1639. +yyyyyyyy${c2}+MMMMMMMMMMMMMMMMMMNho:${c1}yyyyyyyyy
  1640. +yyyyyyyy${c2}mMMMMMMMMMMMMMMMMMMMMMMy${c1}yyyyyyyy
  1641. +yyyyyyy${c2}+MMMMMMMMMMMMMMMMMMMMMMMM/${c1}yyyyyyy
  1642. +`yyyyyy${c2}sMMMMMMMMMMMMMMMMMMMMMMmo${c1}yyyyyyy`
  1643. + yyyyyy${c2}oMMMMMMMMMMMMMMMMMMMmy+${c1}yyyyyyyyy
  1644. + yyyyy${c2}:mMMMMMMMMMMMMMMNho/${c1}yyyyyyyyyyy
  1645. + .yyyy${c2}:yNMMMMMMMNdyo:${c1}yyyyyyyyyyyyy.
  1646. + `yyyyyy${c2}:/++/::${c1}yyyyyyyyyyyyyyyyy`
  1647. + `yyyyyyyyyyyyyyyyyyyyyyyyyy`
  1648. + `.yyyyyyyyyyyyyyyyyyyy.`
  1649. + `.:/oosyyyysso/:.`
  1650. EOF
  1651. ;;
  1652. "IRIX"*)
  1653. @@ -10553,6 +10964,7 @@
  1654. # w3m-img: Draw the image a second time to fix
  1655. # rendering issues in specific terminal emulators.
  1656. [[ $image_backend == *w3m* ]] && display_image
  1657. + [[ $image_backend == *ueberzug* ]] && display_image
  1658. # Add neofetch info to verbose output.
  1659. err "Neofetch command: $0 $*"