Compare commits
148 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3f220b5270 | |||
| 900820ffee | |||
| 7559fc516a | |||
| e3c799ae9e | |||
| 664b7c2e30 | |||
| 2fb6f214eb | |||
| 086705ff07 | |||
| 783a006abf | |||
| b0b4ef9d80 | |||
| 6c665d9c6c | |||
| 078ff79c16 | |||
| e31d3df4c6 | |||
| 2a84f63fd5 | |||
| 39e5dd0471 | |||
| 503cc3ec98 | |||
| 3f4b5b2a1f | |||
| 1d9fac6f1f | |||
| c176e6ffae | |||
| eeead8d7c3 | |||
| 9cf4b6cdcb | |||
| 42ca4dd5bd | |||
| 1f55b8d2e8 | |||
| 002a10466f | |||
| 8278b92e12 | |||
| 2850674070 | |||
| bd0415884a | |||
| e07241349d | |||
| 93d7b8b881 | |||
| 3b781bc84f | |||
| a656531726 | |||
| a4b05891b9 | |||
| 4894c472e6 | |||
| 371e660a39 | |||
| e184c99055 | |||
| 5b307d53cc | |||
| 4daff3b04d | |||
| 9d48719fb9 | |||
| 26495b59cd | |||
| 78397b27a2 | |||
| 6357e8909f | |||
| 09ea0c3356 | |||
| d610559b01 | |||
| e1494bf07d | |||
| ea4b11a6a1 | |||
| 42973cc700 | |||
| 210c002c61 | |||
| e30df6c719 | |||
| 48884c419b | |||
| ca9edf4e3f | |||
| 64a997ed0a | |||
| 32631d9217 | |||
| 350cb26755 | |||
| 0c730cad1a | |||
| 22622767d8 | |||
| d201644dc5 | |||
| 9778ebf3cf | |||
| 769580314c | |||
| 8d9d8a487e | |||
| 283125f7c5 | |||
| e9fc94096e | |||
| 50420c8044 | |||
| 9ab2b511d7 | |||
| c4027dd91e | |||
| c3176656ef | |||
| 16024267d0 | |||
| 7a7955e58a | |||
| 2dac990718 | |||
| e7b92d9e57 | |||
| b7f1655472 | |||
| 47c32f07d7 | |||
| 97cbdecb5e | |||
| a351a7c731 | |||
| 4be8be3a61 | |||
| a60aa8ee41 | |||
| e12efe5535 | |||
| 2de5282b9c | |||
| a2b6df6d9e | |||
| 8cd70044a1 | |||
| d797a8c28a | |||
| 44b3eb7b56 | |||
| aac56be0c1 | |||
| 256759ce08 | |||
| 45d88a346c | |||
| 6e58b2b217 | |||
| c6c297a3b5 | |||
| f3b8a26d0e | |||
| b0b9c65d0c | |||
| 82bd8c1c4e | |||
| b53bd3a1c5 | |||
| 315037c32f | |||
| 3f7b6aa3e2 | |||
| c779230f0b | |||
| 6a393986ac | |||
| 4dc28cd65d | |||
| bd9a01e334 | |||
| 983b4bed75 | |||
| 201dc17c9d | |||
| c26bf9fb4a | |||
| b97f562780 | |||
| d561057cd8 | |||
| 7254d787cd | |||
| 7b3b51a5ce | |||
| 0d8ff614c9 | |||
| 2250f05cca | |||
| 9cdf849193 | |||
| 765b03643d | |||
| f04bca3045 | |||
| 0e0613588e | |||
| c392685004 | |||
| 34006a6f75 | |||
| 3aa5a6d99e | |||
| 31578af72b | |||
| f2fefb5379 | |||
| 6b43063ca1 | |||
| ef29fa6e57 | |||
| 15c2b33575 | |||
| ca0e3edcfa | |||
| 5a9ac6ee95 | |||
| 3ed56a46b3 | |||
| 6ff0b0a28b | |||
| 1e2ccf07a8 | |||
| 3e383f68f1 | |||
| 4f519e3aae | |||
| 116f038d86 | |||
| d1fac5df1d | |||
| f85fd46f63 | |||
| 4f49053c8f | |||
| 0f5a329522 | |||
| e68bb3dd2e | |||
| 1456af01ba | |||
| 4917191cdb | |||
| 5d9b77c9b0 | |||
| 0a4a58c1fb | |||
| 118be2c6e6 | |||
| a0221c51ff | |||
| ddd8dad7ef | |||
| e407d5bad1 | |||
| d2ea94a15d | |||
| 1b5dcdf7bc | |||
| cb32928102 | |||
| 86e266e5b7 | |||
| 10cf43e53a | |||
| 4141531b22 | |||
| 0e7799ff7e | |||
| 9281ae5ed1 | |||
| e64b4d29f9 | |||
| 00e0343150 | |||
| e5d28f28c6 |
@@ -0,0 +1,24 @@
|
||||
name: Shellcheck
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
# Shellcheck
|
||||
check:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install shellcheck
|
||||
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
||||
|
||||
- name: Run shellcheck
|
||||
run: |
|
||||
shellcheck -V
|
||||
shellcheck neofetch
|
||||
./neofetch
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
language: bash
|
||||
sudo: required
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install screenresolution; fi
|
||||
|
||||
script:
|
||||
- time ./neofetch --travis -v
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then shellcheck -e SC2244 -e SC2243 neofetch; fi
|
||||
# Check for lines longer than 100 chars.
|
||||
- if grep '.\{102\}' neofetch; then (exit 1); else (exit 0); fi
|
||||
@@ -60,6 +60,66 @@ Updates to `neowofetch` begins with the emoji 🖼️
|
||||
* [ ] Paginate flags
|
||||
* [ ] Implement light/dark background detection based on https://github.com/muesli/termenv
|
||||
|
||||
### Unpublished 1.4.0
|
||||
|
||||
* 🌈 Add finsexual flag (#12)
|
||||
* 🚀 Addressed a total of 128 currently open pull requests from neofetch
|
||||
|
||||
<details>
|
||||
<summary>🖼️ Meta Changes</summary>
|
||||
|
||||
* Meta - Fixed shellcheck warnings in `neowofetch`
|
||||
* Meta - Moved shellcheck from travis to GitHub Actions
|
||||
* Meta - Created a script to automatically generate distro list
|
||||
* Colors - Allow RGB colors in neofetch `--ascii_colors` argument ([dylanaraps#1726](https://github.com/dylanaraps/neofetch/pull/1726))
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🖼️ Distro/OS Support Changes</summary>
|
||||
|
||||
* Distro - Update Ubuntu logo ([dylanaraps#2125](https://github.com/dylanaraps/neofetch/pull/2125))
|
||||
* Distro - Add Exodia OS Predator ([dylanaraps#2174](https://github.com/dylanaraps/neofetch/pull/2174))
|
||||
* Distro - Add Parch ([dylanaraps#2045](https://github.com/dylanaraps/neofetch/pull/2045))
|
||||
* Distro - Add VzLinux ([dylanaraps#1971](https://github.com/dylanaraps/neofetch/pull/1971))
|
||||
* Distro - Add Twister OS ([dylanaraps#1890](https://github.com/dylanaraps/neofetch/pull/1890))
|
||||
* Distro - Add BlackPantherOS ([dylanaraps#1761](https://github.com/dylanaraps/neofetch/pull/1761))
|
||||
* Distro - Add TorizonCore ([dylanaraps#1744](https://github.com/dylanaraps/neofetch/pull/1744))
|
||||
* Distro - Add KrassOS ([dylanaraps#1631](https://github.com/dylanaraps/neofetch/pull/1631))
|
||||
* Distro - Add Synology DSM ([dylanaraps#1666](https://github.com/dylanaraps/neofetch/pull/1666))
|
||||
* Distro - Add MatuusOS ([dylanaraps#1902](https://github.com/dylanaraps/neofetch/pull/1902))
|
||||
* Distro - Add HarDClanZ Linux ([dylanaraps#1797](https://github.com/dylanaraps/neofetch/pull/1797))
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🖼️ Device Support Changes</summary>
|
||||
|
||||
* Host - Identify iMac, Mac mini, Mac Pro Models ([dylanaraps#1944](https://github.com/dylanaraps/neofetch/pull/1944))
|
||||
* Host - Identify FreeBSD host model ([dylanaraps#1588](https://github.com/dylanaraps/neofetch/pull/1588))
|
||||
* Font - Better font matching for st ([dylanaraps#1877](https://github.com/dylanaraps/neofetch/pull/1877))
|
||||
* Theme - Use XSETTINGS to get theme without a DE ([dylanaraps#1831](https://github.com/dylanaraps/neofetch/pull/1831))
|
||||
* Theme - Add QT theme detection ([dylanaraps#1713](https://github.com/dylanaraps/neofetch/pull/1713))
|
||||
* Theme - Add LeftWM theme detection ([dylanaraps#1963](https://github.com/dylanaraps/neofetch/pull/1963))
|
||||
* Cursor - Add cursor theme detection ([dylanaraps#1149](https://github.com/dylanaraps/neofetch/pull/1149))
|
||||
* Terminal - Improve NixOS terminal identification ([dylanaraps#1134](https://github.com/dylanaraps/neofetch/pull/1134))
|
||||
* Terminal - Use `/proc/.../cmdline` instead of `.../comm` ([dylanaraps#2034](https://github.com/dylanaraps/neofetch/pull/2034))
|
||||
* Packages - Improve scoop/choco package count ([dylanaraps#1642](https://github.com/dylanaraps/neofetch/pull/1642))
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🖼️ Bug Fixes</summary>
|
||||
|
||||
* Bug Fix - Fix prepended `=` for kitty ([dylanaraps#2116](https://github.com/dylanaraps/neofetch/pull/2116))
|
||||
* Bug Fix - Hide domain in hostname by default ([dylanaraps#2095](https://github.com/dylanaraps/neofetch/pull/2095))
|
||||
* Bug Fix - Respect TMPDIR if it exists ([dylanaraps#1891](https://github.com/dylanaraps/neofetch/pull/1891))
|
||||
* Bug Fix - Fix terminal size over slow connection ([dylanaraps#1895](https://github.com/dylanaraps/neofetch/pull/1895))
|
||||
* Bug Fix - Fix GPU detection for bumblebee dual-GPU ([dylanaraps#1131](https://github.com/dylanaraps/neofetch/pull/1131))
|
||||
* Bug Fix - Strip colors in ASCII length calculation ([dylanaraps#1543](https://github.com/dylanaraps/neofetch/pull/1543))
|
||||
|
||||
</details>
|
||||
|
||||
### 1.3.0
|
||||
|
||||
<details>
|
||||
|
||||
@@ -7,7 +7,7 @@ from pathlib import Path
|
||||
from typing_extensions import Literal
|
||||
|
||||
CONFIG_PATH = Path.home() / '.config/hyfetch.json'
|
||||
VERSION = '1.3.0'
|
||||
VERSION = '1.4.0'
|
||||
|
||||
# Obtain terminal size
|
||||
try:
|
||||
|
||||
@@ -178,7 +178,7 @@ def run_neofetch(preset: ColorProfile, alignment: ColorAlignment):
|
||||
if platform.system() != 'Windows':
|
||||
os.system(f'{get_command_path()} --ascii --source {path.absolute()} --ascii-colors')
|
||||
|
||||
if platform.system() == 'Windows':
|
||||
else:
|
||||
cmd = get_command_path().replace("\\", "/").replace("C:/", "/c/")
|
||||
path_str = str(path.absolute()).replace('\\', '/').replace('C:/', '/c/')
|
||||
|
||||
|
||||
@@ -525,4 +525,11 @@ PRESETS: dict[str, ColorProfile] = {
|
||||
'#FFFFFF',
|
||||
'#000000',
|
||||
]),
|
||||
"finsexual": ColorProfile([
|
||||
"#B18EDF",
|
||||
"#D7B1E2",
|
||||
"#F7CDE9",
|
||||
"#F39FCE",
|
||||
"#EA7BB3",
|
||||
]),
|
||||
}
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
import shlex
|
||||
from pathlib import Path
|
||||
from subprocess import check_output
|
||||
|
||||
from github import Github
|
||||
from github.PullRequest import PullRequest
|
||||
import ruamel.yaml as yaml
|
||||
|
||||
|
||||
def obtain_resolved():
|
||||
"""
|
||||
Obtain a list of resolved issues.
|
||||
"""
|
||||
prefix = 'dylanaraps/neofetch#'
|
||||
commits = check_output(shlex.split('git log --pretty=format:"%s"')).decode().strip().split('\n')
|
||||
commits = [(c, c.find(prefix)) for c in commits]
|
||||
commits = [(c, i+len(prefix)) for c, i in commits if i != -1]
|
||||
return sorted([int(c[i:c.find(' ', i)]) for c, i in commits])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Obtain a list of resolved issues
|
||||
resolved = set(obtain_resolved())
|
||||
|
||||
# Read the ignore-list
|
||||
with open(Path(__file__).parent / "pull_request_markings.yaml") as stream:
|
||||
ignore_list = yaml.safe_load(stream)['IgnoreList']
|
||||
|
||||
# Obtain a list of open issues
|
||||
g = Github(per_page=100)
|
||||
repo = g.get_repo('dylanaraps/neofetch')
|
||||
pager = repo.get_pulls(state='open')
|
||||
|
||||
# Filter only unresolved issues
|
||||
unresolved: list[PullRequest] = []
|
||||
for i in range(10000000):
|
||||
pulls: list[PullRequest] = pager.get_page(i)
|
||||
if len(pulls) == 0:
|
||||
break
|
||||
|
||||
unresolved += [p for p in pulls if p.number not in resolved and p.number not in ignore_list and not p.draft]
|
||||
if len(unresolved) > 50:
|
||||
break
|
||||
|
||||
unresolved.sort(key=lambda p: p.number)
|
||||
|
||||
# Print unresolved issues
|
||||
print('\n'.join(f'[{p.number}] {p.title} {p.html_url}' for p in unresolved))
|
||||
@@ -1,29 +0,0 @@
|
||||
# Pull request that I don't plan on merging, or already merged pull request that the script didn't
|
||||
# detect.
|
||||
IgnoreList:
|
||||
# [2154] Added Support for Uwuntu
|
||||
2154: merged
|
||||
# [2156] Update neofetch (for macOS 13)
|
||||
2156: duplicate
|
||||
# [2152] created much cleaner void ascii art
|
||||
2152: merged
|
||||
# [2150] Add macOS 13 to version name list
|
||||
2150: merged
|
||||
# [2104] Make DE Fluent on Windows 11
|
||||
2104: duplicate
|
||||
# [2092] Update neofetch
|
||||
2092: troll
|
||||
# [2081] added a q4os ascii
|
||||
2081: duplicate
|
||||
# [2057] add AmogOS (Duplicate of 1904)
|
||||
2057: duplicate
|
||||
# [2051] Typo in comment for col_offset
|
||||
2051: incorrect
|
||||
# [1936] Added PiluX logo.
|
||||
1936: deleted
|
||||
# [1927] improve/add model name for arm linux cpus
|
||||
1927: duplicate
|
||||
# [1850] neofetch: remove duplicate distro ASCII logo
|
||||
1850: duplicate
|
||||
# [1827] Improve manjaro logo
|
||||
1827: deleted
|
||||
File diff suppressed because it is too large
Load Diff
+63
-48
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3.
|
||||
.TH NEOFETCH "1" "April 2021" "Neofetch 7.1.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
|
||||
.TH NEOFETCH "1" "August 2022" "Neofetch 7.3.0" "User Commands"
|
||||
.SH NAME
|
||||
Neofetch \- A fast, highly customizable system info script
|
||||
Neofetch \- manual page for Neofetch 7.3.0
|
||||
.SH SYNOPSIS
|
||||
.B neofetch
|
||||
\fI\,func_name --option "value" --option "value"\/\fR
|
||||
@@ -44,7 +44,7 @@ NOTE: You can supply multiple args. eg. 'neofetch \fB\-\-disable\fR cpu gpu'
|
||||
Hide/Show Fully Qualified Domain Name in title.
|
||||
.TP
|
||||
\fB\-\-package_managers\fR on/off
|
||||
Hide/Show Package Manager names . (on, tiny, off)
|
||||
Hide/Show Package Manager names. (on, tiny, off)
|
||||
.TP
|
||||
\fB\-\-os_arch\fR on/off
|
||||
Hide/Show OS architecture.
|
||||
@@ -301,52 +301,55 @@ Colors to print the ascii art
|
||||
\fB\-\-ascii_distro\fR distro
|
||||
Which Distro's ascii art to print
|
||||
.TP
|
||||
NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS,
|
||||
Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft,
|
||||
ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch,
|
||||
Artix, Arya, Bedrock, BigLinux, Bitrig, BlackArch, BLAG, BlankOn, BlueLight,
|
||||
bonsai, BSD, BunsenLabs, "Cachy OS", Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
||||
Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
|
||||
Container_Linux, CRUX, Cucumber, dahlia, Debian, Deepin, DesaOS,
|
||||
Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary,
|
||||
EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, Finnix, FreeBSD,
|
||||
FreeMiNT, Frugalware, Funtoo, FusionX, GalliumOS, Garuda, Gentoo, Pentoo,
|
||||
Glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, Huayra,
|
||||
HydroOS, Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora,
|
||||
KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE,
|
||||
Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui,
|
||||
Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD,
|
||||
Netrunner, Nitrux, NixOS, NomadBSD, Nurunner, NuTyX, OBRevenge, OpenBSD,
|
||||
openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt,
|
||||
osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix,
|
||||
TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS,
|
||||
Proxmox, Puppy, PureOS, Qubes, Quibian, Radix, Raspbian, Reborn_OS,
|
||||
Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, Rosa,
|
||||
sabotage, Sabayon, Sailfish, SalentOS, ShastraOS, Scientific, Septor,
|
||||
SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, SmartOS,
|
||||
Solus, Soda, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap,
|
||||
t2, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
|
||||
Ubuntu\-Cinnamon, Ubuntu\-Budgie, Ubuntu\-GNOME, Ubuntu\-MATE,
|
||||
Ubuntu\-Studio, Ubuntu, Univention, Venom, Void, VNux, semc, Obarun,
|
||||
windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos.
|
||||
.IP
|
||||
NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants.
|
||||
.IP
|
||||
NOTE: Use '{distro name}_old' to use the old logos.
|
||||
.IP
|
||||
NOTE: Ubuntu has flavor variants.
|
||||
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, Bedrock, BigLinux,
|
||||
Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi,
|
||||
bonsai, BSD, BunsenLabs, Cachy OS, Calculate, CalinixOS, Carbs, CBLMariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, 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, 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, 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.
|
||||
.TP
|
||||
NOTE: Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu\-GNOME,
|
||||
Ubuntu\-Studio, Ubuntu\-Mate or Ubuntu\-Budgie to use the flavors.
|
||||
NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu
|
||||
have 'old' logo variants, use {distro}_old to use them.
|
||||
.TP
|
||||
NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
||||
CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
||||
Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
||||
Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
||||
Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||
postmarketOS, and Void have a smaller logo variant.
|
||||
.IP
|
||||
NOTE: Use '{distro name}_small' to use the small variants.
|
||||
NOTE: alpine, android, aoscosretro, arch, arcolinux, artix,
|
||||
CalinixOS, centos, cleanjaro, crux, debian, dragonfly, elementary,
|
||||
fedora, freebsd, gentoo, guix, haiku, hyperbola, linuxlite,
|
||||
linuxmint, mac, mageia, manjaro, mx, netbsd, nixos, openbsd,
|
||||
opensuse, orchid, parabola, popos, postmarketos, pureos, Raspbian,
|
||||
rocky, slackware, sunos, ubuntu, void have 'small' logo variants,
|
||||
use {distro}_small to use them.
|
||||
.TP
|
||||
\fB\-\-ascii_bold\fR on/off
|
||||
Whether or not to bold the ascii logo.
|
||||
@@ -429,3 +432,15 @@ Display a verbose log for error reporting.
|
||||
Generate a manpage for Neofetch in your PWD. (Requires GNU help2man)
|
||||
.SH "REPORTING BUGS"
|
||||
Report bugs to https://github.com/dylanaraps/neofetch/issues
|
||||
.SH "SEE ALSO"
|
||||
The full documentation for
|
||||
.B Neofetch
|
||||
is maintained as a Texinfo manual. If the
|
||||
.B info
|
||||
and
|
||||
.B Neofetch
|
||||
programs are properly installed at your site, the command
|
||||
.IP
|
||||
.B info Neofetch
|
||||
.PP
|
||||
should give you access to the complete manual.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "neowofetch",
|
||||
"version": "1.3.0",
|
||||
"version": "1.4.0",
|
||||
"description": "Updated neofetch",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
Regular → Executable
+65
-48
@@ -11,56 +11,9 @@ from github import Github
|
||||
upstream = 'dylanaraps/neofetch'
|
||||
my_fork = 'hykilpikonna/hyfetch'
|
||||
my_base = 'master'
|
||||
# gh_token = os.environ['GH_TOKEN']
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Helper for accepting upstream pull requests')
|
||||
parser.add_argument('pull', type=int, help='Pull request number')
|
||||
args = parser.parse_args()
|
||||
pr = args.pull
|
||||
|
||||
print(f'Accepting pull request {pr}...')
|
||||
|
||||
# Fetch original pr's information
|
||||
info = requests.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}').json()
|
||||
# print(info)
|
||||
head = info['head']['repo']['full_name']
|
||||
head_br = info['head']['ref']
|
||||
head_lbl = info['head']['label']
|
||||
user = info['user']['login']
|
||||
print()
|
||||
print('Original Pull Request Info:')
|
||||
print('> State:', info['state'])
|
||||
print('> Title:', info['title'])
|
||||
print('> User:', user)
|
||||
print('> Created:', info['created_at'])
|
||||
print('> Head:', head, head_br, head_lbl)
|
||||
|
||||
# Fetch commit information
|
||||
commits = requests.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}/commits').json()
|
||||
author = commits[0]['commit']['author']
|
||||
|
||||
# Fetch head branch
|
||||
print()
|
||||
print('Fetching head branch...')
|
||||
os.system(f'git fetch https://github.com/{head} {head_br}')
|
||||
|
||||
# Merge head branch
|
||||
print()
|
||||
print('Merging fetch_head...')
|
||||
title = info["title"].replace('"', '\\"')
|
||||
os.system(f'git merge FETCH_HEAD --no-ff --no-edit '
|
||||
f'-m "[PR] {upstream}#{pr} from {user} - {title}" '
|
||||
f'-m "Upstream PR: https://github.com/{upstream}/pull/{pr} \n'
|
||||
f'Thanks to @{user}\n\n'
|
||||
f'Co-authored-by: {author["name"]} <{author["email"]}>"')
|
||||
|
||||
# Push
|
||||
print()
|
||||
print('Pushing...')
|
||||
os.system('git push')
|
||||
|
||||
def copy_comment():
|
||||
# Get commit SHA
|
||||
sha = check_output(shlex.split('git rev-parse --short HEAD')).decode().strip()
|
||||
|
||||
@@ -78,3 +31,67 @@ Read the ["Running Updated Original Neofetch" section](https://github.com/hykilp
|
||||
print()
|
||||
print('Done!')
|
||||
print('Comment response copied to clipboard.')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Helper for accepting upstream pull requests')
|
||||
parser.add_argument('pull', type=int, help='Pull request number')
|
||||
args = parser.parse_args()
|
||||
pr = args.pull
|
||||
|
||||
print(f'Accepting pull request {pr}...')
|
||||
|
||||
# Fetch original pr's information
|
||||
info = requests.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}').json()
|
||||
user = info['user']['login']
|
||||
|
||||
# Fetch commit information
|
||||
commits = requests.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}/commits').json()
|
||||
author = commits[0]['commit']['author']
|
||||
|
||||
# Create commit message
|
||||
title = info["title"].replace('"', '\\"')
|
||||
msg = (f'-m "[PR] {upstream}#{pr} from {user} - {title}" '
|
||||
f'-m "Upstream PR: https://github.com/{upstream}/pull/{pr} \n'
|
||||
f'Thanks to @{user}\n\n'
|
||||
f'Co-authored-by: {author["name"]} <{author["email"]}>"')
|
||||
|
||||
# head could be null, if the pr repo is deleted
|
||||
if info['head'] is None or info['head']['repo'] is None:
|
||||
print(f'Original repo is deleted. Please manually merge.')
|
||||
input('Press any key to continue when the changes are made...')
|
||||
|
||||
# Commit with merge
|
||||
print()
|
||||
print('Committing merge...')
|
||||
os.system(f'git commit -a {msg}')
|
||||
|
||||
# Automatically merge
|
||||
else:
|
||||
head = info['head']['repo']['full_name']
|
||||
head_br = info['head']['ref']
|
||||
head_lbl = info['head']['label']
|
||||
print()
|
||||
print('Original Pull Request Info:')
|
||||
print('> State:', info['state'])
|
||||
print('> Title:', info['title'])
|
||||
print('> User:', user)
|
||||
print('> Created:', info['created_at'])
|
||||
print('> Head:', head, head_br, head_lbl)
|
||||
|
||||
# Fetch head branch
|
||||
print()
|
||||
print('Fetching head branch...')
|
||||
os.system(f'git fetch https://github.com/{head} {head_br}')
|
||||
|
||||
# Merge head branch
|
||||
print()
|
||||
print('Merging fetch_head...')
|
||||
os.system(f'git merge FETCH_HEAD --no-ff --no-edit {msg}')
|
||||
|
||||
# Push
|
||||
print()
|
||||
print('Pushing...')
|
||||
os.system('git push')
|
||||
|
||||
copy_comment()
|
||||
Regular → Executable
Executable
+111
@@ -0,0 +1,111 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
List distributions supported by neofetch
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import string
|
||||
import textwrap
|
||||
from dataclasses import dataclass
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import regex
|
||||
|
||||
RE_SPLIT = regex.compile('EOF[ \n]*?;;')
|
||||
RE_COLORS = regex.compile("""(?<=set_colors )[a-z\\d ]+(?=\n)""")
|
||||
|
||||
|
||||
@dataclass
|
||||
class AsciiArt:
|
||||
match: str
|
||||
color: str
|
||||
ascii: str
|
||||
|
||||
def get_friendly_name(self) -> str:
|
||||
return self.match.split("|")[0].strip(string.punctuation + '* ')\
|
||||
.replace('"', '').replace('*', '')
|
||||
|
||||
|
||||
def substr(s: str, start: str, end: str | None = None):
|
||||
"""
|
||||
Get substring between start and end
|
||||
"""
|
||||
start = s.index(start) + len(start)
|
||||
|
||||
if end is None:
|
||||
return s[start:]
|
||||
|
||||
return s[start:s.index(end, start)]
|
||||
|
||||
|
||||
def parse_ascii_distros() -> list[AsciiArt]:
|
||||
"""
|
||||
Parse ascii distros from neofetch script
|
||||
"""
|
||||
nf = (Path(__file__).parent.parent / 'neofetch').read_text()
|
||||
|
||||
# Get the content of "get_distro_ascii" function
|
||||
nf = nf[nf.index('get_distro_ascii() {\n'):]
|
||||
nf = nf[:nf.index('\n}\n')]
|
||||
|
||||
# Remove trailing spaces
|
||||
while ' \n' in nf:
|
||||
nf = nf.replace(' \n', '\n')
|
||||
|
||||
# Split by blocks
|
||||
blocks = [sub.strip() for b in regex.split('case .*? in\n', nf) for sub in RE_SPLIT.split(b)]
|
||||
|
||||
# Parse blocks
|
||||
def parse_block(block: str) -> AsciiArt:
|
||||
try:
|
||||
# Get ascii art
|
||||
assert "'EOF'\n" in block
|
||||
art = substr(block, "'EOF'\n")
|
||||
|
||||
# Join \
|
||||
block = block.replace('\\\n', ' ')
|
||||
|
||||
# Get switch-case matching parameter
|
||||
match = block.split('\n')[0].strip()
|
||||
assert match.endswith(')')
|
||||
match = match[:-1]
|
||||
|
||||
# Get colors
|
||||
color = RE_COLORS.findall(block)[0]
|
||||
if len(color) == 0:
|
||||
raise Exception(block)
|
||||
|
||||
return AsciiArt(match, color, art)
|
||||
|
||||
except AssertionError:
|
||||
pass
|
||||
|
||||
out = [parse_block(block) for block in blocks]
|
||||
return [v for v in out if v]
|
||||
|
||||
|
||||
def wrap(text: str, max_len: int, leading: str):
|
||||
length = max_len - len(leading)
|
||||
lines = [line for raw in text.split('\n') for line in textwrap.wrap(raw, length) or ['']]
|
||||
return '\n'.join(leading + line if line else line for line in lines)
|
||||
|
||||
|
||||
def generate_help(max_len: int, leading: str):
|
||||
distros = sorted(list({a.get_friendly_name() for a in parse_ascii_distros()}), key=str.casefold)
|
||||
|
||||
smalls = [d.replace('_small', '') for d in distros if d.endswith('_small')]
|
||||
olds = [d.replace('_old', '') for d in distros if d.endswith('_old')]
|
||||
distros = [d for d in distros if not d.endswith('_small') and not d.endswith('_old')]
|
||||
|
||||
out = f"NOTE: {', '.join(distros)} have ascii logos.\n\n"\
|
||||
f"NOTE: {', '.join(olds)} have 'old' logo variants, use {{distro}}_old to use them.\n\n" \
|
||||
f"NOTE: {', '.join(smalls)} have 'small' logo variants, use {{distro}}_small to use them."
|
||||
|
||||
return wrap(out, max_len, leading)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(generate_help(100, ' ' * 32))
|
||||
print(generate_help(100, '# '))
|
||||
Executable
+70
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python3
|
||||
import math
|
||||
import os
|
||||
import shlex
|
||||
from collections import Counter
|
||||
from pathlib import Path
|
||||
from subprocess import check_output
|
||||
|
||||
from github import Github
|
||||
from github.PullRequest import PullRequest
|
||||
import ruamel.yaml as yaml
|
||||
from hypy_utils.tqdm_utils import tq, pmap, tmap
|
||||
|
||||
|
||||
def obtain_resolved():
|
||||
"""
|
||||
Obtain a list of resolved issues.
|
||||
"""
|
||||
prefix = 'dylanaraps/neofetch#'
|
||||
commits = check_output(shlex.split('git log --pretty=format:"%s"')).decode().strip().split('\n')
|
||||
commits = [(c, c.find(prefix)) for c in commits]
|
||||
commits = [(c, i+len(prefix)) for c, i in commits if i != -1]
|
||||
return sorted([int(c[i:c.find(' ', i)]) for c, i in commits])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Obtain a list of resolved issues
|
||||
resolved = set(obtain_resolved())
|
||||
|
||||
# Read the ignore-list
|
||||
with open(Path(__file__).parent / "pull_request_markings.yaml") as stream:
|
||||
ignore_list: dict[int, str] = yaml.safe_load(stream)['IgnoreList']
|
||||
ignore_list.update({r: 'merged' for r in resolved})
|
||||
|
||||
# Obtain a list of open issues
|
||||
g = Github(per_page=100, login_or_token=os.environ.get('GH_TOKEN'))
|
||||
repo = g.get_repo('dylanaraps/neofetch')
|
||||
pager = repo.get_pulls(state='all')
|
||||
|
||||
# Filter only unresolved issues
|
||||
pages = list(range(math.ceil(pager.totalCount // 100) + 1))
|
||||
pulls: list[list[PullRequest]] = tmap(pager.get_page, pages, desc='Crawling pull requests...', unit='page')
|
||||
pulls: set[PullRequest] = {p for lst in pulls for p in lst}
|
||||
unresolved: set[PullRequest] = {p for p in pulls if p.number not in resolved and p.number not in ignore_list}
|
||||
|
||||
# Filter merged / closed
|
||||
draft = {p for p in unresolved if p.draft}
|
||||
unresolved -= draft
|
||||
merged = {p for p in unresolved if p.merged_at}
|
||||
unresolved -= merged
|
||||
closed = {p for p in unresolved if p.state == 'closed'}
|
||||
unresolved -= closed
|
||||
|
||||
ignore_counter = Counter(ignore_list.values())
|
||||
hyfetch_merged = ignore_counter.pop('merged')
|
||||
print(f'Pull Request Statistics:')
|
||||
print(f'> {hyfetch_merged} PRs merged by HyFetch')
|
||||
print('\n'.join(f'> {c} PRs closed as {v} by HyFetch' for v, c in sorted(ignore_counter.items(), key=lambda x: -x[1])))
|
||||
print()
|
||||
print(f'> {len(draft)} PR drafts')
|
||||
print(f'> {len(merged)} PRs merged by neofetch')
|
||||
print(f'> {len(closed)} PRs closed without merging')
|
||||
print()
|
||||
print(f'> {len(unresolved)} open PRs that needs to be addressed:')
|
||||
print()
|
||||
|
||||
opened = sorted(list(unresolved), key=lambda p: p.number)
|
||||
|
||||
# Print unresolved issues
|
||||
print('\n'.join(f'[{p.number}] {p.title} {p.html_url}' for p in opened))
|
||||
@@ -0,0 +1,59 @@
|
||||
# Pull request that I don't plan on merging, or already merged pull request that the script didn't
|
||||
# detect.
|
||||
IgnoreList:
|
||||
# [2154] Added Support for Uwuntu
|
||||
2154: merged
|
||||
# [2156] Update neofetch (for macOS 13)
|
||||
2156: duplicate
|
||||
# [2152] created much cleaner void ascii art
|
||||
2152: merged
|
||||
# [2150] Add macOS 13 to version name list
|
||||
2150: merged
|
||||
# [2113] Updated Ubuntu logo
|
||||
2113: duplicate
|
||||
# [2104] Make DE Fluent on Windows 11
|
||||
2104: duplicate
|
||||
# [2092] Update neofetch
|
||||
2092: troll
|
||||
# [2081] added a q4os ascii
|
||||
2081: duplicate
|
||||
# [2078] Fixed distro detection on CentOS 6
|
||||
2078: incorrect
|
||||
# [2057] add AmogOS (Duplicate of 1904)
|
||||
2057: duplicate
|
||||
# [2051] Typo in comment for col_offset
|
||||
2051: incorrect
|
||||
# [1996] set_text_color: fix color code for multi-digit ones
|
||||
1996: duplicate
|
||||
# [1940] Added code to display battery percentage and resolution in termux on android devices
|
||||
1940: bad
|
||||
# [1936] Added PiluX logo.
|
||||
1936: deleted
|
||||
# [1927] improve/add model name for arm linux cpus
|
||||
1927: duplicate
|
||||
# [1925] New OS added: CBL-Mariner
|
||||
1925: duplicate
|
||||
# [1922] Added BugTrack asciiart
|
||||
1922: bad
|
||||
# [1897] Change source_mage's colors.
|
||||
1897: deleted
|
||||
# [1889] Fix Windows 11 detection
|
||||
1889: duplicate
|
||||
# [1861] Added FriendlyOS
|
||||
1861: bad
|
||||
# [1857] Speed up `get_packages`
|
||||
1857: bad
|
||||
# [1852] Added Aravalli Logo
|
||||
1852: deleted
|
||||
# [1850] neofetch: remove duplicate distro ASCII logo
|
||||
1850: duplicate
|
||||
# [1830] Replace non-posix use of 'hostname' command with 'uname -n'
|
||||
1830: deleted
|
||||
# [1827] Improve manjaro logo
|
||||
1827: deleted
|
||||
# [1700] Added Xeonix by Xinux Uzbekistan support
|
||||
1700: deleted
|
||||
# [1585] Fix for Improvement idea for multiprocessor systems, current output is unclear
|
||||
1585: incorrect
|
||||
# [1031] Use nvidia-smi for NVIDIA GPUs
|
||||
1031: incorrect
|
||||
Regular → Executable
Reference in New Issue
Block a user