Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Releases: dylanaraps/neofetch

Neofetch 1.8

02 Oct 03:06
Compare
Choose a tag to compare

This version of neofetch is vastly different from the previous versions and this
changelog won't cover everything that's changed. Have a look through the commit
history for more info.

There were a lot of major changes to how things work in this release so I'm expecting
bugs/things not working for people. Depending on what comes up we my release a few 1.8.X
versions.

This changelog is a bit of a mess this time around and I apologize but it should at least
get the message across.

Android support didn't make it into this release as it requires testing on more devices.
If you've got a device running android and would like to help test out the branch, check
out the open PR here: #322

This release also saw a lot more contributors which makes me really happy. Thanks to those
below for helping out. :)

Contributors

General

  • Added --version to print the neofetch version.
  • Fix issue when title and background were both color 7.
  • Fix issue with incorrect text color when barinfo is set.
  • Fixed various Travis.ci bugs.
  • Fix lint errors.
  • Moved all whitespace trimming to a dedicated function.
    • Neofetch will no longer have any whitespace issues in the output.
    • See trim()
  • Quote all variable/command substitutions.
  • Removed line_wrap as having it set to on broke the output.
  • Removed stdout mode since it's been broken for a while now and I don't see the<br>
    point in fixing it.
  • Removed in-script config in favor of sourcing the default user config.
  • Remove all instances of ! -z since they're pointless.
  • Remove all bc usage by simplifying math.
  • Suppress getconfig and getscriptdir errors.
  • Suppress xprop errors since it's now an optional dependency.
  • The prompt is now dynamically set in image mode instead of being anchored to the<br >
    bottom of the window. See #279 and #299 for examples.
  • The title at the top is now much more colorful.
  • Moved commands near the bottom of the script to a new function called main.
  • Use read -s instead of stty -echo and stty +echo.
  • Use faster $(()) syntax for index variables.
  • -v now shows where the config files were sourced from.
  • Cleanup
  • Neofetch no longer clears the screen when run in ascii or image=off modes.
    • You can use the old behavior by aliasing clear && neofetch to neofetch.

OS

  • Added support for Windows 10 Linux subsystem. @konimex
  • Added support for GuixSD. @konimex
  • Added support for Devuan Linux.
  • Added support for GalliumOS.
  • Added support for Openwrt.
  • Added support for PacBSD. @vendion
  • Added support for Rosa.
  • Added support for Solaris (Oracle / OpenIndiana). @konimex
  • Added support for macOS Sierra. @iandrewt
  • Fixed various iOS related issues.

Packages

Info

Terminal and Terminal Font<br >

img

  • Added term function to display current terminal emulator. [1]
  • Added termfont function to display current terminal font. [2]

[1] Both of these functions are enabled by default.
[2] See this wiki page for more info about the functions: Link

Model<br >

  • Added model a new function which displays your device's product vendor/name.

Mode

Distro<br >

Title<br >

  • Added additional fallback which gets the current username from $HOME.

Color Blocks<br >

  • Added --block_height / $block_height to change the number of lines high each<br >
    block will be.

Big Blocks

Resolution<br >

  • [Windows] Fix resolution on Windows 10. @dar-irl
  • [Mac OS X] Hide refresh rate if 0. @iandrewt
  • Fixed xrandr output on systems not using gawk.
  • [Linux / BSD] Shortened refresh rate output.

Shell<br >

Song<br >

  • Added support for Deadbeef. @konimex
  • Added support for Amarok. @konimex
  • Added support for Banshee. @konimex
  • Added support for Rhythmbox. @konimex
  • [Cmus] Prevent tag artistsort from showing up in song title. @williamkray
  • [Cmus] Fix order of music tags. @iandrewt
  • [Cmus] The function now works on both OS X and Linux.
  • [iTunes] Fix song not displaying. @iandrewt

CPU<br >

  • Simplify CPU Core command.

CPU Usage<br >

  • Fixed broken CPU usage output on BSD and Windows.
  • Fixed misleading output on Linux / Mac OS X.
  • Moved CPU Usage to its own dedicated function.

Image

terminology

  • Added image support for terminology with tycat. @aranega [1]
  • Fixed issues with lines getting drawn through images. See #296
  • Added --crop_mode none / crop_mode=none to disable cropping the images.
  • Added --size none / size=none to disable resizing / cropping the images.
  • Removed image_position
  • --image off now behaves like the other image modes.

[1] tycat is a terminology builtin that works similarly to w3m-img. Those using terminology<br >
now have working image support.

Shuffle mode
  • Fixed directory going out of bounds causing a fallback to ascii mode. @gabe565
  • Simplified shuffle function.
  • Path no longer requires a / at the end. @aranega

