Wayland statusbar reading input from STDIN
build: Fix tests not running
common/flags: Update to latest upstream
ci: Update to zig 0.11


browse  log 



You can also use your local clone with git send-email.


Wayland statusbar reading input from STDIN, inspired by lemonbar.



  • zig 0.11
  • wayland
  • wayland-protocols
  • fcft 3.1.6 (see fcft requirements if you want support for everything)
  • pixman
  • pkg-config

Init submodules:

git submodule update --init

Build, e.g.

zig build -Doptimize=ReleaseSafe --prefix ~/.local


#Cli options

Usage: zelbar [OPTIONS...]

  -h                                   Print this help message and exit
  -version                             Print the version number and exit.
  -o <name>                            Select output by name
  -btm                                 Put the bar at the bottom of the output
  -L [0|1|2]                           Set layer_surface layer.
  -g <width>:<height>                  Geometry of the bar (include borders)
  -a [0|1|2]                           Alignment of the bar on the output,
                                         only used if width is not 0
  -m <top>:<right>:<bottom>:<left>     Margins of the bar
  -fn <fonts>                          Comma separated list of FontConfig
                                         formatted font specifications
  -B <color>                           Background color (0xRRGGBB|0xRRGGBBAA)
  -F <color>                           Foreground color (0xRRGGBB|0xRRGGBBAA)
  -bs <top>:<right>:<bottom>:<left>    Borders size
  -bc <color>                          Borders color (0xRRGGBB|0xRRGGBBAA)
  -lh <pixel>                          [Over|Under]line height
  -lc <color>                          [Over|Under]line color (0xRRGGBB|0xRRGGBBAA)

#Input format

The data is read from the STDIN, and parsed till the end of the line. Input string must end with a text block. Attributes are reset to default after each text block.

%{B:0xRRGGBB[AA]}            Background color
%{F:0xRRGGBB[AA]}            Foreground color
%{R}                         Swap background and foreground colors
%{O:[0xRRGGBB[AA]:size]}     Overline color:size in pixel
%{U:[0xRRGGBB[AA]:size]}     Underline color:size in pixel
%{X:size}                    Offset in pixel in the alignment direction
%{A:action}                  Text to send to the STDOUT on mouse click
%{l|c|r}                     Alignment of the text (left|center|right) in
                               the bar

See zelbar(1) man page for more information.


Output of an action on mouse button released is send to the STDOUT followed by a newline.


If you're using river, check zelbar-river to display tags status information in zelbar.




zelbar is licensed under the GNU General Public License v3.0 only.

Files in common/ and protocol/ directories are released under various licenses by various parties. You should refer to the copyright block of each files for the licensing information.