{"id":13739768,"url":"https://github.com/NNBnh/bfetch","last_synced_at":"2025-05-08T19:34:51.617Z","repository":{"id":41335630,"uuid":"314834105","full_name":"NNBnh/bfetch","owner":"NNBnh","description":"📠 Dynamic fetch displayer that SuperB","archived":false,"fork":false,"pushed_at":"2023-01-24T21:40:36.000Z","size":290,"stargazers_count":134,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-10T03:10:48.681Z","etag":null,"topics":["ascii","basher","bfetch","bpkg","cli","fetch","posix","terminal","textart"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NNBnh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-21T14:48:41.000Z","updated_at":"2024-11-08T15:04:30.000Z","dependencies_parsed_at":"2023-02-14T01:45:36.569Z","dependency_job_id":null,"html_url":"https://github.com/NNBnh/bfetch","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NNBnh%2Fbfetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NNBnh%2Fbfetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NNBnh%2Fbfetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NNBnh%2Fbfetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NNBnh","download_url":"https://codeload.github.com/NNBnh/bfetch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224758213,"owners_count":17364970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ascii","basher","bfetch","bpkg","cli","fetch","posix","terminal","textart"],"created_at":"2024-08-03T04:00:37.377Z","updated_at":"2024-11-15T09:30:48.475Z","avatar_url":"https://github.com/NNBnh.png","language":"Shell","readme":"\u003e **📢 [Check out DIYfetch, the ultimate fetch tool template. It's the successor to SuperB Fetch!](https://github.com/info-mono/diyfetch)**\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/43980777/107769286-5a11a980-6d6a-11eb-9d65-ed07bf79a5c0.png\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/NNBnh/bfetch/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/NNBnh/bfetch?labelColor=2A2734\u0026color=DEAB63\u0026style=for-the-badge\" alt=\"License: GPL-3.0\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://gist.github.com/NNBnh/9ef453aba3efce26046e0d3119dab5a7#development-completed\"\u003e\u003cimg src=\"https://img.shields.io/badge/development-completed-%23DEAB63.svg?labelColor=2A2734\u0026style=for-the-badge\u0026logoColor=FFFFFF\" alt=\"Development completed\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 💡 About\n\n**SuperB Fetch** (a.k.a `bfetch`) is a *SuperB* general-purpose fetch displayer written in [`portable sh`](https://github.com/dylanaraps/pure-sh-bible) that takes user commands output and dynamically changes how it displays output based on the terminal size.\n\n\u003e **Note** *Check how people rice SuperB Fetch at [Bfetchporn](https://github.com/NNBnh/bfetch/discussions/1).*\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://asciinema.org/a/381349\" target=\"_blank\"\u003e\u003cimg src=\"https://asciinema.org/a/381349.svg\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n### 📔 Story\n\nAs a Linux ricer, I like to make [**Neofetch**](https://github.com/dylanaraps/neofetch) automatically run when the terminal starts.\nThis 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**](https://github.com/dylanaraps/pfetch), the problem would appear.\nThis has led me to create **SuperB Fetch**, a dynamic fetching tool with the customization spirit of [**Ufetch**](https://gitlab.com/jschx/ufetch).\n\n||[Neofetch](https://github.com/dylanaraps/neofetch)|[Pfetch](https://github.com/dylanaraps/pfetch)|\n|:-:|-|-|\n|Without SuperB Fetch|![Neofetch](https://user-images.githubusercontent.com/43980777/108312895-ef3cf400-71e9-11eb-8783-5d5d437c166a.png)|![Pfetch](https://user-images.githubusercontent.com/43980777/108312916-f532d500-71e9-11eb-9313-66363806bb4e.png)|\n|With SuperB Fetch|![Bfetch](https://user-images.githubusercontent.com/43980777/108312905-f237e480-71e9-11eb-97db-4f2d0f5cdb8b.png)|![Bfetch](https://user-images.githubusercontent.com/43980777/108312925-f82dc580-71e9-11eb-97ab-1d9becab58dd.png)|\n\n### ✨ Features\n\n- Super **minimum** with exactly [**256** lines of `sh`](bin/bfetch#L256) and [**no dependencies**](#-dependencies) (if you don't count `sh`).\n- Super **flexible**:\n  - **Align/shift/change mode** contents based on terminal size.\n  - **Hide** some elements if terminal is too small.\n- Super **customizable**:\n  - SuperB Fetch can **take commands output** and use it. By so, SuperB Fetch can display **anything** you want, **however** you want.\n  - And even more [**config options**](#%EF%B8%8F-configuration)\n- Have **two mode**:\n\n|Paper mode|Classic mode|\n|-|-|\n|![Paper mode](https://user-images.githubusercontent.com/43980777/108312884-eba96d00-71e9-11eb-90f7-301537ba2000.png)|![Classic mode](https://user-images.githubusercontent.com/43980777/108312871-e64c2280-71e9-11eb-8569-f38765891480.png)|\n\n## 🚀 Setup\n\n### 🧾 Dependencies\n\n- [Unix commands](https://en.wikipedia.org/wiki/List_of_Unix_commands) to process\n\n### 📥 Installation\n\n#### 🔧 Manually\n\nOption 1: using `curl`\n\n```sh\ncurl https://raw.githubusercontent.com/NNBnh/bfetch/main/bin/bfetch \u003e ~/.local/bin/bfetch\nchmod +x ~/.local/bin/bfetch\n```\n\nOption 2: using `git`\n\n```sh\ngit clone https://github.com/NNBnh/bfetch.git ~/.local/share/bfetch\nln -s ~/.local/share/bfetch/bin/bfetch ~/.local/bin/bfetch\n```\n\n#### 📦 Package manager\n\nFor [Arch-Linux base distro](https://archlinux.org), install [this AUR package](https://aur.archlinux.org/packages/superbfetch-git):\n\n```sh\nparu -Sy superbfetch-git\n```\n\nFor [Bpkg](https://github.com/bpkg/bpkg) user:\n\n```sh\nbpkg install NNBnh/bfetch\n```\n\nFor [Basher](https://github.com/basherpm/basher) user:\n\n```sh\nbasher install NNBnh/bfetch\n```\n\n\u003e **Note** *If you can and want to port SuperB Fetch to other package managers, feel free to do so.*\n\n## ⌨️ Usage\n\nRun SuperB Fetch in the terminal:\n\n```sh\nbfetch\n```\n\n## ⚙️ Configuration\n\nSuperB Fetch is configured through environment variables: `export BFETCH_\u003cSETTING\u003e=\"\u003cvalue\u003e\"`\n\n|Value|Valid|Default|Description|\n|-|-|-|-|\n|`BFETCH_INFO`|`\u003ccommands\u003e`|`$XDG_CONFIG_HOME/bfetch/info` (`~/.config/bfetch/info`)|Read this commands output as infomation element (OS, WM, terminal, ...)|\n|`BFETCH_ART`|`\u003ccommands\u003e`|`$XDG_CONFIG_HOME/bfetch/art` (`~/.config/bfetch/art`)|Read this commands output as art element (operating system logo)|\n|`BFETCH_COLOR`|`\u003ccommands\u003e`|`$XDG_CONFIG_HOME/bfetch/color` (`~/.config/bfetch/color`)|Read this commands output as color element (colors strip below info)|\n|||||\n|`BFETCH_TEMPORARY`|`\u003cpath/to/file\u003e`|`/tmp/bfetch`|Temporary file's location|\n|||||\n|`BFETCH_CLASSIC_MODE`|`true\\|false`|`false`|Make SuperB Fetch prefer classic mode when both mode are possible|\n|`BFETCH_ART_RIGHT`|`true\\|false`|`false`|Render art on the right when using classic mode|\n|`BFETCH_PADDING`|`0+`|`1`|Padding fetch when using classic mode|\n|`BFETCH_SEPARATOR`|`0+`|`2`|Separate info and art when using classic mode|\n|`BFETCH_PROMPT_HEIGHT`|`0+`|`1`|Acknowledge how high the shell prompt is and counter it so the prompt don't push the fetch out|\n\nSuperB Fetch will export the maximum size that an element can get:\n\n|Value|Description|\n|-|-|\n|`BFETCH_INFO_HEIGHT`|Maximum height of infomation element|\n|`BFETCH_INFO_WIDTH`|Maximum width of infomation element|\n|`BFETCH_ART_HEIGHT`|Maximum height of art element|\n|`BFETCH_ART_WIDTH`|Maximum width of art element|\n|`BFETCH_COLOR_HEIGHT`|Maximum height of color element|\n|`BFETCH_COLOR_WIDTH`|Maximum width of color element|\n\n### ℹ️ Info element\n\nSuperB Fetch looking for and execute `$XDG_CONFIG_HOME/bfetch/info` for info element as default, you can copy [this info template](https://github.com/NNBnh/textart-collections/blob/7367d278ce41a38783d7ce12b3b05175836213cc/fetch/info.textart) with [Fetchutils](https://github.com/lptstr/fetchutils) as a starting point and customizing.\n\n\u003e **Note** *Make sure the file is executable*\n\n### 🖼️ Art and color element\n\nFor art element and color element, take a look at [NNB's ANSI collections](https://github.com/NNBnh/ansi) and [other textart resources](https://github.com/NNBnh/textart-collections#-resources).\n\n## 💌 Credits\n\nSpecial thanks to:\n- [**Julian Marcos**](https://github.com/Juliaria08) for porting this package to the [AUR](https://aur.archlinux.org/packages/superbfetch-git)\n- [**Neofetch**](https://github.com/dylanaraps/neofetch) by [Dylan](https://github.com/dylanaraps)\n- [**Pfetch**](https://github.com/dylanaraps/pfetch) also by [Dylan](https://github.com/dylanaraps)\n- [**Ufetch**](https://gitlab.com/jschx/ufetch) by [Jschx](https://gitlab.com/jschx)\n- [**Fetchutils**](https://github.com/lptstr/fetchutils) by [LPTSTR](https://github.com/lptstr)\n- [**Pure sh bible**](https://github.com/dylanaraps/pure-sh-bible) also by [Dylan](https://github.com/dylanaraps)\n- [**Carbon**](https://carbon.now.sh) by [@carbon_app](https://twitter.com/carbon_app)\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n---\n\n\u003e \u003ch1 align=\"center\"\u003eMade with ❤️ by \u003ca href=\"https://github.com/NNBnh\"\u003e\u003ci\u003eNNB\u003c/i\u003e\u003c/a\u003e\u003c/h1\u003e\n\u003e\n\u003e \u003cp align=\"center\"\u003e\u003ca href=\"https://www.buymeacoffee.com/nnbnh\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee%20-%23F7CA88.svg?logo=buy-me-a-coffee\u0026logoColor=333333\u0026style=for-the-badge\" alt=\"Buy Me a Coffee\"\u003e\u003c/a\u003e\u003c/p\u003e\n","funding_links":["https://www.buymeacoffee.com/nnbnh"],"categories":["Shell","Operation System","Packages"],"sub_categories":["Cross Platform","CLI Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNNBnh%2Fbfetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNNBnh%2Fbfetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNNBnh%2Fbfetch/lists"}