Ascii

  • Add ascii_bold which allows you to bold the ascii art.
  • Added --ascii_distro mac as a shorter way of using the OS X ascii.
  • Added missing $ascii_distro config option.
  • Better Ubuntu-GNOME ascii art. @hashhar
  • Custom ascii files (--ascii path/to/ascii_file) now follow the same format as the<br>
    distro ascii files. See this wiki page that explains the syntax. Link
  • Fix a color issue with Debian's ascii logo.
  • Fix an error with an unescaped char in Windows' ascii art.
  • Use a pure bash solution to getting ascii size.
  • Updated Solus ascii art to match new logo. @undrskr

Neofetch 1.7

14 May 11:51
Compare
Choose a tag to compare

Hello, sorry this release took so long. I've been extremely busy with uni and
haven't had as much time to work on neofetch.

As always, check the Following HEAD wiki page for all breaking changes
this release.

I'm also looking for some new Readme screenshots, see this github issue: #245

Contributers

Thanks to the following people for contributing this release.

General

  • Made it easier to get verbose logs.
  • Added issue template for github.
  • New repo for Crux. @tudurom
  • Added release badge to readme. @dawidd6
  • Updated man page and usage with newest flags.
  • Font is now enabled by default to match Screenfetch's default config.
  • Fixed bold option not working.

OS / Distro Support

  • Added support for Kogaion Linux.
  • Added support for Apple iOS. @iandrewt
    • Neofetch should now work on your iPhone, iPod and iPad.
  • Added support for DragonflyBSD.
  • Added support for PCBSD.

iOS screenshot

Error Messages

Neofetch now supports displaying error messages and saving a verbose log for
troubleshooting.

log

  • Added -v to print error messages to stdout.
  • Added -vv to print a verbose log to stdout. [1]

[1] Use neofetch -vv 2> file to save a verbose log for bug reporting.

Info

  • Rewrote most BSD info functions, they're now much smaller and work on more
    BSD distros.

prin

  • Format changes to fix issues with colons in string. This change also makes
    prin use the same args as info.
# OLD Format
prin "Subtitle: Text goes here"

# NEW Format
prin "Subtitle" "Text goes here"

Title

  • Made title faster by using $HOSTNAME when available.

Underline

  • Fixed bug with --underline on/off not working.
  • Underlining is no longer hardcoded to title length meaning you can now
    underline any part of the output and the length will match.
  • $underline was renamed to $underline_enabled.
# OLD Variable
underline="on"

# NEW Variable
underline_enabled="on"

Distro

  • Fix arch issues with ARM cpus.
  • We now use uname -m to get the arch instead of hardcoding x86.
  • Moved distro detection to a function called getdistro.
  • Fixed issue with ascii_distro not working.

CPU

  • Fixed issues when cpu speed was < 1Ghz
  • Cleanup of CPU function.
  • Don't print Dual-Core or Quad-Core in CPU output.

GPU

  • [Linux] More GPU substitutions for AMD cards.
  • Added BSD support using glxinfo.

Memory

  • [Linux / Windows] Use memavail if available for a more accurate output.

Packages

  • Package count now works when the user has multiple package managers installed.
    For example, if the user has both dpkg and pacman installed the function will
    add up the packages from both package managers to get a grand total. (dpkg pkgs + pacman pkgs)

Uptime

  • Fixed various issues with OS X and BSD.

Desktop Environment

  • [ Linux ] Fallback to using xprop if $XDG_CURRENT_DESKTOP is empty.
  • Use $de instead of $XDG_CURRENT_DESKTOP for wallpaper and theme detection.
  • Fixed xprop bug with DE detection when X wasn't running.
  • Don't assume that user is using MATE if marco wm is detected.

Window Manager Theme

  • Fixed bug when $de was unset.

Color Blocks

  • Fixed bug when the blocks wrap a line causing a large white strip to appear.

Ascii

  • Added KDE neon ascii art.
  • Added small OpenBSD ascii art.
    • Credit goes to ufetch.
  • Reduced the size of NetBSD's ascii art.
  • [Windows 8/8.1] Use modern windows ascii art.

Colors

  • Fixed bug with --colors not working with all 256 terminal colors.
  • --colors 7 now uses the color white. [1]
  • --colors fg now uses the foreground color. [1]

[1] Neofetch tried to be smart before by assuming that the foreground color
would be white or black. This caused issues for those setting the foreground
color to red or etc. This change adds a new value for --colors and colors=()
called fg which will set the color to your foreground color.

