1
0
Fork
You've already forked yambar
0
forked from dnkl/yambar
**NOT DEVELOPED ANYMORE** Modular status panel for X11 and Wayland, inspired by https://github.com/jaagr/polybar
  • C 96.2%
  • Meson 2.8%
  • Yacc 0.4%
  • Lex 0.3%
  • Shell 0.3%
Find a file
2025年05月05日 08:14:47 +02:00
.builds ci: sr.ht: skip codespell (this is done in woodpecker) 2025年03月05日 08:21:03 +01:00
bar bar/wayland: Add unused attribute to count 2025年03月05日 08:25:17 +01:00
completions main: change default log level to warning 2024年01月03日 15:20:31 +01:00
decorations Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
doc module_mpris: Added 'query-timeout' option 2025年03月09日 23:02:59 +01:00
examples examples: codespell: re-using -> reusing 2025年03月05日 08:21:54 +01:00
external module/river: add support for ‘layout’ events 2023年01月12日 18:15:16 +01:00
modules Merge branch 'mpris-fixes' 2025年03月20日 09:00:03 +01:00
particles particle/map: code style 2024年10月02日 08:10:53 +02:00
subprojects subprojects: use meson wrap files for tllist+fcft 2020年12月25日 12:22:15 +01:00
test meson: guard the full-conf-good test by the plugins it expects 2025年03月10日 07:57:47 +01:00
.clang-format Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
.editorconfig misc: add format files for clang-format and editorconfig 2021年12月21日 18:44:37 +01:00
.gitignore subprojects: use meson wrap files for tllist+fcft 2020年12月25日 12:22:15 +01:00
.gitmodules fcft/tllist: remove git submodules 2020年01月11日 14:43:26 +01:00
.woodpecker.yaml Fix remaining typos in the codebase (and update CI checks) 2024年05月02日 16:28:51 +00:00
CHANGELOG.md Added 'MPRIS' module 2025年03月05日 08:37:02 +01:00
char32.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
char32.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
color.h initial commit: wip 2018年11月17日 11:30:33 +01:00
config-verify.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
config-verify.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
config.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
config.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
decoration.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
font-shaping.h config: add inheritable option "font-shaping" 2022年02月23日 18:43:13 +01:00
generate-version.sh generate-version: handle git repo not having any tags 2021年10月11日 20:21:07 +02:00
LICENSE license: MIT 2019年01月02日 11:24:28 +01:00
log.c log: respect the NO_COLOR environment variable 2024年07月18日 08:31:46 +02:00
log.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
main.c Open sockets, files etc with FD_CLOEXEC 2024年10月23日 09:36:59 +02:00
meson.build meson: require 0.60.0 2025年03月10日 01:24:55 +01:00
meson_options.txt Added 'MPRIS' module 2025年03月05日 08:37:02 +01:00
module.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
module.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
particle.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
particle.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
PKGBUILD meson/pkgbuild: bump version to 1.11.0 2024年04月17日 10:30:54 +02:00
PKGBUILD.wayland-only meson/pkgbuild: bump version to 1.11.0 2024年04月17日 10:30:54 +02:00
plugin.c Added 'MPRIS' module 2025年03月05日 08:37:02 +01:00
plugin.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
README.md readme: goodbye! 2025年05月05日 08:14:47 +02: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 tag: remove the :b formatter 2024年09月05日 08:23:47 +02:00
tag.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00
xcb.c Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02: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: replace_env_variables(): const:ify function variables 2024年06月09日 10:05:21 +02:00
yml.h Apply "clang-format" preferences globally 2024年04月07日 10:05:10 +02:00

CI status

Yambar

This project is not developed anymore, and this repository will be archived in a near future.

I do not have neither the time nor the will to work on this anymore. Mainly because I do not use a bar myself anymore.

There are also technical difficulties, caused by the fact that yambar was initially X11, and only later was Wayland support added.

This means I have to maintain a backend (X11) I have not used myself in many years, as well as trying to work around technical limitations imposed by the way both X11 and Wayland is supported, As my own use of a bar has dwindled, the will to refactor and improve the backends has disappeared.

Yambar has seen a lot of contributions, for which I am very grateful. I hope that means someone is willing to pick up where I left of, and continue working on yambar. If not, we at least had a good run; the first commit was in late 2018, roughly 61⁄2 years ago!

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 6 Free:style=solid:size=12"}- string:{text:"{date}", right-margin:5}- string:{text: , font:"Font Awesome 6 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
  • cpu
  • disk-io
  • dwl
  • foreign-toplevel
  • i3 (and Sway)
  • label
  • mem
  • mpd
  • network
  • pipewire
  • pulse
  • 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 setup --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