Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: Toni500github/customfetch

customfetch v2.0.0-beta1 - Plugin-based Module Loader

08 Sep 14:13
v2.0.0-beta1
f087d81

Choose a tag to compare

Caution

This is a beta version.
if you have problems on your machine, or want to use the native android app, then use release v1.0.0 (Linux and Android only)

Well, as of right now 7 months and 246 new commits from v1.0.0 to v2.0.0-beta1.
It surely has took many days and months to release this. From having breakdowns and absent willing to work on customfetch, I still wanted to look forward for the future of customfetch because it was my first ever project that took so much work for bringing it to life.

What's in this beta release?

This beta is all about two things: getting started on macOS support and an excitingly experimental plugin support.

Adding full macOS support is a big job that's still in progress. Instead of waiting for that to be completely finished, I wanted to release this version now so you can test the main new plugin-based module loader.

This new system lets you create or add external plugins to display almost any info you can think of, like live weather, GitHub stats, or anything else, right alongside your system information. It's a level of customization that really sets custom fetch apart.

So, jump in, try making a plugin, and see what you can add to your fetch!

What's Changed

✨ Major Features & Enhancements

  • Plugin-based Modules Loader: Introduced a new plugin-based system for loading external info modules. (by @Toni500github in #4)
  • Platform Support: Added macOS support (some modules are still a Work in Progress).
  • Android Refactor: Major refactoring of the Android widget, moving C++ code to pure Kotlin.
  • GUI Improvements:
    • Added support for light colors.
    • Added GTK CSS support for theming.
    • Added the application icon/logo to the GUI.
  • New Arguments:
    • Added --debug flag for debugging.
    • Added --disallow-command-tag flag for security.
    • Improved --help and --how-it-works documentation.
  • Project Structure: The Android app has been moved to its own dedicated repository.

⚙️ Configuration & CLI

  • Config: Deprecated "removable" in favor of "external" in auto.disk.display-types.
  • Config: Fixed configuration overwrite from command-line arguments.
  • Args: The --loop-ms command now exits with the 'q' key and has a default increased from 50ms to 200ms.
  • Args: Migrated from system getopt to the getopt_port library.

🐛 Bug Fixes

  • GUI: Fixed a crash related to empty strings and checking for $ at the start.
  • GUI: Improved escaping of & characters.
  • Query: Fixed system uptime calculation on Android.
  • Display: Prevented opening the same source-path twice.
  • Assets: Fixed several ASCII art files that had incorrect single backslash escapes.
  • Misc: Fixed a crash related to very large all_ids strings in pci.ids.hpp.

🔧 Build System & Project

  • Build: Added an install and uninstall target and fixed the CMake build.
  • Build: Forced linking with static libraries such as with {fmt}.
  • Workflows: Added a CMake GitHub workflow.
  • Licensing: Added the FastFetch license and updated the copyright year.
  • Logos: Added official project logos and icons.
  • Versioning: Adopted a --version system inspired by Hyprland.

📦 Dependencies & Codebase

  • Misc: Replaced custom command execution functions with the cross-platform tiny-process-library.
  • Misc: Removed the VENDOR_TEST and DEVICE_TEST flags.
  • Misc: Now uses a compile-time GUI_APP definition instead of a runtime config.gui setting.

🛠️ Workarounds & Misc.

  • Misc: Creates a temporary Linux/macOS ASCII art as a fallback when unable to get the distro path.
  • Misc: Various other minor fixes and improvements.
  • Tests: Added new tests (adapted from TabAUR).

⚠️ Experimental & Unstable

  • Config: Added support for % in offset values (marked as super unstable and might be removed).
Click to expand for detailed commit list

What's Changed

  • Plugin-based Modules Loader by @Toni500github in #4
  • c73c036 project: add macos support (some things WIP)
  • 87802fe misc: create a temponary file when unable to get distro path
  • f0fb491 misc: add fastfetch license + update copyright license year
  • cc2b4aa misc: steal version system from Hyprland (I kinda contributed to that tho)
  • 483be29 config: make offset accept % (super unstable might remove it)
  • fef7fac cda59d2 (and more) android widget: trying to refactor c++ code to pure kotlin
  • df9cf5c gui: add light colors in pango
  • df9cf5c gui: fix crash with empty string and checking for $ at the start, also try to escape more &
  • df9cf5c config: deprecate "removable" in favor of "external" in auto.disk.display-types
  • b73e4bb config: fix overwrite from arguments
  • f2ec92d query: system: fix uptime on android
  • 407ac75 args: add --debug
  • 3e905ae misc: use compile-time GUI_APP instead of runtime config.gui
  • fbfb610 174abee android app: move it to https://github.com/Toni500github/customfetch-android-app
  • 0b19507 project: add official logos/icons
  • d230340 tests: add these (stolen from TabAUR)
  • 6d27025 workflow: add cmake.yml + cmake: fix build and add install target
  • 254f42f build: add icon prefix + improve uninstall targets
  • 65ef7ba gui: add icon logo
  • 7f4464c aeed450 args: add --disallow-command-tag
  • 89950f0 doc: refactor --help and --how-it-works
  • e4bd61d display: don't open the same source-path twice
  • 261e467 assets: fix some ascii art that have single backslash escape
  • e43a38b gui: add gtk css support
  • b19b52f 65e9e0d workaround: a conflict between the Radeon RX 5500 XT and the (Oland PRO?) Radeon R7 340
  • 5cf6c68 args: exit --loop-ms with 'q' and increase from 50 to 200 ms
  • 51742e7 makefile: force link with fmt static library
  • 7827407 misc: remove VENDOR_TEST and DEVICE_TEST
  • f6a56cf docs: fix some -h incorrections
  • 907d567 44361a1 misc: fix some things
  • 1600cf1 misc: ditch selfmade command execute functions in favour of cross-platform tiny-proccess-library
  • 59c57c0 args: migrate GNU getopt to getopt_port
  • 0104997 misc: fix crash with really big all_ids string in pci.ids.hpp

Full Changelog: v1.0.0...v2.0.0-beta1

customfetch v1.0.0 - Android support and widget app

01 Mar 20:24
v1.0.0
369dacc

Choose a tag to compare

Warning

If you are looking for the new Plugin-based module loader release, checkout release v2.0.0-beta1

4 months and 143 commits since v0.10.2 released, damn this project fell down from its prime where there would be a big release every month...

Ahahah, jokes apart, I didn't actually left behind customfetch at all, instead what I was doing in these 4 months was to create an unique feature that you have never saw before: a neofetch-like program in an android widget app.
You may have saw fast/neofetch running in termux, but

image

This is the first android application I have ever developed and indeed it took 4 months because of it, but to be honest I'm starting to like developing applications for android. Some may criticize, but the application was created with android views instead of composable, because that's the first thing I have learnt and I got the hand of it and I actually enjoy writting XML (sometimes) 🙃

image

Also an important change is separating the GUI mode, -g or --gui, into its own binary GUI app called custmofetch-gui.
This is because if you had compiled in the past customfetch with GUI_MODE, the execution in the terminal would be much slower and the linker won't let you do it if you didn't have gtk3 installed.

After this release, i'll take some days of breaks for relaxing a bit.
Thank you so much for the patience and support <3

Changes

Breaking

  • add android support 92d95eb (and more commits)
  • add native android widget application #1 (and more commits)
  • rename Unix reference such as CF_UNIX and src/query/unix to Linux 5b8f9de
  • separate the GUI mode into it's own binary customfetch-gui 3be3710

Features

  • parse: support module-only variants in info tags (e.g, $<ram> instead of $<ram.ram>) e4ce245
  • parse: add extended module member names (e.g., $<title_separator>) 1f87a09
  • query: cpu: add $<cpu.temp> and variants. 8c30dc3 97c466d
  • query: battery: add new battery info module e5efb1c e267365
  • query: theme: fix theme queries because of code static members d43dd9d
  • query: auto: add new $<auto.disk> module name 537f3de
  • build: add cmake as the new build system 848e18d
  • build: add usr-dist target in the makefile 808dad1
  • args: change some argument names and add boolean support (e.g., true) e33490a
  • args: add --loop-ms and --list-logos (thanks @Quartzitechunk for the idea) options 47d0006 d2c0b65
  • args: add --override for configuration 62754c7
  • misc: add translations support 553848b
  • makefile: install configuration examples 4e001c2
  • debian: add and reformat actual changelog 1b7b1a3 f2273d0

Fixes

  • doc: fix wrap-lines behavior 353fd00
  • misc: re-enable cursor if program dies (when wrap-lines is disabled) 4bc402c
  • query (misc): use systemInfo_t for multiple disk, gpu, theme queries 80e92c5
  • misc: fix typos and --list-modules 0115673

Changes

  • doc: move the config explaination to --how-it-works 3f74f07
  • parse: deprecate the builtin module name e4ce245

Updates

  • libs: update pci.ids.hpp 8202a9d
  • libs: fmt: remove printf.h and xchar.h (unused) f0dde0c
  • libs: update {fmt} and toml++ 2ff0a75

Full Changelog: v0.10.2...v1.0.0

customfetch v0.10.2

07 Nov 14:01
v0.10.2
20d9e72

Choose a tag to compare

This release doesn't bring (almost) anything new/fixed but I have decided to rename the binaries and references from cufetch -> customfetch because I don't want people to get confused about the binary name. cufetch now will be only a symlink instead.

Please refer to version v0.10.0 for all the new features and fixes

Breaking

  • project: rename cufetch -> customfetch 19313a4

Feature

Fixes

  • main: fix ascii-logo-type a3c7cd6
  • assets: fix debian_small.txt c516c2a
  • makefile: fix make dist GUI_MODE=1

Changes

  • assets: move the config-examples and screenshots in root directory 85c739f
  • misc: update screenshots/cbonsai.png and configs 140daf3

Full Changelog: v0.10.1...v0.10.2

customfetch v0.10.1

02 Nov 21:38
v0.10.1
f2fc37e

Choose a tag to compare

bugfix release but with a crucial bug fix that has been here since the start: utf8 (unicode) logos aligning calculations!!!!!1

Highlights

  • display: fully fix alignment with all unicode logos 20bb39a
  • parse: fix regression about $() and other tags a55edc6

Others/Misc

  • misc: add license notice in source files 6b2c04f
  • assets: add cachyos 2372925

Changes

  • parse: make GUI only hexcolor options accept the hashtag # d5e3526
    why? well if you are using neovim or other IDEs and have preview hex color builtin, then you can directly do it as if you are doing normally
    before:
    image
    after:
    image

Updates:

Full Changelog: v0.10.0...v0.10.1

customfetch v0.10.0

29 Oct 15:16
v0.10.0
6ceca01

Choose a tag to compare

It's been almost a month and half since v0.9.3.
107 commits with soooo many new features and improvements. This is the nicest feature release by far.

I hope yall will enjoy using customfetch as a new way of customizing your system infos.

Breaking

Features

  • query: theme: add USE_DCONF (c17a248 e57dfb1 e57dfb1 bfb2dd1)
  • parse (args): add --no-color and --layout-line 9ad21de
  • query: theme: add theme-gsettings 895ff98
  • query: theme: add theme.cursor 69625a1
  • parse: add SI and IEC byte units f77e8be
  • query: user: add user.wm_version fa3e271
  • config: add percentage-color 5418c8b
  • gui: make bg-image accept gifs too 25f06d1
  • config: add --color as a config setting (alias-colors) a120a87
  • parse: add more color option modes (f874e37 eb6fdb4)
  • parse (gui): add \e[38 and \e[48 ANSI code color converter (only in rgb way) d9ee1fb
  • query: user: fast detect konsole version d287eeb
  • query: theme: add support for gtkrc-v.0-kde and gtkrc-v.0-kde4 (thanks @BurntRanch) 0f9f888
  • display: parse the distro ASCII art colors when using --source-path and specify --distro 5153646
  • config: add NO_COLOR eviroment variable support f3d0359
  • util: add get_data_path() for looking the data dirs instead of hardcode /usr/share dc61c31
  • config and args: add logo-position d171c33

Fixes

  • query: user: fix/improve terminal version detection b3a8238
  • query: user: some little changes and fixes to terminal query 50e0989
  • query: user: workaround for terminals on NixOS that doesn't have "wrapped" at the end 31a7c6d
  • parse (gui): fix color parsing by closing the <span> tag before a new one 6857ba5
  • parse: fix aligning if failed to parse color 693822a
  • gui: fix resizing of window when bg-image or logo is image 4a76a46

Changes

  • rename info modules names user.term and theme.cursor to user.terminal and theme.cursor_name 1673321
  • theme.cursor will auto display theme.cursor_size if not (unknow) 69625a1
  • query: convert float values to double dbc93b4
  • misc: update LICENSE to BSD-3 Clause af69d2b
  • query: gpu: separate vendor from name + add vendor_long b2f2887
  • parse: refactor the parser (thanks again @lapinozz) b43f160

Updates

Full Changelog: v0.9.3...v0.10.0

customfetch v0.9.3

14 Sep 14:07
v0.9.3
754fc6e

Choose a tag to compare

This is just a bugfix release for GUI and ASCII arts

Fixes

  • parse (ascii art): fully fix alignment and GUI mode with escaping in some ascii arts f928a24
  • parse: fix ASCII arts that has commands such as cbonsai 9c636cc
  • assets: fix most ascii arts 72c749c

Improvement

  • make customfetch compilable in C++17 4363eb8

Full Changelog: v0.9.2...v0.9.3

customfetch v0.9.2

11 Sep 11:03
v0.9.2
658b79f

Choose a tag to compare

This release is really good ngl, added many changes, features and improvements.
I just wanted to release it before starting school and because idk what to add for now.

Changed the "vocabulary" and made it stable

  • renamed components -> tags ($<> $() etc.)
  • renamed submodule -> module members ($<module.member>)

Highlights

Features

  • add sep-reset-after 05f45e1 59cb489
  • add mountdir and device members in disk module cecb8e5
  • add builtin module eb0909a
  • add _perc modules members for disk, ram and swap 784acc6 ac592d7
  • gui: parse distro ascii art for getting auto colors instead of using always white e38d5ca
  • query lsb-release as backup in os module members b76baf6
  • detect st version from binary be28ba4

Fixes

  • fix path with ascii-logo-type 71b65e5

Improvement

  • libs: update {fmt} 92babc4
  • makefile: don't add optimization flag if already set 865c734
  • Improved documentation and grammar

Changes

  • separate ram.swap members modules to it's own module swap 784acc6
  • rename sep_title to title_sep eb0909a

Full Changelog: v0.9.0...v0.9.2

customfetch v0.9.0

01 Sep 15:45
v0.9.0
bc3769d

Choose a tag to compare

Wanted to make this release for some fixes that I think are quite importants (no security risks)

Highlights

  • 41f859f fix the regression (bug) of the ${0} and ${1} components from previous release for the layout too
  • 3091d0a fully fix aligning ascii art and layout
  • 846809e fix bug for gui mode where span tags would be replaced with &lt;span>

Features

  • 2c96c90 add multiple color options in hexcodes colors
  • 5cbeeae install cufetch.desktop (only if compiled with GUI_MODE=1)
  • 35bebfc add --sep-reset and --sep-title
  • 412e587 add $<user.sep_title>
  • fb159ea add uninstall to Makefile

Fixes

Full Changelog: v0.8.8...v0.9.0

customfetch v0.8.8

27 Aug 06:36
v0.8.8
a016458

Choose a tag to compare

(I had to re-release v0.8.8 for commit a016458 to fix those functions)

I wanted to release this version to fix bug in GUI mode for some logos like debian and because i'll be away for 3 days.

In this version I fixed some bugs in the GUI mode and now the packages will be compiled with Ubuntu 20.04, so you won't get the error about GLIBC versions older than 2.34.

Highlight

  • 124081c fix regression (bug) when the source logo has ${1} or ${0} at start in GUI mode

Features

Improvements

  • 43d8a0c improve $<user.wm_name> query

Full Changelog: v0.8.6...v0.8.8

customfetch v0.8.6

22 Aug 16:13
v0.8.6
f3c8d00

Choose a tag to compare

This is the 1st alpha release of customfetch. I hope you like :D

Please report any bugs that happens, it's still in WIP, but pretty stable

Morty Proxy This is a proxified and sanitized view of the page, visit original site.