Progress Bars

  • The default progress bar look was changed to [=====-----] instead of ━━━━━━━━━━
    fix issues with older systems.
  • You can now enable/disable a border around the progress bars with progress_border.
# $progress_border on
[=====-----]

# $progress_border off
=====-----
  • You can now individually set the progress bar characters by using
    progress_char_elapsed and progress_char_total. This means that you can
    have a seperate character for the elapsed and total portions of the bar.
# Examples with $progress_border on

# Elapsed: =
# Total: -
[=====-----]

# Elapsed: .
# Total: " "
[.....     ]

# Elapsed: /
# Total: " "
[/////     ]

Neofetch 1.6

01 Apr 10:40
Compare
Choose a tag to compare

Neofetch 1.6

Another week another release of Neofetch.

This release focused on cleanup, bug fixes and optimization. Neofetch
is now much much faster than last release and more bug free than ever
before!

This release surprisingly didn't break much at all, see the latest entry in
the wiki page Following HEAD.

https://github.com/dylanaraps/neofetch/wiki/Following-HEAD

scrot

Contributors

Thanks to the following people for contributing this release.

General

  • Added Travis CI support.
  • Added --test which is meant for testing and prints all functions.
  • Cleanup of Distro, Uptime, Memory and CPU functions.
  • We now use a more reliable white-space trimming substitution for CPU/GPU etc.
  • Use stty instead of read -s to fix an issue with escape sequences<br >
    appearing in the output.
  • Line wrap is now disabled by default.
  • Implement base support for caching specific info. This will eventually<br >
    allow us to speed up the script by caching info that won't change for a<br >
    long period of time like the CPU/GPU. [1]
  • Fixed a locale issue when LC_ALL is unset on the user's system.
  • Change all usage of $HOME/.config to $XDG_CONFIG_HOME with a fallback to $HOME/.config.

[1] You can clear the cache with --clean.

Colors

vs

Neofetch 1.5 vs Neofetch 1.6

Neofetch now works with bright color schemes and uses the foreground color instead of hard-coding white.

<br >

  • Fixed buggy colors in older versions of *BSD, OS X and Linux.
  • The default text colors now work on bright color schemes. We no longer force<br >
    the color white, it's now based on your foreground color.
  • Progress bars are now by default colored based on your distro's logo colors.
  • Color blocks now work in older systems and in Travis CI.

Packages

  • Neofetch is now is Void Linux's official repos. @konimex

Info

  • Functions now no longer print Unknown when they fail, they now don't appear at all.

Window Manager Theme<br >

  • Added new WM Theme function to print window manager themes.

OS<br >

  • [ CRUX ] Also print the CRUX version. @onodera-punpun
  • [ Fedora ] Fixed a weird detection bug.

CPU<br >

  • [ Windows ] Don't print CPU cores if detection fails.
  • [ BSD ] Fixed extremely long output.
  • Fixed broken CPU speed when source is /proc/cpuinfo.

GPU<br >

  • Don't show GPU output on unsupported OS.
  • Nvidia is now displayed as NVIDIA. @firstEncounter
  • Intel GPUs now all appear as Intel Integrated Graphics. to avoid naming issues.
  • [ OS X ] We now cache the GPU value.

Battery<br >

  • Show charging state in battery output. @dawidd6 and @iandrewt
  • [ Windows / OpenBSD ] Fix blank battery output when battery isn't found.

Resolution<br >

  • [ Windows ] Don't print resolution if detection fails.
  • [ Linux / OSX / BSD ] Print refresh rate next to resolutions.
  • [ Linux ] Multi monitor support using xorg-xrandr.
  • [ Linux ] Refresh rate support using xorg-xrandr.
  • [ OSX ] Added support for using screenresolution to print the output.<br >
    This is much faster than the default method.

Packages<br >

  • Listing homebrew packages is now super fast. @iandrewt

Public IP<br >

  • Made public IP function faster by using dig if available. @iandrewt
  • Each source now has a timeout to avoid a hang.
  • If the IP detection fails we try another method.

Theme<br >

Desktop Environment<br >

  • Added OS X detection.

Song<br >

  • [ MPD ] Fixed function when mpd is running on another PC and not your own.
  • Song now displays Not Playing instead of Unknown when no music player is found.
  • Added support for Google Play Music Desktop Player (adds optional dependency of gpmdp-bash) @iandrewt

Disk<br >

  • Added new display option perc to display just the percentage with the progress bar.
  • [ FreeBSD ] Fixed disk usage not working.

Memory<br >

  • [ OpenBSD ] Fixed completely broken memory output on OpenBSD.
  • [ Linux ] Rewrote memory function so that it works on old kernel versions.

Uptime<br >

  • [ OSX / BSD ] Performance improvements. @iandrewt
  • [ OpenBSD ] Fixed duplicate up in output.

Birthday<br >

  • Fix stray + sign in output.

Image

  • Remove shuffledir in favor of '--image path/to/dir/'
  • Use printf instead of shuf to pick a random image.
  • [ OS X ] Fixed issues with wallpaper detection.
  • [ OS X ] Wallpaper detection now works on a per desktop basis.
  • Removed image_backend and instead use iterm2 mode only when iterm2 is detected.

Ascii

  • Added ascii art for Qubes OS.
  • Added ascii art for Travis CI.
  • Revamped Alpine Linux's ascii art.
  • Fixed missing ascii colors for Puppy Linux.
  • [ OSX ] Fixed incorrect text colors.
  • Sped up ascii function by dropping wc usage.

Scrot

  • Fixed scrot function not using user defined options.

Neofetch 1.5

17 Mar 05:56
Compare
Choose a tag to compare

Neofetch 1.5

Xubuntu

Contributers

Thanks to the following people for helping me to improve neofetch.

General

  • Remove all echo usage inside the script.
  • More cleanup and misc bug fixes.

Packages

  • Neofetch is now packaged for Fedora and Fedora based distros. @konimex.
  • Added installation instructions for RHEL and CentOS. @konimex.
  • Added stable package to the AUR. neofetch

Progress Bars

This has finally been merged to master, a big thanks to @iandrewt for helping
me finish up with this PR.

bars

  • Added progress bar support to CPU, Memory, Disk, Battery.
  • Added progress_char which allows you to change the character used when drawing the bars.
  • Added progress_length which allows you to set the max length in spaces of the bars.
  • Added progress_elapsed_color which sets the elapsed color.
  • Added progress_total_color which sets the total color.
  • Added --progress_colors which takes two color values: elapsed, total.
  • Added cpu_display, memory_display, disk_display and battery_display which allow you<br >
    to customize where or if the progress bar will appear.
    • Takes these values: info, bar, infobar, barinfo

OS

  • Added support for SteamOS.

Images

  • Using xoffset now also moves the text over.
  • Changed default gap size to 2.
  • Fixed an issue with Nitrogen and multi monitor wallpaper setups. @CousinMachu

Ascii

  • Kaos: Update ascii logo to the new logo.
  • Added ascii logos for Kubuntu, Lubuntu, Xubuntu and ubuntu-gnome.
    • You can enable them with --ascii_distro kubuntu, --ascii_distro lubuntu and etc.

Info

OS<br >

  • [ OSX ] Fix buildversion displaying regardless of on/off. @iandrewt
  • [ OSX ] Added osx_codename (on by default) which prints the OSX codename. @iandrewt

Disk Usage<br >

  • Only display usage of local disks.
  • Fixed disk usage progress bars when the used value was larger than the total. @iandrewt

Theme<br >

  • Added /usr/share as another theme directory to fix an issue with no theme being found. @iandrewt

CPU<br >

  • Added cpu_shorthand to shorten the output of CPU. @iandrewt
    • Takes these values: name, speed, tiny, on, off
  • Added the ability to print the CPU Usage by using cpu_display="info" or --cpu_display off/on info.
  • Added cpu_cores to enable/disable showing the number of CPU cores in the output. @iandrewt

GPU<br >

  • Added new tiny option to gpu_shorthand to further shorten the GPU output. @iandrewt

Memory<br >

  • Fix hang on older systems.

Desktop Environment<br >

  • Fixed bug where i3 would show up as both a DE and a WM.

Birthday<br >

  • Fixed the birthday function on OS X, it apparently wasn't working from the start. @iandrewt

Song<br >

  • [ OSX ] Added Spotify support to song. @iandrewt
  • [ OSX ] Added Itunes support to song. @iandrewt
  • Fix bug with song_shorthand and songs with more than one occurence of -.

Battery<br >

  • Fixed a naming error when multiple batteries are displayed. @iandrewt

Stdout Mode

  • Fixed issues with functions that use prin.

Neofetch 1.4

09 Mar 11:58
Compare
Choose a tag to compare

Lots of bugs were fixed and a lot of code was cleaned up, this changelog just lists
the major changes made to neofetch. For a full list, checkout the git commit history.

Thanks to everyone for contributing, I appreciate it!

  • Renamed fetch to neofetch. Thanks for voting.
  • Neofetch now has a man page. (man neofetch) Thanks @konimex
  • Added support for Alpine Linux.
  • Fix issue with color blocks ending up on the same line as the prompt.

Packages

  • Added Debian/Ubuntu package. Thanks @dawidd6
  • Added Homebrew package for OS X. Thanks @iandrewt

Info

  • Reimplement color function.

Battery<br >

  • Added support for NetBSD

Song<br >

  • [Linux] Added support for Spotify.

Birthday<br >

  • Added --birthday_format and $birthday_format to change the date format of the<br >
    birthday function. The flag uses the date cmd's format options so see man date<br >
    for a list.

Packages<br >

  • Fix 0 package count in Slackware. Thanks @h3xx

GPU<br >

  • Added more GPU substitutions.

Example:

neofetch --birthday_format "%D"
neofetch --birthday_format "%a %d %b %Y %l:%M %p"
neofetch --birthday_format "%c"

Theme<br >

  • Fix incorrect theme detection on Cinnamon.

Ascii

  • Added small ascii logo variants for Arch, Crux and Gentoo. [1]
  • Added new flag/option ascii_logo_size that takes the values normal and small.
  • Optimized all ascii art fixing all leading whitespace issues.

[1] The small ascii art was taken from ufetch.

Example of small ascii logo:

CRUX

Stdout

  • Don't create config file when using --stdout.
  • Simplified stdout function.
  • Reimplent --stdout_separator and $stdout_separator which allow you to change<br >
    the separator between the info.

Example:

# Display memory, battery and disk in a single line separated by "  |  "
# This output can then be used in lemonbar etc.
neofetch --stdout memory battery disk --stdout_separator "  |  "

Fetch 1.3

26 Feb 08:15
Compare
Choose a tag to compare

Fetch 1.3

Hey guys,

This update brought some breaking changes, see this wiki page for what you'll
need to update in your config file.

https://github.com/dylanaraps/fetch/wiki/Following-HEAD

We're in the middle of renaming 'fetch' to something else as there are
already other programs using the name and we don't appear in any searches.

You can help out by voting in our poll here:

http://strawpoll.me/6894425

  • Fetch now supports bash 3.0+.
  • More cleanup
  • The text is now by default colored according to your distro's logo.
  • Removed $*_color variables/flags in favour of a general $colors
    variable/flag. See my writeup here: #96

Image

  • You no longer need to set the font_width value, your font size
    is now calculated by fetch automatically.
  • Image sizing now takes terminal height into account.
  • --size now also takes a percentage as a value, for example.
# Image takes up 70% of the terminal size.
fetch --size 70%

# Size the image in pixels.
fetch --size 200px

Packages

  • Fetch now has a crux port. Thanks @ix.

OS

  • Added support for BunsenLabs.
  • Added support for SailfishOS. (Untested)

Info

  • Don't display Theme, Icons, Font or Window Manager if X isn't running.
  • Added function to show currently logged in users.

Window Manager

  • Add support for Wayland window managers. (Hardcoded)

Song

  • Added song_shorthand which prints the Artist/Title on seperate lines.

Theme

  • Windows Visual Style is now a part of getstyle.
  • Disabled theme output on OS X to fix a gsetttings related crash.
  • Uppercase the first letter of the theme.

Resolution

  • Added Windows support.
  • Enabled by default but only displays info if the dependency is found.

Battery

  • Added FreeBSD and OpenBSD support. Thanks @tudurom.

GPU

  • Added more substitutions/

Stdout

Printing to stdout in a plaintext format for use in scripts is now
much faster and cleaner.

  • Removed --stdout_separator (Separator is now 2 spaces)
  • Removed --stdout_subtitles
  • Removed --stdout_title

Fetch 1.2

17 Feb 07:07
Compare
Choose a tag to compare

Fetch 1.2

This new release comes with a few config breaking changes, see this wiki page
for info on how you can workaround the issues.

https://github.com/dylanaraps/fetch/wiki/Following-HEAD

  • Fetch now has a gitter chatroom. Gitter
  • Fixed text padding when the user didn't have the locale en_US.UTF8 installed.
  • Cleaned up parts of the script.

OS

We now support almost all the Linux distros Screenfetch supports excluding
the distros that have been discontinued.

Added support for these distros:

  • Puppy Linux
  • Kali Linux
  • openSUSE
  • Raspbian
  • Mageia
  • PCLinuxOS
  • Zorin OS
  • Tails
  • BLAG
  • Void Linux
  • Trisquel
  • Solus
  • Peppermint
  • NixOS
  • Chakra
  • Mandriva
  • gNewSense
  • LMDE
  • KaOS
  • Sabayon
  • Frugalware
  • Chapeau
  • Slackware
  • Scientific Linux
  • Exherbo
  • Chrome OS
  • Chromium OS

Makefile

  • Fixed makefile on OS X El Captain.
  • $PREFIX is now also used when installing ascii art and the default config

Wallpaper

  • Fetch now supports using MATE desktop's wallpapers.
  • Fetch now fallsback to ascii mode if the found wallpaper is an xml file. This
    fixes issues where the wallpaper set by gsettings is an xml file.

Info

Desktop Environment:

  • Added support for showing the user's DE.

Window Manager:

  • xprop is now a required dependency. See #79.
  • Renamed 'windowmanager' to 'wm'

IP Address:

  • Added function to get your local IP
  • Added function to get your public IP [1]
  • Added --ip_host and $public_ip_host which allow you to change the website we
    ping for the public IP.

[1] Public IP requires an internet connection as we ping a website.

Packages:

  • Check for packages based on which package manager is installed instead of
    using a hardcoded list of distros.

Theme:

  • Added support for getting DE theme.
  • Added support for getting KDE theme.
  • Renamed getgtk to getstyle.
  • Dropped the gtk from these printinfo functions gtktheme, gtkicons
    and gtkfont. Theme output will be blank until you make these changes:
# Old Naming
info "GTK Theme" gtktheme
info "Icons" gtkicons
info "Font" gtkfont

# New Naming
info "Theme" theme
info "Icons" icons
info "Font" font

GPU:

  • gpu_shorthand is now enabled by default.
  • We now favor showing the dedicated GPU over the integrated one.

Song:

  • Added support for MOC.
  • We now check to see if the player is running before printing anything.
  • We now check playback state and show it if relevent.

Uptime:

  • [Linux] Fixed uptime when it's under 1 minute.

Ascii Art

  • --ascii_distro now also enables ascii mode.
  • Fix missing ascii art when fetch is installed in /usr/local
  • Update Deepin's ascii art to their new logo

Fetch 1.1

07 Feb 05:13
Compare
Choose a tag to compare

Fetch 1.1 changelog

Over the past 10~ days over 190 more commits have been pushed to master and the
script has had some big changes. Thanks to everyone who has contributed, you've been
a big help.

screenfetch mode
New screenfetch mode

  • If w3m or imagemagick aren't installed we gracefully fallback to ascii mode.
  • Automatically find the w3m-img path and fallback to ascii mode if not found. [1]
  • Fix padding escape codes on BSD systems.
  • Swap escape codes from \e to \033 for consistency.
  • We only move the cursor to the bottom of the terminal in w3m/iterm2 rendering modes.
  • Cursor position is now dynamic in ascii mode based on the height of the ascii and info text.
  • If images and ascii are off, don't clear the terminal
  • The script now exits correctly instead of always exiting with status code 1
  • If the script exits for any reason, unhide the cursor.
  • Removed duplicate blocks inside getcpu and getmemory.
  • Removed --colors as it was apparently broken from day 1.
  • Usage has been reformatted so that every flag has a value.

[1] Setting $w3m_img_path will make the script look there first.

Image

  • Added support for displaying ascii art inside of text files.
  • Added "screenfetch mode" which will display your distro's ascii art next to the info. [1]
  • Added --ascii_distro to choose which distro's ascii logo to display.
  • Added --ascii_colors and $ascii_colors which allow you to change the colors of the ascii art
    and distro logos. [2]
  • Added --size and $image_size to set the image size in pixels.
  • Rename --shuffledir and $shuffledir to shuffle_dir.
  • Rename --imgtempdir and $imgtempdir to thumbnail_dir
  • Removed --split_size and $split_size as they were weird and confusing to use.
  • Default thumbnail directory is now $HOME/.cache/thumbnails/fetch. Thanks @tudurom
  • If --image and --ascii are left empty we fallback to ascii distro mode.

Example usage of ascii from file:

fetch --ascii "path/to/ascii" --ascii_color 2

[1] How do I enable screenfetch mode?
[2] ascii_colors takes a range of colors which allows you to color every aspect of
distro and OS ascii art. For custom art the script will color the entirety of it using
the first value of ascii_colors. If ascii_colors is left empty, color will be disabled.

Config file

  • Fetch now has a config file that you can share with people and keep between
    script versions! [1]
  • Added --config and $config_file to specify a custom config location.
  • Added --config off, --config none and $config to enable / disable config files
    at launch or in script.

[1] https://github.com/dylanaraps/fetch#using-the-config-file

Makefile

  • Fetch now has a make file due to the increasing number of files,
    this allows the script to be easily installed and uninstalled on
    systems it isn't packaged for yet! [1]

[1] The script will still work just fine on its own, you'll just be missing
the distro ascii art and the automatic config creation.

Packages

  • Fetch now has a Gentoo/Funtoo e-build courtesy of @z1lt0id

Stdout

  • Added stdout mode which allows you to fetch info in a plain text format that works
    with lemonbar and in your scripts. You can use it by launching fetch with --stdout to print all
    functions enabled in your printinfo function. You can selectively print functions by passing
    arguments to --stdout like so:
# Print the output of all info functions enabled in printinfo
fetch --stdout

# Print the output of memory
fetch --stdout memory

# Print the output of memory and disk
fetch --stdout disk

# Print the output of all functions excluding x
fetch --stdout --disable kernel packages gtktheme
  • Added --stdout_separator and $stdout_separator which takes a string and adds it
    as a separator between the output.
  • Added --stdout_title and $stdout_title which allow you to toggle the title@hostname
    from appearing in the output.
  • Added --stdout_subtitles which allow you to toggle the Info: titles from appearing in
    the output.
# Hiding subtitles
fetch --stdout --stdout_subtitles off

# Custom separator
fetch --stdout disk gpu --stdout_separator "  |  "

NOTE: stdout_subtitles and stdout_title only work when --stdout is used on its own
without any args.

Info

  • You can now display info without a subtitle. eg. info memory
  • Added --disable which allows you to stop an info line from appearing at launch.
  • Added --underline and $underline which allow you to toggle visibility of the
    underline at launch and in your config.
# Stop cpu, gpu, disk and shell functions from being called
fetch --disable cpu gpu disk shell

Kernel: Added --kernel_shorthand and $kernel_shorthand to print less or more kernel info
Window Manager: Added support for $XINITRC
GTK: Fix incorrect GTK3 theme being displayed
CPU: cpu_shorthand: New substitutions
GPU: [Linux] Count the number of identical GPUs. eg. Nvidia Geforce GTX 970 x 2
Memory: [Mac OS X] Added wired memory to memory usage.

Distro:

  • Added support for showing OS architecture. eg Arch Linux x86_64, Windows 7 Ultimate 64-bit [1]
  • Mac OS X: Added support for showing Max OS X build version. [2]
  • Windows: Distro now displays Windows edition. eg. Windows 7 Ultimate

[1] You can toggle this using --os_arch and $os_arch.
[2] You can toggle it using --osx_buildversion and $osx_buildversion.

Shell:

  • Added --shell_version and $shell_version to hide/show your shell's version.
  • Added --shell_path and $shell_path to hide/show the path to your shell

Birthday:

  • Added birthday which prints the age of your OS install.
  • Added --birthday_shorthand and $birthday_shorthand to shorten/lengthen
    the output of birthday.
  • Added --birthday_time and $birthday_time to show/hide the time in the output.

Battery:

  • Added battery which prints the battery usage percentage for each battery
    in your system.
  • Linux: Added battery_num which allows you to choose which battery to display,
    it also takes the value all which will print all batteries line by line.
  • Linux: Added battery_shorthand which when set to on prints each battery on the
    same line like so:
# battery_shorthand="on"
Battery: 10%, 5%, 67%

# battery_shorthand="off"
Battery0: 10%
Battery1: 5%
Battery2: 67%

# If there's only a single battery in the system
# we ommit the numbered title.
Battery: 10%
  • NOTE: This currently doesn't support BSD systems as we have no one to help us test

Fetch 1.0

27 Jan 05:22
Compare
Choose a tag to compare

Fetch 1.0

There have been over 260 commits to master since I last made a release
and the script is at a point now where I can say that it's feature complete
so I'm releasing 1.0. The script now supports many more OS/distros and has
had lots of bug fixes, changes and features added.

I'm probably missing a bunch of stuff from this changelog so if i've
forgotten anything, let me know!

I'm also slowly adding pages to the wiki so check it out!

Here's what's new:

  • Added full support for Windows, BSD and Mac OS X.
  • Fetch is now MIT licensed
  • Dropped the .sh from the filename and title.
  • Dropped support for mksh so we can support some bash only features.
  • Cleanup of everything
  • Added --prompt_height and $prompt_height to fix the script going<br >
    offscreen due to multi-line shell prompts. This option should be set to<br >
    your prompt height in lines.
  • The script now supports bash 4.0. It turns out that we only<br >
    supported bash 4.3
  • Restore cursor and clear screen on ctrl+c.
  • Swap tput cmds for ansi escape sequences where possible.
  • Added folds to make the script easier to navigate in *vim.
  • Added -F to grep where possible for a speedup where possible.
  • Fix whitespace issues with different distros.
  • Remove uneeded $ symbols.
  • Remove double negative tests.
  • Added note about needing procps or procps-ng for uptime support.
  • Fix syntax errors in script and readme.
  • All vars now use on/off instead of 1/0.
  • Quote things that should be quoted.

Linux:

  • Fix issues with Elementary OS and CentOS.

Mac OS X:

  • Added support for other package managers.
  • Fix issue with multiple resolutions in getresolution

Windows:

  • Added getvisualstyle function to get the current Windows theme.
  • Added choclatey support to package count.

BSD:

  • Fix tput commands not working on BSD

Info:

As of commit 9daacdd the info array at the top of the script has changed
to a regular function. The benefits of this are pretty cool, you can now
use any bash syntax to customize what gets displayed. You could have an
if statment and only print window manager and gtk themes if X is running
or only show current song if there's one playing.

You can see some examples and read more about it here:

https://github.com/dylanaraps/fetch/wiki/Customizing-Info


All:

  • All functions return Unknown or None instead of printing nothing.<br >

Title:

  • You can now color the @ symbol in the title using --at_color,<br >
    $at_color and --colors x x x x x x.

OS:

  • We now check lsb_release before looking inside of files, this fixes<br >
    detection for some *buntu based distros.
  • We now exit if the OS type wasn't detected.

Window Manager:

  • wmctrl is now used by default if found.

Uptime:

  • Added --uptime_shorthand and $uptime_shorthand to make the output<br >
    of uptime smaller and prettier.
  • Added new --uptime_shorthand and $uptime_shorthand value<br >
    called tiny. This makes the output even tinier. eg. 1d 10h 32m

GTK:

  • Added functions to get GTK Theme, Icons and Font
  • Added --gtk{2,3} and $gtk{2,3} to enable/disable gtk2 or gtk3 from<br >
    being displayed.
  • Added --gtk_shorthand and $gtk_shorthand to make the output of<br >
    gtk* smaller and prettier.

Packages:

  • Remove package version and color from Pacman output
  • All distros are now wildcarded so that version numbers from<br >
    lsb_release are ignored.

CPU:

  • Added more cpu speed types to --speed_type and $speed_type.
  • Use cpufreq when available instead of hardcoding it for specific distros.

GPU:

See issue #21

  • Added function to get the current Graphics Card.
  • Added support for VirtualBox GPU.
  • Added --gpu_shorthand and $gpu_shorthand to make the output of gpu<br >
    smaller and prettier.

Disk:

See issue #27

  • Added function to get current/total disk usage.

Song:

  • Added cmus support.

Images:

  • Added support for iTerm2's image rendering.
  • Added --image_backend and $image_backend to change which program<br >
    is used to render the images.
  • The image is now displayed before the text, this fixes image<br >
    rendering issues with vte based terminal emulators.
  • Added $w3m_img_path to set the location of w3mimgdisplay.
  • Unified all image options, the new var $image takes these<br >
    values: wall, shuffle, path/to/img.png, off.
  • Added shuffle to image modes. The script can now pick a random<br >
    image from a specified folder to display. You can pick the shuffle<br >
    directory with --shuffle_dir and $shuffle_dir
  • Fixed images getting cut off at the top.
  • Added image size to filename which allowed us to remove a really<br >
    slow check.

Wallpaper:

  • Added nitrogen and gsettings support.
  • Added wallpaper support to Mac OS X and Windows.
  • Fix hang when wallpaper isn't found.
  • We now check to see that feh set the wallpaper.
  • Fixed wallpapers with spaces in the filename.
  • wall is now the default image source.

Screenshot:

The script can now take a screenshot on script finish. You can use
the flags --scrot or -s to take a screenshot.

--scrot and -s can also take a path/filename so you can choose
where and what to name the file at launch.

If left empty --scrot and -s will use $scrot_dir and
$scrot_name when saving the screenshot.

By default the script uses scrot as the screenshot program.
You can use the launch flag --scrot_cmd or the option $srot_cmd
to set the program to use to take the screenshot.

Wiki:

Added Customizing Info page which has info/examples about
the new printinfo function.

https://github.com/dylanaraps/fetch/wiki/Customizing-Info

Added Customization which lists all options and their values.

https://github.com/dylanaraps/fetch/wiki/Customization

0.2.1

04 Jan 05:07
Compare
Choose a tag to compare

Here's what's new:

  • Mac OS X support (It's done now)
  • Resolution Detection (Off by default)
  • Song info is now off by default.
  • You can now display the image on the right with:
    • --image_position left/right
  • Fixed bug with multiple colons
  • Fixed underlines not being drawn the full width.
  • Functions now fallback to "Unknown" instead of printing nothing.
  • getos now gets os type and getdistro gets the distro.
    • This makes it even easier to add other os types.

Here's what I'm working on:

  • Finishing OpenBSD support
  • Cygwin support

Enjoy