1
0
Fork
You've already forked yambar
0
forked from dnkl/yambar
Modular status panel for X11 and Wayland, inspired by https://github.com/jaagr/polybar
  • C 97.1%
  • Meson 2.5%
  • Shell 0.4%
Find a file
2021年07月08日 00:32:53 +02:00
.builds ci: build on alpine/latest, not edge 2021年04月07日 21:21:19 +02:00
bar bar/wayland: Handle monitor mode change 2021年07月08日 00:32:53 +02:00
completions log: make more logging options configurable 2020年02月05日 19:42:48 +01:00
decorations meson: add 'fcft' dependency to decorations and modules 2019年12月01日 18:02:23 +01:00
doc config: add bar.trackpad-sensitivity 2021年07月01日 17:15:54 +02:00
examples add changes in response to PR #58 comments 2021年06月14日 22:42:22 +04:30
external external: wlr-protocols: bump 2021年06月27日 10:51:32 +02:00
modules modules: Implement workspace move event 2021年07月06日 14:23:58 +02:00
particles particles: fix mouse hover on non-primitive particles 2021年07月02日 16:36:09 +02:00
subprojects subprojects: use meson wrap files for tllist+fcft 2020年12月25日 12:22:15 +01:00
test Rename project: f00bar -> yambar 2019年09月28日 20:39:45 +02:00
.gitignore subprojects: use meson wrap files for tllist+fcft 2020年12月25日 12:22:15 +01:00
.gitlab-ci.yml ci: build on alpine/latest, not edge 2021年04月07日 21:21:19 +02:00
.gitmodules fcft/tllist: remove git submodules 2020年01月11日 14:43:26 +01:00
CHANGELOG.md changelog: mouse buttons + scrolling 2021年07月04日 19:50:15 +02:00
color.h initial commit: wip 2018年11月17日 11:30:33 +01:00
config-verify.c config: add bar.trackpad-sensitivity 2021年07月01日 17:15:54 +02:00
config-verify.h Add support binding on-click handlers to other buttons than LEFT 2021年07月01日 17:15:53 +02:00
config.c config: add bar.trackpad-sensitivity 2021年07月01日 17:15:54 +02:00
config.h fcft: adjust to fcft-2.0 API changes 2020年04月22日 11:50:29 +02:00
decoration.h cairo: replace cairo with pixman in decos, particles and modules 2019年09月22日 01:56:58 +02:00
generate-version.sh generate-version: check for .git directory in *src* dir 2020年03月06日 22:16:33 +01:00
LICENSE license: MIT 2019年01月02日 11:24:28 +01:00
log.c log: make syslog facility and level configurable, always log filename+lineno 2020年02月20日 19:49:27 +01:00
log.h log: make syslog facility and level configurable, always log filename+lineno 2020年02月20日 19:49:27 +01:00
main.c main: call fcft_log_init(). Note that this requires fcft >= 2.3.90 2021年04月17日 20:35:48 +02:00
meson.build particle/string: use fcft_text_run_rasterize() when available 2021年05月24日 17:38:43 +02:00
meson_options.txt meson: initial support for building plugins as shared libraries 2019年05月01日 18:21:35 +02:00
module.c bar, module: particles may no longer return NULL in instantiate() 2020年11月25日 20:41:10 +01:00
module.h module: add ‘description()’ to the module interface 2021年06月20日 21:14:12 +02:00
particle.c particle: on-mouse: close the read pipe after reading from it, in parent 2021年07月01日 17:15:53 +02:00
particle.h config+particle: add support for mouse wheel up/down 2021年07月01日 17:15:53 +02:00
PKGBUILD pkgbuild: bump fcft requirement to 2.4.0 2021年05月25日 19:00:31 +02:00
PKGBUILD.wayland-only pkgbuild: bump fcft requirement to 2.4.0 2021年05月25日 19:00:31 +02:00
plugin.c module/script: wip: new plugin, reads data from a user provided script/binary 2020年11月25日 20:36:44 +01:00
plugin.h plugins: export a const function pointer interface struct 2019年01月26日 18:32:04 +01:00
README.md subprojects: use meson wrap files for tllist+fcft 2020年12月25日 12:22:15 +01:00
screenshot.png screenshot: update 2019年09月28日 21:20:03 +02:00
stride.h font: initial port from cairo scaled fonts to raw freetype + pixman 2019年09月22日 00:50:11 +02:00
tag.c Add support binding on-click handlers to other buttons than LEFT 2021年07月01日 17:15:53 +02:00
tag.h Add support binding on-click handlers to other buttons than LEFT 2021年07月01日 17:15:53 +02:00
xcb.c misc: xcb_connect() always returns a non-NULL pointer 2019年01月19日 18:45:15 +01:00
xcb.h xcb: extern declare cached XCB atoms in header file 2020年06月05日 13:30:08 +02:00
yambar.desktop desktop: add Desktop Entry file 2019年09月29日 20:58:15 +02:00
yml.c yml: don’t crash when (trying to) merge anchors that aren’t dictionaries 2021年02月11日 19:02:14 +01:00
yml.h yml: add line/column info to every node 2019年01月11日 23:20:06 +01:00

Yambar

Packaging status

Index

  1. Introduction
  2. Configuration
  3. Modules
  4. Installation
  5. Bugs

Introduction

screenshot

yambar is a lightweight and configurable status panel (bar, for short) for X11 and Wayland, that goes to great lengths to be both CPU and battery efficient - polling is only done when absolutely necessary.

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 - a background color or a graphical underline, for example.

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

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

bar:height:26location:topbackground:000000ffright:- clock:content:- string:{text: , font:"Font Awesome 5 Free:style=solid:size=12"}- string:{text:"{date}", right-margin:5}- string:{text: , font:"Font Awesome 5 Free:style=solid:size=12"}- string:{text:"{time}"}

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

Example configurations can be found in examples.

Modules

Available modules:

  • alsa
  • backlight
  • battery
  • clock
  • i3 (and Sway)
  • label
  • mpd
  • network
  • removables
  • river
  • script (see script examples)
  • sway-xkb
  • xkb (XCB backend only)
  • xwindow (XCB backend only)

Installation

To build, first, create a build directory, and switch to it:

mkdir -p bld/release && cd bld/release

Second, configure the build (if you intend to install it globally, you might also want --prefix=/usr):

meson --buildtype=release ../..

Optionally, explicitly disable a backend (or enable, if you want a configuration error if not all dependencies are met) by adding either -Dbackend-x11=disabled|enabled or -Dbackend-wayland=disabled|enabled to the meson command line.

Three, build it:

ninja

Optionally, install it:

ninja install

Bugs

Please report bugs to https://codeberg.org/dnkl/yambar/issues

The report should contain the following:

  • Which Wayland compositor (and version) you are running
  • Yambar version (yambar --version)
  • Log output from yambar (start yambar from a terminal)
  • If reporting a crash, please try to provide a bt full backtrace with symbols (i.e. use a debug build)
  • Steps to reproduce. The more details the better