## Neofetch 2.0 This is the biggest release of Neofetch in a long time. 97 files were changed with 2700~ additions to 2900~ deletions. Although the changelog isn't as interesting this time majority of the script has been rewritten, restructered and cleaned up. Every function and variable name follows a proper naming scheme and a large number of bugs were fixed. The ascii file handling was rewritten, ascii art is now stored/read as plain text! All `eval` usage was removed from Neofetch, vim fold markers/comments are no longer enforced and we now run on GNU Hurd, Haiku and more. When I was rewriting parts of the script I thought to myself; Neofetch is using the bash shebang and does depend on bash so why not take full advantage of the features bash has to offer? All tests were changed from `[` to `[[`, arithmetic tests now use `(())` and C style for loops are used where possible. All of the config file documentation was rewritten and multiple wiki pages were created to hopefully make using/configuring neofetch easier than ever before. You can see the wiki here: [Neofetch Wiki](https://github.com/dylanaraps/neofetch/wiki) Some of the config options/arguments were renamed/changed and neofetch will warn you on run if you're using deprecated options (`neofetch -v`). For this release neofetch **will** include backwards compatibility with the old config file but I'd like to remove this stuff in 2.1. I recommend using this release with a fresh config file so that you can make use of the new documentation. Thanks to all of the contributors this time around, you guys are a big help and I really appreciate your work towards making Neofetch better and better each release. :) ## Contributors - **[@konimex](https://github.com/konimex)** - **[@TonCherAmi](https://github.com/TonCherAmi)** - **[@JorgeGonzalez](https://github.com/JorgeGonzalez)** - **[@iandrewt](https://github.com/iandrewt)** - **[@iwamatsu](https://github.com/iwamatsu)** ## Packages - Neofetch is now in Debian's official repos. - Neofetch is now in Ubuntu's official repos. ## General - All functions/variables now follow the same naming scheme. `example_func_name` - Call `uname` once and cache the output instead of calling `uname` 4-5 times. - Cleaned up and rewrote large chunks of the script. - Convert math tests to correct syntax. - Fixed `--disable` and capitalized arguments. - Fixed issue where `bold=off` wouldn't work. - Fixed issue where info wasn't detected properly but the subtitle was still displayed. - Fixed issue where using `--disable func func` broke other args. - Removed all traces of `eval` from neofetch. - Removed all vim fold markers and stopped enforcing folding for vim users. - See [#431](https://github.com/dylanaraps/neofetch/pull/431) - Rewrote all of config file documentation. - Swap all tests from `[` to `[[`. ## Operating System - Added support for ChaletOS. - Added support for DracOS. - Added support for GNU Hurd. **[@konimex](https://github.com/konimex)** - Added support for Haiku. **[@konimex](https://github.com/konimex)** - Added support for Korora. **[@konimex](https://github.com/konimex)** - Added support for Netrunner. **[@konimex](https://github.com/konimex)** - Added support for Pardus. - Added support for iPhone 7 and 7 Plus. ## Ascii - Ascii art is no longer read as a script and is now read as plain text. - See this wiki page about the new ascii art format. - https://github.com/dylanaraps/neofetch/wiki/Custom-Ascii-art-file-format - Neofetch now displays your OS's ascii logo if your distro's logo isn't found. **[@konimex](https://github.com/konimex)** - Example: [Linux] Tux is displayed if there's no distro ascii. - `neofetch --ascii_distro x` now sets the mode to ascii for you. You no longer have to use a combination of `--ascii` and `--ascii_distro`. - [Arch Linux] Changed default ascii colors. - [Bunsenlabs] Changed default ascii colors. - Fixed issue with Solarized and certain ascii art. - Remove all duplicates from `get_distro_colors()`. - Remove execution permission flag from ascii art files. **[@iwamatsu](https://github.com/iwamatsu)** - Rename `colors()` to `get_distro_colors()`. - Rename `setcolors()` to `set_colors()`. - Update Netrunner ascii art. ## Images - Fixed images not appearing in st. - Added `to_ascii()` and `to_off()`. - These functions are used when falling back to different image modes. - Renamed `check_old_flags()` to `old_flags()` to match `old_functions()`. - Split `get_image()` into `get_term_size()`, `get_image_size()`, `get_image_program()` and `make_thumbnail()`. - Use `$XDG_CACHE_HOME` as the thumbnail dir if available. ## Wallpaper - Added support for Cinnamon. ## Bars - Rename all `progress_` variables to `bar_` to match the function name. ## Info **Distro**
- [Linux] Source `/etc/*-release` files instead of having a dozen separate `awk` commands. - We source `/etc/os-release` before falling back to `/etc/*-release`. - Remove lsb_release detection. - This change was made since lsb_release prints innacurate results on some distros. - Added fallback when distro isn't found. **[@konimex](https://github.com/konimex)** - Example: `Linux (Unknown)` **Packages**
- [Solus] If `pisi` is unavailable, use `eopkg`. - Added package detection for Lunar Linux. **[@konimex](https://github.com/konimex)** - Added package detection for TinyCore. **[@konimex](https://github.com/konimex)** - Remove `/usr/games` from `$PATH` to fix issues with pacman game. **GPU**
- [Linux] Prefer dedicated GPU over integrated GPU. **Terminal**
- Added support for HyperTerm. **[@JorgeGonzalez](https://github.com/JorgeGonzalez)** **Terminal Font**
- Added support for HyperTerm. **[@JorgeGonzalez](https://github.com/JorgeGonzalez)** **CPU**
- [BSD] Added cpu_temp support. **[@konimex](https://github.com/konimex)** **CPU Usage**
- [iOS] Fixed CPU usage. **Shell**
- [bash] Simplify bash version. **Song**
- Added support for Clementine. **[@konimex](https://github.com/konimex)** - Added support for GNOME Music. **[@konimex](https://github.com/konimex)** - Added support for Lollypop. **[@konimex](https://github.com/konimex)** - Added support for Pragha. **[@konimex](https://github.com/konimex)** **Public IP**
- Cache the output of the command. **[@konimex](https://github.com/konimex)** - [dig] Fixed connection timed out with public_ip. **[@iandrewt](https://github.com/iandrewt)** **Resolution**
- [MacOS] If refresh rate is empty don't append Hz.