hykilpikonna / hyfetch

🏳️‍🌈 🏳️‍⚧️ Neofetch with LGBTQ+ pride flags!
MIT License
1.15k stars 90 forks source link

New stable release? #300

Open OpenSauce04 opened 1 month ago

OpenSauce04 commented 1 month ago

It has been a long time since the last stable release, and a lot of changes have been made. I am wondering if there is a roadmap, or if updates are just pushed on a "whenever it feels right" basis?

hykilpikonna commented 1 month ago

I'm working on the 1.5.0 stable release that would include fastfetch binary and a minimal Git Bash for Windows binary in the pypi distribution package, that would separate the hyfetch coloring functionality from the *fetch backend and finally stabilize Windows support. And I'm planning to finally detach the fork after this release.

Most things are done, you can already install the 1.5.0a1 release on pypi, but there are still many things that I want to do before the 1.5.0 release:

  1. Currently, obtaining the distro name requires calling bash neofetch, which is not ideal if I want to completely separate the *fetch backend, and the logic of determining the distro needs to be rewritten in python.
  2. This is a major revision and I want to test installing this package on a system for every pypi platform tag to make sure that everything works (especially on different versions of Windows).

But you're right, it's been a long time since the last stable release, maybe I should release a stable release now if the pending tasks are taking too long...

BKasin commented 1 month ago

2. This is a major revision and I want to test installing this package on a system for every pypi platform tag to make sure that everything works (especially on different versions of Windows).

Feel free to poke me if you want to pass of the effort of testing installs on some systems to save time for yourself 👍

CarterLi commented 1 month ago

include fastfetch binary

I think it's good for out-of-box usage of hyfetch, but it makes users hard to upgrade fastfetch backend. Fastfetch uses a different release cycle and I want users have all latest fixes ASAP.

Maybe hyfetch can prefer the system fastfetch if found.

a minimal Git Bash for Windows binary

I don't think it's a good idea. People use git will install the Git Bash theirselves. According to https://github.com/git-for-windows/git/releases/, A minimal Git Bash (40MB zipped) is still much larger than the whole size of hyfetch + fastfetch. In addition, Neofetch on Windows is extremely slow, buggy and incomplete; making it runnable on Windows provides no benefits to hyfetch, but bad user experience.

The default shell on Windows is PowerShell. It's kind of slow but good enough for daily use. Nowadays Windows users have other options like nushell and xonsh. I personally use nushell on Windows because is more modern than CMD and faster than PowerShell. Forcing people use a foreign shell is not a good idea either.

Currently, obtaining the distro name requires calling bash neofetch, which is not ideal if I want to completely separate the *fetch backend, and the logic of determining the distro needs to be rewritten in python

Obtaining the linux distro name is somewhat complex. Obtaining the OS name (Linux, Windows, macOS, etc) should be easy. If a non-linux OS is detected, hyfetch should be able not to ask neofetch.

hykilpikonna commented 1 month ago

Feel free to poke me if you want to pass of the effort of testing installs on some systems to save time for yourself 👍

Thanks!! @BKasin

hykilpikonna commented 1 month ago

@CarterLi

Maybe hyfetch can prefer the system fastfetch if found.

Yes that is the current behavior

I don't think it's a good idea. People use git will install the Git Bash theirselves. According to git-for-windows/git/releases, A minimal Git Bash (40MB zipped) is still much larger than the whole size of hyfetch + fastfetch. In addition, Neofetch on Windows is extremely slow, buggy and incomplete; making it runnable on Windows provides no benefits to hyfetch, but bad user experience.

The "minimal git for windows distribution" is not MinGit, MinGit doesn't even include bash. It's a distribution that I manually optimized, and the entire hyfetch package including that is only 14 MB in size.

image

Obtaining the linux distro name is somewhat complex. Obtaining the OS name (Linux, Windows, macOS, etc) should be easy. If a non-linux OS is detected, hyfetch should be able not to ask neofetch.

Right, so you suggest still calling neofetch on Linux to obtain the distro?

CarterLi commented 1 month ago

The "minimal git for windows distribution" is not MinGit, MinGit doesn't even include bash. It's a distribution that I manually optimized, and the entire hyfetch package including that is only 14 MB in size.

I wonder what is included. If you use bash to run neofetch, the shell detected by neofetch will always be bash, no matter what shell people use.

Did you consider the license issue? bash is licensed in GPLv3, which, AFAIK, must not be redistributed in any form unless hyfetch is licensed in GPLv3 too. Correct me if I'm wrong.

CarterLi commented 1 month ago

Right, so you suggest still calling neofetch on Linux to obtain the distro?

Temporarily, for non-linux users.