Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0a1e97cd92 | |||
| 7e59c362be | |||
| 3e8c103479 | |||
| 5be5aa1b51 | |||
| 08f75415eb | |||
| 02b6e9d72d | |||
| 59b9dc6e1a | |||
| 0f302eea60 | |||
| 7c7cba2346 | |||
| f989ec0d20 | |||
| e72fe4d934 | |||
| 7f48e4cd43 | |||
| bc89c50427 | |||
| 7c93a0df1c | |||
| 8b67e539b5 | |||
| 7c16e15cea | |||
| 79e0a8360b | |||
| d2347cefb1 | |||
| cda96dda4e | |||
| 3dde4bcdef | |||
| 0811acab58 | |||
| f14324ffce | |||
| 1ba7b339c9 | |||
| 8987b0b15f | |||
| 4f12d97e40 | |||
| c3beb21966 | |||
| 078af21630 | |||
| 4e7724ecf8 | |||
| 624bd97045 | |||
| 45ea478414 | |||
| 9e001c530f | |||
| d850e4c91e | |||
| 376268f79e | |||
| b955a61ac5 | |||
| c099c9e5f7 | |||
| 7b62c80881 | |||
| d6b33ae3e9 | |||
| 9da32dab4b | |||
| cf0202fd7c | |||
| 8a01ce491b | |||
| fd2248daec | |||
| ab23dc3c2b | |||
| 58a82c2b5e | |||
| d0fda1ef0d | |||
| 82c37a28d3 | |||
| 042ec7a33c | |||
| 3253d4cbcc |
@@ -12,6 +12,7 @@ This repo also serves as an updated version of the original `neofetch` since the
|
||||
* Method 2: `npx neowofetch`
|
||||
* Method 3: `bash <(curl -sL neowofetch.hydev.org)`
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Method 1: Install using Python pip (Recommended)
|
||||
@@ -26,9 +27,20 @@ pip install hyfetch
|
||||
|
||||
Currently, these distributions have existing packages for HyFetch:
|
||||
|
||||
* ArchLinux: `yay -S hyfetch` (Thanks to @ Aleksana)
|
||||
* Nix: `nix-env -i hyfetch` (Thanks to @ YisuiDenghua)
|
||||
* Guix: `guix install hyfetch` (Thanks to @ WammKD)
|
||||
* ArchLinux: `yay -S hyfetch` (Thanks to [@Aleksana](https://github.com/Aleksanaa))
|
||||
* Nix: `nix-env -i hyfetch` (Thanks to [@YisuiDenghua](https://github.com/YisuiDenghua))
|
||||
* Guix: `guix install hyfetch` (Thanks to [@WammKD](https://github.com/WammKD))
|
||||
|
||||
### Method 3: Install the latest developmental version using git
|
||||
|
||||
Install Python >= 3.7 first. Then run the following commands:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/hykilpikonna/hyfetch.git
|
||||
cd hyfetch
|
||||
pip install .
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -36,6 +48,9 @@ When you run `hyfetch` for the first time, it will prompt you to choose a color
|
||||
|
||||
If you want to use the updated `neofetch` without LGBTQ flags, check out [this section](https://github.com/hykilpikonna/hyfetch#running-updated-original-neofetch)
|
||||
|
||||
|
||||
## Questions and answers
|
||||
|
||||
#### Q: How do I change my config?
|
||||
|
||||
A: Use `hyfetch -c`
|
||||
@@ -48,6 +63,18 @@ Feel free to experiment with it!
|
||||
|
||||

|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
To make changes to our codebase, you first need to create a fork by clicking the "Fork" button on the top right. Then, you can clone your fork of the source code using `git clone https://github.com/{your username}/hyfetch.git`.
|
||||
|
||||
After making changes to the source code, you can run `python -m hyfetch` in the root directory of your repo to test out your changes.
|
||||
|
||||
If they work correctly, you can commit and push these changes using git command or Github Desktop. Then, you can create a pull request on Github so that it can go into our next release!
|
||||
|
||||
You can also install your version locally by running `pip install .` in the repo root.
|
||||
|
||||
|
||||
## Change Log
|
||||
|
||||
### About Notation
|
||||
@@ -62,6 +89,19 @@ Updates to `neowofetch` begins with the emoji 🖼️
|
||||
|
||||
<!-- CHANGELOG STARTS HERE --->
|
||||
|
||||
### 1.4.2
|
||||
|
||||
* 🌈 Detailed runnning/contributing instructions in README.md (#21)
|
||||
* 🖼️ Distro - Add Stock Linux (#23)
|
||||
* 🖼️ Distro - Add DietPi ([dylanaraps#1706](https://github.com/dylanaraps/neofetch/pull/1706))
|
||||
* 🖼️ Distro - Add OmniOS illumos ([dylanaraps#2196](https://github.com/dylanaraps/neofetch/pull/2196))
|
||||
* 🖼️ Distro - Add Droidian ([dylanaraps#2201](https://github.com/dylanaraps/neofetch/pull/2201))
|
||||
* 🖼️ Distro - Add HamoniKR ([dylanaraps#2210](https://github.com/dylanaraps/neofetch/pull/2210))
|
||||
* 🖼️ Song - Add support for TIDAL HiFi (#22)
|
||||
* 🖼️ CPU - Detect multiple CPU models for ARM
|
||||
* 🖼️ Misc - Better defaults: Show RAM in GiB, RAM percentage, CPU speed rounding, refresh rate
|
||||
* 🖼️ Bug Fix - Fix bash 5.2 column cut off issue (#24)
|
||||
|
||||
### 1.4.1
|
||||
|
||||
* 🌈 Paginate flags (#14)
|
||||
@@ -72,7 +112,7 @@ Updates to `neowofetch` begins with the emoji 🖼️
|
||||
* 🌈 Add experimental Windows support (very unstable at the moment)
|
||||
* 🖼️ Distro - Add ravynOS ([dylanaraps#2182](https://github.com/dylanaraps/neofetch/pull/2182))
|
||||
* 🖼️ Distro - Add ChonkySealOS ([dylanaraps#2180](https://github.com/dylanaraps/neofetch/pull/2180))
|
||||
* 🖼️ Distro - Add GhostBSD ([dylanaraps#2180](https://github.com/dylanaraps/neofetch/pull/2180))
|
||||
* 🖼️ Distro - Add GhostBSD ([TheSudoer#18](https://github.com/hykilpikonna/hyfetch/pull/18))
|
||||
* 🖼️ Distro - Add NekOS ([dylanaraps#2186](https://github.com/dylanaraps/neofetch/pull/2186))
|
||||
* 🖼️ Distro - Add astOS ([dylanaraps#2185](https://github.com/dylanaraps/neofetch/pull/2185))
|
||||
* 🖼️ Distro - Fix ChromeOS identification ([dylanaraps#1949](https://github.com/dylanaraps/neofetch/pull/1949))
|
||||
|
||||
@@ -7,7 +7,7 @@ from pathlib import Path
|
||||
from typing_extensions import Literal
|
||||
|
||||
CONFIG_PATH = Path.home() / '.config/hyfetch.json'
|
||||
VERSION = '1.4.1'
|
||||
VERSION = '1.4.2'
|
||||
|
||||
|
||||
TEST_ASCII = r"""
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
version=7.3.1
|
||||
version=7.3.2
|
||||
|
||||
# Fallback to a value of '5' for shells which support bash
|
||||
# but do not set the 'BASH_' shell variables (osh).
|
||||
@@ -174,7 +174,7 @@ uptime_shorthand="on"
|
||||
# Example:
|
||||
# on: '1801MiB / 7881MiB (22%)'
|
||||
# off: '1801MiB / 7881MiB'
|
||||
memory_percent="off"
|
||||
memory_percent="on"
|
||||
|
||||
# Change memory output unit.
|
||||
#
|
||||
@@ -186,7 +186,7 @@ memory_percent="off"
|
||||
# kib '1020928KiB / 7117824KiB'
|
||||
# mib '1042MiB / 6951MiB'
|
||||
# gib: ' 0.98GiB / 6.79GiB'
|
||||
memory_unit="mib"
|
||||
memory_unit="gib"
|
||||
|
||||
|
||||
# Packages
|
||||
@@ -253,7 +253,7 @@ speed_type="bios_limit"
|
||||
# Example:
|
||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||
speed_shorthand="off"
|
||||
speed_shorthand="on"
|
||||
|
||||
# Enable/Disable CPU brand in output.
|
||||
#
|
||||
@@ -356,7 +356,7 @@ gpu_type="all"
|
||||
# Example:
|
||||
# on: '1920x1080 @ 60Hz'
|
||||
# off: '1920x1080'
|
||||
refresh_rate="off"
|
||||
refresh_rate="on"
|
||||
|
||||
|
||||
# Gtk Theme / Icons / Font
|
||||
@@ -799,33 +799,33 @@ image_source="auto"
|
||||
# Flag: --ascii_distro
|
||||
#
|
||||
# NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS,
|
||||
# AOSC OS/Retro, Aperio GNU/Linux, Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchMerge,
|
||||
# ArchStrike, ArcoLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux, Bitrig,
|
||||
# BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, Cachy OS,
|
||||
# Calculate, CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau,
|
||||
# ChonkySealOS, Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Condres, Container Linux by
|
||||
# CoreOS, CRUX, Crystal Linux, Cucumber, CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian,
|
||||
# Deepin, DesaOS, Devuan, DracOS, DragonFly, Drauger, Elementary, Elive, EncryptOS, EndeavourOS,
|
||||
# AOSC OS/Retro, Aperio GNU/Linux, Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchStrike,
|
||||
# ArcoLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux, Bitrig, BlackArch,
|
||||
# blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, Cachy OS, Calculate,
|
||||
# CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS,
|
||||
# Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Condres, Container Linux by CoreOS, CRUX,
|
||||
# Crystal Linux, Cucumber, CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS,
|
||||
# Devuan, DietPi, DracOS, DragonFly, Drauger, Droidian, Elementary, Elive, EncryptOS, EndeavourOS,
|
||||
# Endless, EuroLinux, Exherbo, Exodia Predator OS, Fedora, Feren, Finnix, FreeBSD, FreeMiNT,
|
||||
# Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU,
|
||||
# GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HarDClanZ, Hash, Huayra, HydroOS, 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, Neptune, NetBSD, Netrunner,
|
||||
# Nitrux, NixOS, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, Open Source Media Center, OpenBSD,
|
||||
# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, openSUSE, openSUSE Leap, openSUSE
|
||||
# Tumbleweed, OpenWrt, OPNsense, Oracle, orchid, OS Elbrus, PacBSD, Parabola, parch, Pardus, Parrot,
|
||||
# Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Pisi, PNM Linux, Pop!_OS, Porteus,
|
||||
# PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian,
|
||||
# Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted Devuan, Regata,
|
||||
# Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Scientific, semc, Septor, Serene,
|
||||
# SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware, SliTaz, SmartOS, Soda, Solus, Source Mage,
|
||||
# Sparky, Star, SteamOS, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore, Trisquel, Twister,
|
||||
# Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway,
|
||||
# Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux, Univalent, Univention, Uos, uwuntu,
|
||||
# Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows, Windows 10, Windows 11, XFerience, Xubuntu,
|
||||
# yiffOS, Zorin have ascii logos.
|
||||
# GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HamoniKR, HarDClanZ, Hash, Huayra, HydroOS,
|
||||
# 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, Neptune, NetBSD,
|
||||
# Netrunner, Nitrux, NixOS, 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, PacBSD, Parabola, parch,
|
||||
# Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Pisi, PNM Linux,
|
||||
# Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes,
|
||||
# Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted Devuan,
|
||||
# Regata, Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Scientific, semc, Septor,
|
||||
# Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware, SliTaz, SmartOS, Soda, Solus, Source
|
||||
# Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore,
|
||||
# Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu
|
||||
# Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux, Univalent,
|
||||
# Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows, Windows 10, Windows
|
||||
# 11, XFerience, Xubuntu, yiffOS, Zorin have ascii logos.
|
||||
|
||||
# NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use
|
||||
# {distro}_old to use them.
|
||||
@@ -954,7 +954,10 @@ get_os() {
|
||||
# just the output of "uname -s".
|
||||
case $kernel_name in
|
||||
Darwin) os=$darwin_name ;;
|
||||
SunOS) os=Solaris ;;
|
||||
SunOS) case $(uname -o 2>/dev/null) in
|
||||
illumos) os=illumos ;;
|
||||
*) os=Solaris ;;
|
||||
esac ;;
|
||||
Haiku) os=Haiku ;;
|
||||
MINIX) os=MINIX ;;
|
||||
AIX) os=AIX ;;
|
||||
@@ -1301,7 +1304,7 @@ get_distro() {
|
||||
distro=${distro/Microsoft }
|
||||
;;
|
||||
|
||||
Solaris)
|
||||
Solaris|illumos)
|
||||
case $distro_shorthand in
|
||||
on|tiny) distro=$(awk 'NR==1 {print $1,$3}' /etc/release) ;;
|
||||
*) distro=$(awk 'NR==1 {print $1,$2,$3}' /etc/release) ;;
|
||||
@@ -1332,7 +1335,7 @@ get_distro() {
|
||||
|
||||
# Get OS architecture.
|
||||
case $os in
|
||||
Solaris|AIX|Haiku|IRIX|FreeMiNT|BSD)
|
||||
Solaris|illumos|AIX|Haiku|IRIX|FreeMiNT|BSD)
|
||||
machine_arch=$(uname -p)
|
||||
;;
|
||||
|
||||
@@ -1577,7 +1580,7 @@ get_model() {
|
||||
model=${model/Model}
|
||||
;;
|
||||
|
||||
Solaris)
|
||||
Solaris|illumos)
|
||||
model=$(prtconf -b | awk -F':' '/banner-name/ {printf $2}')
|
||||
;;
|
||||
|
||||
@@ -1616,7 +1619,18 @@ get_title() {
|
||||
user=${USER:-$(id -un || printf %s "${HOME/*\/}")}
|
||||
|
||||
case $title_fqdn in
|
||||
on) hostname=$(hostname -f) ;;
|
||||
on)
|
||||
case $os in
|
||||
illumos|Solaris)
|
||||
hostname=$(hostname)
|
||||
domainname=$(domainname)
|
||||
[[ -n "$domainname" ]] && hostname+=".$domainname"
|
||||
;;
|
||||
*)
|
||||
hostname=$(hostname -f)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
hostname=${HOSTNAME:-$(hostname)}
|
||||
hostname=${hostname%.*}
|
||||
@@ -1681,9 +1695,11 @@ get_uptime() {
|
||||
s=$((now - boot))
|
||||
;;
|
||||
|
||||
Solaris)
|
||||
s=$(kstat -p unix:0:system_misc:snaptime | awk '{print $2}')
|
||||
s=${s/.*}
|
||||
Solaris|illumos)
|
||||
boot=$(kstat -p unix:0:system_misc:boot_time | awk '{print $2}')
|
||||
now=$(date +%s)
|
||||
|
||||
s=$((now - boot))
|
||||
;;
|
||||
|
||||
AIX|IRIX)
|
||||
@@ -1783,7 +1799,7 @@ get_packages() {
|
||||
}
|
||||
|
||||
case $os in
|
||||
Linux|BSD|"iPhone OS"|Solaris)
|
||||
Linux|BSD|"iPhone OS"|Solaris|illumos)
|
||||
# Package Manager Programs.
|
||||
has kiss && tot kiss l
|
||||
has cpt-list && tot cpt-list
|
||||
@@ -1807,6 +1823,7 @@ get_packages() {
|
||||
has pacstall && tot pacstall -L
|
||||
has bulge && tot bulge list
|
||||
has pm && tot pm list packages
|
||||
has squirrel && tot cat /var/squirrel/repos/local/INDEX
|
||||
|
||||
# Using the dnf package cache is much faster than rpm.
|
||||
if has dnf && type -p sqlite3 >/dev/null && [[ -f /var/cache/dnf/packages.db ]]; then
|
||||
@@ -1875,6 +1892,10 @@ get_packages() {
|
||||
((packages == 0)) &&
|
||||
has pkg && tot pkg list
|
||||
;;
|
||||
|
||||
illumos-*)
|
||||
has pkg && tot pkg list
|
||||
;;
|
||||
esac
|
||||
|
||||
# List these last as they accompany regular package managers.
|
||||
@@ -2495,31 +2516,65 @@ get_cpu() {
|
||||
[[ -z "$cpu" ]] && cpu="$(awk -F':' '/family/ {printf $2; exit}' "$cpu_file")"
|
||||
;;
|
||||
|
||||
"loongarch64")
|
||||
cpu="$(awk -F':' '/Model/ {print $2; exit}' "$cpu_file")"
|
||||
;;
|
||||
|
||||
"arm"* | "aarch64")
|
||||
if [[ $(trim "$ascii_distro") == Android* ]]; then
|
||||
# Android roms have modified cpuinfo that shows CPU model as a string
|
||||
cpu="$(awk -F '\\s*: | @' \
|
||||
'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
||||
cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
|
||||
if [[ $(trim "$distro") == Android* ]]; then
|
||||
# Android roms have modified cpuinfo that shows CPU model as a string
|
||||
cpu="$(awk -F':' '/Hardware/ {print $2; exit}' "$cpu_file")"
|
||||
else
|
||||
# ARM linux displays binary model code in cpuinfo, which needs to be decoded with lscpu
|
||||
cpu="$(lscpu | awk -F': ' '/Vendor ID/ {print $2; exit}') $(lscpu | awk -F': ' '/Model name/ {print $2; exit}')"
|
||||
fi
|
||||
;;
|
||||
# ARM linux displays binary model code in cpuinfo, which needs to be decoded with lscpu
|
||||
if ! [[ -x "$(command -v python)" ]]; then
|
||||
cpu="$(lscpu | awk -F': ' '/Vendor ID/ {print $2; exit}' ) $(lscpu | awk -F': ' '/Model name/ {print $2; exit}')"
|
||||
else
|
||||
# Sometimes there are multiple CPU models (e.g. RK3399 has 4 A53 and 2 A72 cores)
|
||||
# However, I don't know how to implement this in awk, so I'll use python for now
|
||||
read -r -d '' py_script << END
|
||||
from subprocess import check_output
|
||||
|
||||
"riscv"*)
|
||||
# This will fail to detect cpu on qemu
|
||||
cpu="$(awk -F': ' '/uarch/ {print $2; exit}' "$cpu_file")"
|
||||
|
||||
def find(lines, label):
|
||||
for ln in lines:
|
||||
if ln.strip().startswith(label):
|
||||
return ln.split(label)[-1].strip()
|
||||
|
||||
return None
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
lscpu = check_output('lscpu').decode()
|
||||
|
||||
vendor_id = find(lscpu.split('\n'), 'Vendor ID:') or None
|
||||
|
||||
cpus = []
|
||||
|
||||
for model_desc in lscpu.split('Model name:'):
|
||||
lines = model_desc.split('\n')
|
||||
model = lines[0].strip()
|
||||
cores = int(find(lines, 'Core(s) per socket:') or "-1")
|
||||
cores *= int(find(lines, 'Socket(s):') or "1")
|
||||
if cores == -1:
|
||||
continue
|
||||
|
||||
mhz = float(find(lines, 'CPU max MHz:') or find(lines, 'CPU min MHz:') or "0")
|
||||
speed = f'@ {mhz / 1000:.2f} GHz' if mhz > 0 else ''
|
||||
|
||||
cpus.append(f'{vendor_id} {model} ({cores}) {speed}')
|
||||
|
||||
print('\n'.join(cpus))
|
||||
END
|
||||
tmp_cpus=$(python -c "$py_script")
|
||||
while IFS= read -r line; do
|
||||
prin "${subtitle:+${subtitle}}" "$line"
|
||||
done <<< "$tmp_cpus"
|
||||
|
||||
return
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If cpu is not detected on a platform-specific bases, fallback to cpuinfo method
|
||||
[[ -z "$cpu" ]] && cpu="$(awk -F '\\s*: | @' \
|
||||
'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
||||
'/model name|Model|uarch|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
||||
cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
|
||||
|
||||
speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
|
||||
@@ -2694,7 +2749,7 @@ get_cpu() {
|
||||
esac
|
||||
;;
|
||||
|
||||
"Solaris")
|
||||
"Solaris" | "illumos")
|
||||
# Get CPU name.
|
||||
cpu="$(psrinfo -pv)"
|
||||
cpu="${cpu//*$'\n'}"
|
||||
@@ -3126,10 +3181,10 @@ get_memory() {
|
||||
esac
|
||||
;;
|
||||
|
||||
"Solaris" | "AIX")
|
||||
"Solaris" | "illumos" | "AIX")
|
||||
hw_pagesize="$(pagesize)"
|
||||
case $os in
|
||||
"Solaris")
|
||||
"Solaris" | "illumos")
|
||||
pages_total="$(kstat -p unix:0:system_pages:pagestotal | awk '{print $2}')"
|
||||
pages_free="$(kstat -p unix:0:system_pages:pagesfree | awk '{print $2}')"
|
||||
;;
|
||||
@@ -3175,8 +3230,8 @@ get_memory() {
|
||||
|
||||
case $memory_unit in
|
||||
gib)
|
||||
mem_used=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_used 1024")
|
||||
mem_total=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_total 1024")
|
||||
mem_used=$(awk '{printf "%.1f", $1 / $2}' <<< "$mem_used 1024")
|
||||
mem_total=$(awk '{printf "%.1f", $1 / $2}' <<< "$mem_total 1024")
|
||||
mem_label=GiB
|
||||
;;
|
||||
|
||||
@@ -3187,7 +3242,7 @@ get_memory() {
|
||||
;;
|
||||
esac
|
||||
|
||||
memory="${mem_used}${mem_label:-MiB} / ${mem_total}${mem_label:-MiB} ${mem_perc:+(${mem_perc}%)}"
|
||||
memory="${mem_used} ${mem_label:-MiB} / ${mem_total} ${mem_label:-MiB} ${mem_perc:+(${mem_perc}%)}"
|
||||
|
||||
# Bars.
|
||||
case $memory_display in
|
||||
@@ -3233,9 +3288,7 @@ get_network() {
|
||||
fi
|
||||
fi
|
||||
done < <(sort -rn <<<"$networks" | uniq -c)
|
||||
if [ -z "$network" ]; then
|
||||
network="None"
|
||||
else
|
||||
if [ -n "$network" ]; then
|
||||
network="${network%; }"
|
||||
fi
|
||||
}
|
||||
@@ -3283,6 +3336,7 @@ get_song() {
|
||||
"strawberry"
|
||||
"tauonmb"
|
||||
"tomahawk"
|
||||
"tidal-hifi"
|
||||
"vlc"
|
||||
"xmms2d"
|
||||
"xnoise"
|
||||
@@ -3335,6 +3389,7 @@ get_song() {
|
||||
"gogglesmm"*) get_song_dbus "gogglesmm" ;;
|
||||
"xnoise"*) get_song_dbus "xnoise" ;;
|
||||
"tauonmb"*) get_song_dbus "tauon" ;;
|
||||
"tidal-hifi"*) get_song_dbus "tidal-hifi" ;;
|
||||
"olivia"*) get_song_dbus "olivia" ;;
|
||||
"exaile"*) get_song_dbus "exaile" ;;
|
||||
"netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;;
|
||||
@@ -4469,7 +4524,7 @@ get_battery() {
|
||||
|
||||
get_local_ip() {
|
||||
case $os in
|
||||
"Linux" | "BSD" | "Solaris" | "AIX" | "IRIX")
|
||||
"Linux" | "BSD" | "Solaris" | "illumos" | "AIX" | "IRIX")
|
||||
if [[ "${local_ip_interface[0]}" == "auto" ]]; then
|
||||
local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')"
|
||||
local_ip="${local_ip/uid*}"
|
||||
@@ -4601,8 +4656,8 @@ get_cols() {
|
||||
printf -v block_spaces "%${block_height}s"
|
||||
|
||||
# Convert the spaces into rows of blocks.
|
||||
[[ "$blocks" ]] && cols+="${block_spaces// /${blocks}[mnl}"
|
||||
[[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}[mnl}"
|
||||
[[ "$blocks" ]] && cols+="${block_spaces// /${blocks}\[mnl}"
|
||||
[[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}\[mnl}"
|
||||
|
||||
# Determine the horizontal offset of the blocks.
|
||||
case $col_offset in
|
||||
@@ -5821,44 +5876,45 @@ ASCII:
|
||||
|
||||
NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy,
|
||||
Android, Antergos, antiX, AOSC OS, AOSC OS/Retro, Aperio GNU/Linux,
|
||||
Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchMerge, ArchStrike,
|
||||
ArcoLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux,
|
||||
Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi,
|
||||
bonsai, BSD, BunsenLabs, Cachy OS, Calculate, CalinixOS, Carbs, CBL-
|
||||
Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau,
|
||||
ChonkySealOS, Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover,
|
||||
Condres, Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber,
|
||||
Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchStrike, ArcoLinux,
|
||||
Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux, Bitrig,
|
||||
BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai,
|
||||
BSD, BunsenLabs, Cachy OS, Calculate, CalinixOS, Carbs, CBL-Mariner,
|
||||
CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS,
|
||||
Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Condres,
|
||||
Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber,
|
||||
CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS,
|
||||
Devuan, DracOS, DragonFly, Drauger, Elementary, Elive, EncryptOS,
|
||||
EndeavourOS, Endless, EuroLinux, Exherbo, Exodia Predator OS,
|
||||
Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware, Funtoo,
|
||||
GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU,
|
||||
GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HarDClanZ, Hash,
|
||||
Huayra, HydroOS, 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,
|
||||
Neptune, NetBSD, Netrunner, Nitrux, NixOS, NomadBSD, Nurunner,
|
||||
NuTyX, Obarun, OBRevenge, Open Source Media Center, OpenBSD,
|
||||
openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage,
|
||||
openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense,
|
||||
Oracle, orchid, OS Elbrus, PacBSD, Parabola, parch, Pardus, Parrot,
|
||||
Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Pisi,
|
||||
PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX,
|
||||
Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix,
|
||||
Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted
|
||||
Devuan, Regata, Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish,
|
||||
SalentOS, Scientific, semc, Septor, Serene, SharkLinux, ShastraOS,
|
||||
Siduction, SkiffOS, Slackware, SliTaz, SmartOS, Soda, Solus, Source
|
||||
Mage, Sparky, Star, SteamOS, Sulin, SunOS, SwagArch, t2, Tails,
|
||||
TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie,
|
||||
Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu
|
||||
Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux,
|
||||
Univalent, Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii-
|
||||
linux-ngx, Windows, Windows 10, Windows 11, XFerience, Xubuntu,
|
||||
yiffOS, Zorin have ascii logos.
|
||||
Devuan, DietPi, DracOS, DragonFly, Drauger, Droidian, Elementary,
|
||||
Elive, EncryptOS, EndeavourOS, Endless, EuroLinux, Exherbo, Exodia
|
||||
Predator OS, Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware,
|
||||
Funtoo, GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense,
|
||||
GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HamoniKR,
|
||||
HarDClanZ, Hash, Huayra, HydroOS, 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, Neptune, NetBSD, Netrunner, Nitrux, NixOS, 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, PacBSD, Parabola, parch,
|
||||
Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo,
|
||||
Peppermint, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS,
|
||||
Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes,
|
||||
Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star,
|
||||
Redcore, Redhat, Refracted Devuan, Regata, Regolith, rocky, Rosa,
|
||||
Sabayon, sabotage, Sailfish, SalentOS, Scientific, semc, Septor,
|
||||
Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware,
|
||||
SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS,
|
||||
Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore,
|
||||
Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu
|
||||
Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch,
|
||||
Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux, Univalent,
|
||||
Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii-linux-ngx,
|
||||
Windows, Windows 10, Windows 11, XFerience, Xubuntu, yiffOS, Zorin
|
||||
have ascii logos.
|
||||
|
||||
NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu
|
||||
have 'old' logo variants, use {distro}_old to use them.
|
||||
@@ -6956,6 +7012,34 @@ ${c1} ``--:::::::-.`
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Stock Linux"*)
|
||||
set_colors 4 7
|
||||
read -rd '' ascii_data << 'EOF'
|
||||
${c1}
|
||||
|
||||
#G5J5G#
|
||||
&BPYJJJJJJJYPB&
|
||||
&#G5JJJJJJY5YJJJJJJ5G#&
|
||||
#G5YJJJJJY5G#& &#G5YJJJJJY5G#
|
||||
BPYJJJJJJJ5B& &BPYJJJJJJYPB
|
||||
JJJJJJJJJJY5G#& &BPYJJJJJ
|
||||
JJJJJJJJJJJJJJY5G# &JJJJJ
|
||||
PYJJJJJJJJJJJJJJJJYPB& GYJJJ
|
||||
&BPYJJJJJJJJJJJJJJJJ5PB& &BP
|
||||
#G5YJJJJJJJJJJJJJJJY5G#
|
||||
PB& &BP5JJJJJJJJJJJJJJJJYPB&
|
||||
JJJYG &BPYJJJJJJJJJJJJJJJJYP
|
||||
JJJJJ& #G5YJJJJJJJJJJJJJJ
|
||||
JJJJJYPB& &#G5YJJJJJJJJJJ
|
||||
BPYJJJJJJYPB& &B5JJJJJJJYPB
|
||||
#G5YJJJJJY5G#& &#G5YJJJJJY5G#
|
||||
&#G5JJJJJJY5YJJJJJJ5G#&
|
||||
&BPYJJJJJJJYPB&
|
||||
#G5J5G#
|
||||
|
||||
EOF
|
||||
;;
|
||||
|
||||
"ArchMerge"*)
|
||||
set_colors 6 6 7 1
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -8133,6 +8217,27 @@ ${c2} `Y$$
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Droidian"*)
|
||||
set_colors 2 10
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c2} _,met$$$$$gg.
|
||||
,g$$$$$$$$$$$$$$$$P.
|
||||
,$$P' `$$$.
|
||||
',$$P ,ggs. `$$b:
|
||||
`d$$' ,$P"' ${c1}.${c2} $$$
|
||||
$$P d$' ${c1},${c2} $$P
|
||||
$$: $$. ${c1}-${c2} ,d$$'
|
||||
$$; Y$b._ _,d$P'
|
||||
Y$$. ${c1}`.${c2}`"Y$$$$P"'
|
||||
${c2} `$$b ${c1}"-.__
|
||||
${c2} `Y$$
|
||||
`Y$$.
|
||||
`$$b.
|
||||
`Y$$b.
|
||||
`"Y$b._
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Deepin"*)
|
||||
set_colors 2 7
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -8200,6 +8305,31 @@ ${c1} ..,,;;;::;,..
|
||||
EOF
|
||||
;;
|
||||
|
||||
"DietPi"*)
|
||||
set_colors 2 0
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1} :=+******+- -+******+=:
|
||||
=#-::-::::-=#:-#=-::::-::-#=
|
||||
:%-::--==-::-%%-::-==--::-%:
|
||||
+#-:::::=+++${c2}@@${c1}+++=-::::-#=
|
||||
:#+-::::=%${c2}@@@@@${c1}=::::-+#:
|
||||
=@%##%${c2}@@@@@@@@${c1}%##%@=
|
||||
${c2} .#@@@@@@@@@@@@@@@@@@@@#.
|
||||
%@@@@@@@@@@@@@@@@@@@@@@%
|
||||
-@@@@@@@@@@@@@@@@@@@@@@@@:
|
||||
.#@@@@@@@@@@%%%%%@@@@@@@@@@@#.
|
||||
#@@@${c1}+-=*#%${c2}%%%%%%%%%${c1}%%#+--#${c2}@@@#
|
||||
%@@%${c1}*. .:${c2}=*%%%%*${c1}=: .#${c2}@@@%
|
||||
:%@@@${c1}#+=-:${c2}:-*%%%%+::${c1}:-=+%${c2}@@@%:
|
||||
:@@@@%@%%%%@${c1}#${c2}#${c1}#${c2}%@%%%%@%@@@@.
|
||||
+@@@@@@@@@${c1}%${c2}=*+${c1}%${c2}@%@@@@@@@@+
|
||||
#@@@@@@@@@@@@@@@@@@@@@@#
|
||||
-#@@@@@@@@@@@@@@@@@@#-
|
||||
-*%@@@@@@@@@@%*-
|
||||
.+%@@@@%+.
|
||||
EOF
|
||||
;;
|
||||
|
||||
"DracOS"*)
|
||||
set_colors 1 7 3
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -9060,6 +9190,37 @@ ${c3} MMMM${c4} .cOMMMMM|/MMMMM/`
|
||||
EOF
|
||||
;;
|
||||
|
||||
"HamoniKR"*)
|
||||
set_colors 4 7 99 1 3 7
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1}
|
||||
cO0Ox.
|
||||
.ldddddddo.
|
||||
.lddddddddddo
|
||||
'lddddddddddddc
|
||||
,oddddddddddddd;
|
||||
'ldddddddddddddo.
|
||||
.oddddddddddddddc.
|
||||
,dddddddddddddddo.
|
||||
,ccoooooooocoddooo:
|
||||
,cooooooooooooooooop ${c3} c000x.
|
||||
${c1}.cooooooooooooooopcllll${c3} .cddddddo.
|
||||
${c1}coooooooooooooop' .qlll.${c3} .ddoooooooo;
|
||||
${c1}cooooooooooc; ${c3}'qlllp. .ddoooooooooo;
|
||||
${c1}.cooooooc; ${c3}'lllbc...coooooooooooo;
|
||||
${c1} .cooc' ${c3}.llllcoooooooooooooo.
|
||||
.coooooooooooooop:
|
||||
.coooooooooooooop'
|
||||
.cooooooooooooop.
|
||||
.cooooooooooooop.
|
||||
.coooooooooooop.
|
||||
.cooooooooooop.
|
||||
.cooooooooop.
|
||||
.cooooop'
|
||||
|
||||
EOF
|
||||
;;
|
||||
|
||||
"Huayra"*)
|
||||
set_colors 4 7
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
@@ -10430,6 +10591,22 @@ Q@@@@@ggg@@f@ @@@@@@L
|
||||
EOF
|
||||
;;
|
||||
|
||||
"OmniOS"*)
|
||||
set_colors 15 3 8
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
${c1}
|
||||
____ __ __ _ _ _
|
||||
/ __ \ | \/ || \ | || |
|
||||
| | | || || \| || |
|
||||
| |__| || |\/| || , `${c2}_${c1}||${c2}_${c1}| ${c2}____${c1}
|
||||
\____/ |_| |_||_|\${c2}/ __ \ / ___|
|
||||
| | | ||(__
|
||||
${c3}community${c2} | |__| | ___)|
|
||||
${c3}edition${c2} \____/ |____/
|
||||
|
||||
EOF
|
||||
;;
|
||||
|
||||
"openbsd_small")
|
||||
set_colors 3 7 6 1 8
|
||||
read -rd '' ascii_data <<'EOF'
|
||||
|
||||
+40
-37
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
|
||||
.TH NEOFETCH "1" "September 2022" "Neofetch 7.3.1" "User Commands"
|
||||
.TH NEOFETCH "1" "October 2022" "Neofetch 7.3.2" "User Commands"
|
||||
.SH NAME
|
||||
Neofetch \- manual page for Neofetch 7.3.1
|
||||
Neofetch \- manual page for Neofetch 7.3.2
|
||||
.SH SYNOPSIS
|
||||
.B neofetch
|
||||
\fI\,func_name --option "value" --option "value"\/\fR
|
||||
@@ -303,42 +303,45 @@ Which Distro's ascii art to print
|
||||
.TP
|
||||
NOTE: AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy,
|
||||
Android, Antergos, antiX, AOSC OS, AOSC OS/Retro, Aperio GNU/Linux,
|
||||
Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchMerge, ArchStrike,
|
||||
ArcoLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux,
|
||||
Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi,
|
||||
bonsai, BSD, BunsenLabs, Cachy OS, Calculate, CalinixOS, Carbs, CBLMariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau,
|
||||
ChonkySealOS, Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover,
|
||||
Condres, Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber,
|
||||
Apricity, Arch, ArchBox, Archcraft, ARCHlabs, ArchStrike, ArcoLinux,
|
||||
Artix, Arya, Asahi, AsteroidOS, astOS, Bedrock, BigLinux, Bitrig,
|
||||
BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai,
|
||||
BSD, BunsenLabs, Cachy OS, Calculate, CalinixOS, Carbs, CBL\-Mariner,
|
||||
CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS,
|
||||
Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Condres,
|
||||
Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber,
|
||||
CutefishOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS,
|
||||
Devuan, DracOS, DragonFly, Drauger, Elementary, Elive, EncryptOS,
|
||||
EndeavourOS, Endless, EuroLinux, Exherbo, Exodia Predator OS,
|
||||
Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware, Funtoo,
|
||||
GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU,
|
||||
GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HarDClanZ, Hash,
|
||||
Huayra, HydroOS, 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,
|
||||
Neptune, NetBSD, Netrunner, Nitrux, NixOS, NomadBSD, Nurunner,
|
||||
NuTyX, Obarun, OBRevenge, Open Source Media Center, OpenBSD,
|
||||
openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage,
|
||||
openSUSE, openSUSE Leap, openSUSE Tumbleweed, OpenWrt, OPNsense,
|
||||
Oracle, orchid, OS Elbrus, PacBSD, Parabola, parch, Pardus, Parrot,
|
||||
Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Pisi,
|
||||
PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX,
|
||||
Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix,
|
||||
Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted
|
||||
Devuan, Regata, Regolith, rocky, Rosa, Sabayon, sabotage, Sailfish,
|
||||
SalentOS, Scientific, semc, Septor, Serene, SharkLinux, ShastraOS,
|
||||
Siduction, SkiffOS, Slackware, SliTaz, SmartOS, Soda, Solus, Source
|
||||
Mage, Sparky, Star, SteamOS, Sulin, SunOS, SwagArch, t2, Tails,
|
||||
TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie,
|
||||
Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu
|
||||
Sway, Ubuntu Touch, Ubuntu\-GNOME, ubuntu_old02, Ultramarine Linux,
|
||||
Univalent, Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wiilinux\-ngx, Windows, Windows 10, Windows 11, XFerience, Xubuntu,
|
||||
yiffOS, Zorin have ascii logos.
|
||||
Devuan, DietPi, DracOS, DragonFly, Drauger, Droidian, Elementary,
|
||||
Elive, EncryptOS, EndeavourOS, Endless, EuroLinux, Exherbo, Exodia
|
||||
Predator OS, Fedora, Feren, Finnix, FreeBSD, FreeMiNT, Frugalware,
|
||||
Funtoo, GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense,
|
||||
GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HamoniKR,
|
||||
HarDClanZ, Hash, Huayra, HydroOS, 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, Neptune, NetBSD, Netrunner, Nitrux, NixOS, 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, PacBSD, Parabola, parch,
|
||||
Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo,
|
||||
Peppermint, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS,
|
||||
Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes,
|
||||
Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star,
|
||||
Redcore, Redhat, Refracted Devuan, Regata, Regolith, rocky, Rosa,
|
||||
Sabayon, sabotage, Sailfish, SalentOS, Scientific, semc, Septor,
|
||||
Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackware,
|
||||
SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS,
|
||||
Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore,
|
||||
Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu
|
||||
Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch,
|
||||
Ubuntu\-GNOME, ubuntu_old02, Ultramarine Linux, Univalent,
|
||||
Univention, Uos, uwuntu, Venom, VNux, Void, VzLinux, wii\-linux\-ngx,
|
||||
Windows, Windows 10, Windows 11, XFerience, Xubuntu, yiffOS, Zorin
|
||||
have ascii logos.
|
||||
.TP
|
||||
NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu
|
||||
have 'old' logo variants, use {distro}_old to use them.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "neowofetch",
|
||||
"version": "1.4.1",
|
||||
"version": "1.4.2",
|
||||
"description": "Updated neofetch",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
import time
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from urllib.request import urlretrieve
|
||||
|
||||
from hyfetch.color_util import printc, color
|
||||
from hyfetch.neofetch_util import term_size
|
||||
|
||||
|
||||
@dataclass
|
||||
class Theme:
|
||||
done_char: str
|
||||
todo_char: str
|
||||
prefix: str = ''
|
||||
suffix: str = ''
|
||||
done_len: int = 1
|
||||
todo_len: int = 1
|
||||
|
||||
|
||||
CLASSIC_THEME = Theme('█', '.', '[', ']')
|
||||
NEW_THEME = Theme('&a━', '&c━')
|
||||
EMOJI_THEME = Theme('✅', '🕑', done_len=2, todo_len=2)
|
||||
EGG_THEME = Theme('🐣', '🥚', done_len=2, todo_len=2)
|
||||
FLOWER_THEME = Theme('🌸', '🥀', done_len=2, todo_len=2)
|
||||
|
||||
|
||||
def print_progressbar(total: int, i: int, length: int | None = None, theme: Theme = EMOJI_THEME, unit=''):
|
||||
if not length:
|
||||
length = term_size()[0]
|
||||
i += 1
|
||||
|
||||
completed = f'{i * 100 / total:.0f}%'
|
||||
placeholder = 'PLACEHOLDER_BAR'
|
||||
template = f'{theme.prefix}{placeholder}{theme.suffix}&r {completed} {i}/{total}{unit}'
|
||||
|
||||
length -= len(template) - len(placeholder) + 2
|
||||
|
||||
progress = int(i / total * length)
|
||||
bar = f'{theme.done_char * (progress // theme.todo_len)}{theme.todo_char * ((length - progress) // theme.done_len)}'
|
||||
print(color(template.replace(placeholder, bar)), end='\r', flush=True)
|
||||
|
||||
|
||||
def download_pbar(url: str, path: Path):
|
||||
def hook(b: int, bsize: int, tsize: int):
|
||||
print_progressbar(tsize // 1024 // 1024, b * bsize // 1024 // 1024, unit=' MB')
|
||||
|
||||
if path.is_dir():
|
||||
filename = url.split('/')[-1]
|
||||
path = path / filename
|
||||
path.parent.mkdir(exist_ok=True, parents=True)
|
||||
|
||||
urlretrieve(url, filename=path, reporthook=hook)
|
||||
print()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# theme = {'emoji': EMOJI_THEME, 'flower': FLOWER_THEME, 'egg': EGG_THEME, 'classic': CLASSIC_THEME, 'new': NEW_THEME}
|
||||
#
|
||||
# for name, t in theme.items():
|
||||
# print(f'\n{name} theme:')
|
||||
# for i in range(100):
|
||||
# print_progressbar(100, i, theme=t)
|
||||
# time.sleep(0.015)
|
||||
# print()
|
||||
download_pbar('https://github.com/git-for-windows/git/releases/download/v2.37.2.windows.2/MinGit-2.37.2.2-busybox-64-bit.zip', Path('Downloads'))
|
||||
@@ -124,6 +124,7 @@ def create_release(v: str):
|
||||
# 4. Push
|
||||
print('Pushing commits...')
|
||||
subprocess.check_call(['git', 'push'])
|
||||
subprocess.check_call(['git', 'push', 'origin', v])
|
||||
|
||||
|
||||
def deploy():
|
||||
@@ -131,7 +132,7 @@ def deploy():
|
||||
Deploy release to pip and npm
|
||||
"""
|
||||
print('Deploying to pypi...')
|
||||
subprocess.check_call(['bash', './deploy.sh'])
|
||||
subprocess.check_call(['bash', 'tools/deploy.sh'])
|
||||
print('Done!')
|
||||
|
||||
print('Deploying to npm...')
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Pull request that I don't plan on merging, or already merged pull request that the script didn't
|
||||
# detect.
|
||||
IgnoreList:
|
||||
# [2193] Added DietPi os ASCII art
|
||||
2193: duplicate
|
||||
# [2154] Added Support for Uwuntu
|
||||
2154: merged
|
||||
# [2156] Update neofetch (for macOS 13)
|
||||
|
||||
Reference in New Issue
Block a user