Macchina is a fetching program. If you're interested in the library, check out libmacchina.
Macchina lets you view system information, like your kernel and kernel version, uptime, memory usage, processor load and much more. It provides you with convenient features and extensive customization options but doesn't lose sight of its two main priorities, performance and minimalism.
Macchina is lightning fast, see for yourself!
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
| :--------- | ----------: | -------: | -------: | -----------: |
| macchina
| 8.2 ± 0.3 | 7.5 | 9.0 | 1.00 |
| neofetch
| 155.0 ± 5.1 | 149.5 | 165.9 | 19.02 ± 0.90 |
macchina
runs 19.02 ± 0.90 times faster than neofetch
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
| :--------- | ----------: | -------: | -------: | -----------: |
| macchina
| 5.0 ± 0.2 | 4.7 | 5.9 | 1.00 |
| neofetch
| 484.5 ± 4.3 | 477.2 | 492.3 | 97.10 ± 3.84 |
macchina
runs 97.10 ± 3.84 times faster than neofetch
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
| :--------- | ----------: | -------: | -------: | -----------: |
| macchina
| 17.7 ± 1.6 | 16.8 | 27.2 | 1.00 |
| neofetch
| 190.2 ± 2.4 | 187.9 | 195.8 | 10.76 ± 0.97 |
macchina
runs 10.76 ± 0.97 times faster than neofetch
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
| :--------- | ------------: | -------: | -------: | -------------: |
| macchina
| 9.0 ± 0.4 | 8.2 | 11.7 | 1.00 |
| neofetch
| 2207.7 ± 53.8 | 2127.1 | 2325.9 | 244.38 ± 13.43 |
macchina
runs 244.38 ± 13.43 times faster than neofetch
Macchina first started as a barebones fetcher, but has evolved to incorporate the many aspects people love to see in their fetcher. This evolution however did not discard the minimalistic look that I envisioned for Macchina.
Here's what you can make it look like using the various supported flags.
macchina -c white --no-box --no-ascii --no-separator --no-bar-delimiter --bar
Macchina comes equipped with built-in themes that style their readouts, bars and separators differently. No extra configuration required.
Bars provide a way to visualize data, and each theme styles them differently. They can be enabled using the --bar
flag.
Macchina comes with a very special flag, allowing you analyze which elements failed to fetch, and why. It can differentiate between errors, and warnings, and its comprehensive output should help you understand where the issue is coming from.
macchina --doctor
Macchina can be configured through a dotfile, macchina.toml is an example dotfile that you can use and build on top of to make it your own.
$XDG_CONFIG_HOME/macchina
and it must be named macchina.toml
.You can also create custom themes in JSON
format and use them instead of the built-in themes that we provide.
$XDG_DATA_HOME/macchina/themes
, here's an example of a custom theme:json
{
"name": "Carbon",
"bar": {
"Custom": {
"glyph": "ߋ",
"symbol_open": "[",
"symbol_close": "]"
}
},
"color": {
"Rgb": [231, 198, 100]
},
"separator": "⇉",
"separator_color": {
"Rgb": [158, 208, 114]
},
"spacing": 2,
"padding": 0,
"block_title": "┤ Carbon ├",
"abbreviation": "Classic"
}
These dependencies are not required, but they extend what Macchina can do.
wmctrl
portage-utils
wmctrl
The dependencies wiki page explains why these dependencies exist.
cargo install macchina
| Platform | Support | | :-------: | :-----: | | GNU/Linux | Yes | | NetBSD | Yes | | macOS | Yes | | Windows | 80% | | OpenWrt | Yes | | Android | Yes |
Macchina, like many other open-source projects, would not be where it is right now without the help of its contributors, thank you all so much!