/yabar

A modern and lightweight status bar for X window managers.

Primary LanguageCMIT LicenseMIT

Yabar

A modern and lightweight status bar for X window managers. Build Status

Screenshots

screen 01 screen 02 screen 03

Description

Yabar is a modern and lightweight status bar that is intended to be used along with minimal X window managers like bspwm and i3. Yabar has the following features:

  • Extremely configurable with easy configuration system using a single config file.
  • A growing set of ready-to-use internal blocks developed in plain c.
  • Pango font rendering with support of Pango Markup Language.
  • Support for icons and images.
  • Support for transparency.
  • Multi-monitor support using RandR.
  • Entirely clickable.
  • Support for several environment variables to help button commands.
  • Multiple bars within the same session.

Warning: Yabar is still in its infancy and far from being mature. Feel free to contribute or report bugs!

Terminology

A Yabar session should contain one or more bars within the same session. Each bar should contain one or more blocks. Each block should display some useful info to the user (free memory, CPU temperature, etc...).

Installation

Packages

ArchLinux

AUR: yabar and yabar-git

Debian

Yabar is available in the official repositories since Debian Stretch (9.0):

# apt install yabar

Ubuntu

yabar in Yakkety Yak

NixOS / Nix

yabar is available in the official nixpkgs package set and can be installed easily:

nix-env -iA nixos.yabar

Since NixOS 18.03 (Impala) there's a yabar-unstable package which is built from the latest master.

From Source

Yabar initially requires a C compiler (e.g. gcc or clang), make as well as the libraries libconfig, cairo, pango and alsa. The feature DYA_INTERNAL_EWMH in Makefile additionaly xcb-ewmh (or xcb-util-wm in some distros) and the feature -DYA_ICON requires gdk-pixbuf2. These dependencies can be installed through your distribution's package manager:

  • Fedora: dnf install libconfig-devel cairo-devel pango-devel gdk-pixbuf2-devel alsa-lib-devel xcb-util-wm-devel wireless-tools-devel libxkbcommon-devel libxkbcommon-x11-devel
  • Debian / Ubuntu: apt-get install libcairo2-dev libpango1.0-dev libconfig-dev libxcb-randr0-dev libxcb-ewmh-dev libxcb-icccm4-dev libgdk-pixbuf2.0-dev libasound2-dev libiw-dev libxkbcommon-dev libxkbcommon-x11-dev libxcb-xkb-dev

You can install yabar as follows:

	$ git clone https://github.com/geommer/yabar
	$ cd yabar
	$ make yabar
	$ sudo make install

If you use libconfig 1.4.x (still used in Ubuntu 14.04 and Debian Jessie), please type export CPPFLAGS=-DOLD_LIBCONFIG then build using make as usual.

Building the documentation (man page) requires AsciiDoc and a few other dependencies: asciidoc docbook-xml xsltproc

	$ make docs

This will generate the yabar man page inside doc/yabar.1.

Configuration

Please see our documentation for in-depth configuration details. Also check the provided example configuration.

License

Yabar is licensed under the MIT license. For more info check out the file LICENSE.