No description
Find a file
NBonaparte cbecc7766e Merge pull request #169 from Ma27/fix-header-segfault
Fix segfault caused by wrong value order in type enum
2017-10-11 23:51:49 -07:00
doc Add simple block for playerctl 2017-10-03 19:49:49 +02:00
examples Add simple block for playerctl 2017-10-03 19:49:49 +02:00
include Fix segfault caused by wrong value order in type enum 2017-10-12 07:58:38 +02:00
src Merge pull request #166 from Ma27/playerctl-integration 2017-10-08 17:15:23 -07:00
.gitignore Extend .gitignore with doc/yabar.1 man page (auto generated) 2017-04-15 10:32:43 +02:00
.travis.yml Make playerctl support optional with a compiler flag 2017-10-05 08:24:54 +02:00
AUTHORS Add Yabar AUTHORS file 2017-03-21 21:36:02 +01:00
CHANGELOG Add Yabar Changelog file 2017-03-21 21:59:24 +01:00
LICENSE cleanup license 2016-03-19 15:33:49 +02:00
Makefile Make playerctl support optional with a compiler flag 2017-10-05 08:24:54 +02:00
README.md Remove documentation from README and add links to man page and example config 2017-04-15 10:36:15 +02:00
shell.nix Add simple block for playerctl 2017-10-03 19:49:49 +02:00

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 in Testing (Stretch) and Unstable (Sid)

Ubuntu

yabar in Yakkety Yak

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
  • 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

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.