Modular status panel for X11 and Wayland, inspired by https://github.com/jaagr/polybar
Find a file
Daniel Eklöf 0e7db5f397
module/removables: relaxed mountinfo matching criteria
Fixes mount detection on e.g. Artix Linux.
2019-09-27 19:31:12 +02:00
bar bar: repair border drawing (was using wrong height) 2019-09-22 12:38:30 +02:00
completions completions: zsh: teach it possible values for -b,--backend and -c,--config 2019-05-29 20:39:23 +02:00
decorations meson: add freetype dependency to decorations and modules 2019-09-22 12:25:11 +02:00
doc doc/f00bar-modules: document sway-xkb 2019-08-14 22:04:10 +02:00
external wlr-protocols: bump 2019-08-29 19:37:49 +02:00
modules module/removables: relaxed mountinfo matching criteria 2019-09-27 19:31:12 +02:00
particles particle/progress-bar: expand and replace on-click handler on click events only 2019-09-23 18:39:03 +02:00
test test: full-conf: add instances of all particles and decorations 2019-05-12 11:05:15 +02:00
.build.yml ci: add release, x11/wayland-only and shared-plugins builds 2019-06-07 19:31:30 +02:00
.gitignore initial commit: wip 2018-11-17 11:30:33 +01:00
.gitlab-ci.yml ci: install pixman+freetype+fontconfig instead of cairo 2019-09-22 12:29:00 +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 cairo: replace cairo with pixman in decos, particles and modules 2019-09-22 01:56:58 +02:00
config.h cairo: replace cairo with pixman in decos, particles and modules 2019-09-22 01:56:58 +02:00
decoration.h cairo: replace cairo with pixman in decos, particles and modules 2019-09-22 01:56:58 +02:00
font.c font: don't try to do fontconfig fallback on a fallback font 2019-09-22 12:44:08 +02:00
font.h font: remove lock (all rendering happens in the main thread) 2019-09-22 00:51:02 +02: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 -b,--backend command line option 2019-05-11 10:53:09 +02:00
meson.build Bump version to 1.1.0 2019-09-24 19:56:09 +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: remove cairo context from begin_expose() 2019-09-22 00:55:06 +02:00
module.h particle: remove cairo context from begin_expose() 2019-09-22 00:55:06 +02:00
particle.c particle: add missing argument to debug log 2019-09-23 18:34:23 +02:00
particle.h cairo: replace cairo with pixman in decos, particles and modules 2019-09-22 01:56:58 +02:00
PKGBUILD Bump version to 1.1.0 2019-09-24 19:56:09 +02:00
PKGBUILD.wayland-only Bump version to 1.1.0 2019-09-24 19:56:09 +02:00
plugin.c modules/sway-xkb: new module, uses sway 'input' events to expose kbd layout 2019-08-14 21:51:43 +02:00
plugin.h plugins: export a const function pointer interface struct 2019-01-26 18:32:04 +01:00
README.md README: remove badges (added directly to gitlab project instead) 2019-09-21 20:51:10 +02:00
screenshot.png README: some text; let's see what this looks like 2019-01-20 19:26:31 +01:00
stride.h font: initial port from cairo scaled fonts to raw freetype + pixman 2019-09-22 00:50:11 +02: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

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)