umberbar 🐏

minimalistic xmobar inspired status bar, in a terminal emulator.

| theme | image | | ----- | ----- | | black | black theme | | white-no-nerd | white theme | | black flames | black flames | | black ice | black ice | | black powerline | black powerline | | black circle | black circle | | black tabs | black tabs | | pixelated | black tabs | | trapezoid | trapezoid | | slash | trapezoid |

If you want a window manager that plays along well with it, have a look at umberwm.

prerequisites

downloading

Binaries are available on release page

configuration

By default, umberbar will create ~/.config/umberbar/umberbar.conf with default theme. To select a different theme use -t <theme_name> and to save it it to the configuration use -s (-h for more help).

Generated configuration will have comments discribing each fields.

You can also add additional configuration in ~/.config/umberbar/override.conf. This will allow you to switch themes via -t and -s without loosing your changes. The configuration parameters you set in this file will override the ones in umberbar.conf.

For example, here are contents of my override.conf tailored for urxvt:

term=urxvt terminal_width=241 font=FuraCode Nerd Font Mono

running from binaries

./umberbar

building / running it (crystal)

crystal build umberbar.cr

./umberbar

running it (ruby)

./umberbar.rb

using with urxvt

You can also use urxvt instead of xterm, which is nice becaues urxvt has background transparency support.

Your urxvt version should also have truecolor enabled.

just run:

./umberbar -te urxvt

For nerd font to be fully operational, make sure the font you're using is monospaced.

why does this project use crystal ?

crystal gives this project many advantages:

what are the painpoints of developing for both ruby and crystal ?

Although both languages are really close, crystal is not made to be compatible with ruby. This project uses the lowest common denominator between those (so no macro, no introspection). Where there were incompatibilites, we used the method is_ruby?.

Here is a list of incompatibilities and how we handle those: