Macchina is a frontend for libmacchina. If you're interested in the library, check out libmacchina.
Macchina lets you view system information, like your kernel version, uptime, memory usage, processor load and much more. It provides you with convenient features and extensive customization options but still retains its two main fundamentals: performance and minimalism.
Macchina is lightning fast, see for yourself:
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 3.6 ± 0.5 | 3.0 | 5.4 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 5.0 ± 0.2 | 4.7 | 5.9 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | ---------: | -------: | -------: |
| macchina
| 17.7 ± 1.6 | 16.8 | 27.2 |
| Command | Mean [ms] | Min [ms] | Max [ms] |
| :--------- | --------: | -------: | -------: |
| macchina
| 9.0 ± 0.4 | 8.2 | 11.7 |
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 was envisioned for the program.
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.
macchina.toml
in $XDG_CONFIG_HOME/macchina
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 such a 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 | ✓ | | NetBSD | ✓ | | macOS | ✓ | | Windows | 80% | | OpenWrt | ✓ | | Android | ✓ |
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!