Home

Awesome

๐Ÿ“ข Check out DIYfetch, the ultimate fetch tool template. It's the successor to SuperB Fetch!

<p align="center"><img width="100%" src="https://user-images.githubusercontent.com/43980777/107769286-5a11a980-6d6a-11eb-9d65-ed07bf79a5c0.png"></p> <p align="center"> <a href="https://github.com/NNBnh/bfetch/blob/main/LICENSE"><img src="https://img.shields.io/github/license/NNBnh/bfetch?labelColor=2A2734&color=DEAB63&style=for-the-badge" alt="License: GPL-3.0"></a> <a href="https://gist.github.com/NNBnh/9ef453aba3efce26046e0d3119dab5a7#development-completed"><img src="https://img.shields.io/badge/development-completed-%23DEAB63.svg?labelColor=2A2734&style=for-the-badge&logoColor=FFFFFF" alt="Development completed"></a> </p>

๐Ÿ’ก About

SuperB Fetch (a.k.a bfetch) is a SuperB general-purpose fetch displayer written in portable sh that takes user commands output and dynamically changes how it displays output based on the terminal size.

Note Check how people rice SuperB Fetch at Bfetchporn.

<p align="center"><a href="https://asciinema.org/a/381349" target="_blank"><img src="https://asciinema.org/a/381349.svg"></a></p>

๐Ÿ“” Story

As a Linux ricer, I like to make Neofetch automatically run when the terminal starts. This was fine until I switched to using a tiled window manager, the terminal is often too small leading to the fetch getting cropped off, even with Pfetch, the problem would appear. This has led me to create SuperB Fetch, a dynamic fetching tool with the customization spirit of Ufetch.

NeofetchPfetch
Without SuperB FetchNeofetchPfetch
With SuperB FetchBfetchBfetch

โœจ Features

Paper modeClassic mode
Paper modeClassic mode

๐Ÿš€ Setup

๐Ÿงพ Dependencies

๐Ÿ“ฅ Installation

๐Ÿ”ง Manually

Option 1: using curl

curl https://raw.githubusercontent.com/NNBnh/bfetch/main/bin/bfetch > ~/.local/bin/bfetch
chmod +x ~/.local/bin/bfetch

Option 2: using git

git clone https://github.com/NNBnh/bfetch.git ~/.local/share/bfetch
ln -s ~/.local/share/bfetch/bin/bfetch ~/.local/bin/bfetch

๐Ÿ“ฆ Package manager

For Arch-Linux base distro, install this AUR package:

paru -Sy superbfetch-git

For Bpkg user:

bpkg install NNBnh/bfetch

For Basher user:

basher install NNBnh/bfetch

Note If you can and want to port SuperB Fetch to other package managers, feel free to do so.

โŒจ๏ธ Usage

Run SuperB Fetch in the terminal:

bfetch

โš™๏ธ Configuration

SuperB Fetch is configured through environment variables: export BFETCH_<SETTING>="<value>"

ValueValidDefaultDescription
BFETCH_INFO<commands>$XDG_CONFIG_HOME/bfetch/info (~/.config/bfetch/info)Read this commands output as infomation element (OS, WM, terminal, ...)
BFETCH_ART<commands>$XDG_CONFIG_HOME/bfetch/art (~/.config/bfetch/art)Read this commands output as art element (operating system logo)
BFETCH_COLOR<commands>$XDG_CONFIG_HOME/bfetch/color (~/.config/bfetch/color)Read this commands output as color element (colors strip below info)
BFETCH_TEMPORARY<path/to/file>/tmp/bfetchTemporary file's location
BFETCH_CLASSIC_MODEtrue|falsefalseMake SuperB Fetch prefer classic mode when both mode are possible
BFETCH_ART_RIGHTtrue|falsefalseRender art on the right when using classic mode
BFETCH_PADDING0+1Padding fetch when using classic mode
BFETCH_SEPARATOR0+2Separate info and art when using classic mode
BFETCH_PROMPT_HEIGHT0+1Acknowledge how high the shell prompt is and counter it so the prompt don't push the fetch out

SuperB Fetch will export the maximum size that an element can get:

ValueDescription
BFETCH_INFO_HEIGHTMaximum height of infomation element
BFETCH_INFO_WIDTHMaximum width of infomation element
BFETCH_ART_HEIGHTMaximum height of art element
BFETCH_ART_WIDTHMaximum width of art element
BFETCH_COLOR_HEIGHTMaximum height of color element
BFETCH_COLOR_WIDTHMaximum width of color element

โ„น๏ธ Info element

SuperB Fetch looking for and execute $XDG_CONFIG_HOME/bfetch/info for info element as default, you can copy this info template with Fetchutils as a starting point and customizing.

Note Make sure the file is executable

๐Ÿ–ผ๏ธ Art and color element

For art element and color element, take a look at NNB's ANSI collections and other textart resources.

๐Ÿ’Œ Credits

Special thanks to:

<br><br><br><br>


<h1 align="center">Made with โค๏ธ by <a href="https://github.com/NNBnh"><i>NNB</i></a></h1> <p align="center"><a href="https://www.buymeacoffee.com/nnbnh"><img src="https://img.shields.io/badge/buy_me_a_coffee%20-%23F7CA88.svg?logo=buy-me-a-coffee&logoColor=333333&style=for-the-badge" alt="Buy Me a Coffee"></a></p>