Modular status panel for X11 and Wayland, inspired by https://github.com/jaagr/polybar
Find a file
2019-05-07 20:43:27 +02:00
bar meson: use a local copy of wlr-layer-shell-unstable-v1.xml 2019-05-07 20:42:19 +02:00
decorations meson: assign get_option('core-plugins-as-shared-libraries') to variable 2019-05-06 21:49:20 +02:00
doc doc: document -v,--version option 2019-05-07 20:26:55 +02:00
external meson: use a local copy of wlr-layer-shell-unstable-v1.xml 2019-05-07 20:42:19 +02:00
modules meson: modules: dictionaries can be added 2019-05-06 22:03:19 +02:00
particles meson: assign get_option('core-plugins-as-shared-libraries') to variable 2019-05-06 21:49:20 +02:00
.gitignore initial commit: wip 2018-11-17 11:30:33 +01:00
.gitlab-ci.yml ci: switch to meson 2019-05-01 20:07:15 +02:00
.gitmodules Pull in wlr-protocols instead of wlroots 2019-02-12 20:00:35 +01:00
color.h initial commit: wip 2018-11-17 11:30:33 +01:00
config-verify.c config: make border.width and border.color optional 2019-02-17 15:47:13 +01:00
config-verify.h config: conf_verify_dict() now assumes attr list is NULL-terminated 2019-01-13 11:37:05 +01:00
config.c bar: add margin properties to the border 2019-02-17 15:45:02 +01:00
config.h decorations: are now plugins 2019-01-13 17:43:25 +01:00
decoration.h decorations: are now plugins 2019-01-13 17:43:25 +01:00
font.c font: ref-count font objects 2019-01-15 21:01:18 +01:00
font.h font: use font-config to load font 2019-01-09 18:50:16 +01:00
LICENSE license: MIT 2019-01-02 11:24:28 +01:00
log.c log: colorize console output only when stdout is a tty 2019-01-26 15:14:45 +01:00
log.h log: LOG_ERRNO_P(), like LOG_ERRNO(), except user provides errno value 2018-12-31 13:18:22 +01:00
main.c main: add -v,--version command line option 2019-05-07 20:24:51 +02:00
meson.build meson: bump version to 1.0.2 after 1.0.1 release 2019-05-07 20:29:48 +02:00
meson_options.txt meson: initial support for building plugins as shared libraries 2019-05-01 18:21:35 +02:00
module.c particle/module: pass a cairo context to all begin_expose() 2019-02-28 20:10:26 +01:00
module.h particle/module: pass a cairo context to all begin_expose() 2019-02-28 20:10:26 +01:00
particle.c particle: ignore write() return value 2019-05-04 11:26:58 +02:00
particle.h particle/module: pass a cairo context to all begin_expose() 2019-02-28 20:10:26 +01:00
PKGBUILD PKGBUILD: bump version 2019-05-07 20:33:43 +02:00
PKGBUILD.wayland-only PKGBUILD: bump version 2019-05-07 20:33:43 +02:00
plugin.c plugin: set lib = RTLD_DEFAULT for builtin plugins 2019-05-01 12:39:00 +02:00
plugin.h plugins: export a const function pointer interface struct 2019-01-26 18:32:04 +01:00
README.md README: remove configuration details 2019-05-04 14:39:15 +02:00
screenshot.png README: some text; let's see what this looks like 2019-01-20 19:26:31 +01:00
tag.c tag: add support for "hex" and "oct" format modifiers 2019-01-21 21:05:38 +01:00
tag.h Reduce header intra-dependencies 2019-01-13 19:42:16 +01:00
tllist.h tllist: cast away const in tll_{r,}foreach() 2018-12-15 11:46:34 +01:00
xcb.c misc: xcb_connect() always returns a non-NULL pointer 2019-01-19 18:45:15 +01:00
xcb.h xcb: add xcb_error(), a generic describe-an-x-error function 2019-01-15 20:44:21 +01:00
yml.c yml: handle root's node being NULL 2019-04-29 18:49:44 +02:00
yml.h yml: add line/column info to every node 2019-01-11 23:20:06 +01:00

F00bar

pipeline status

Index

  1. Introduction
  2. Configuration
  3. Modules

Introduction

screenshot

f00bar is a light-weight and configurable status panel (bar, for short) for X and Wayland.

It has a number of modules that provide information in the form of tags. For example, the clock module has a date tag that contains the current date.

The modules do not know how to present the information though. This is instead done by particles. And the user, you, decides which particles (and thus how to present the data) to use.

Furthermore, each particle can have a decoration. These are things like a different background, or an graphical underline.

There is no support for images or icons. use an icon font (e.g. Font Awesome, or Material Icons) if you want a graphical representation.

There are a number of modules and particles builtin. More can be added as plugins. You can even write your own!

To summarize: a bar displays information provided by modules, using particles and decorations. How is configured by you.

Configuration

F00bar is configured using YAML, in ~/.config/f00bar/config.yml. It must define a top-level dictionary named bar:

bar:
  height: 26
  location: top
  background: 000000ff

  right:
    - clock:
        content:
          - string: {text: , font: *awesome}
          - string: {text: "{date}", right-margin: 5}
          - string: {text: , font: *awesome}
          - string: {text: "{time}"}

For details, see the man pages (f00bar(5) is a good start).

Modules

Available modules:

  • alsa
  • backlight
  • battery
  • clock
  • i3 (and Sway)
  • label
  • mpd
  • network
  • removables
  • xkb (XCB backend only)
  • xwindow (XCB backend only)