A minimalist and performant status bar written in C for Wayland compositors, designed to be lightweight and highly configurable.
- C 95.3%
- Python 3.7%
- CMake 1%
| include | ||
| protocols | ||
| scripts | ||
| src | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
ZBar
A minimalist and performant status bar written in C for Wayland compositors (with layer-shell support), designed to be lightweight and highly configurable.
Features
- Wayland Native: Uses
wlr-layer-shellfor seamless integration - Zurin Integration: UNIX socket-based control for workspaces and window focus for integration with the Zurin compositor
- Modular Widgets:
- Workspaces (interactive)
- Window Title
- Python Integrations (dynamic output)
- System Indicators (Volume, Network, Battery, Clock)
- Runtime Configuration: TOML-based configuration for appearance and scripts
Dependencies
Required
| Package | Description |
|---|---|
| wayland | Wayland core libraries |
| wayland-protocols | Wayland protocol definitions |
| libpulse | Audio system integration |
| python3 | Python embedding support |
| nerd-fonts | Font support for icons and special characters |
Optional
| Package | Description |
|---|---|
| zurin | Zurin compositor integration |
Build Tools
- CMake 3.12+
- pkg-config
- GCC or Clang
- wayland-scanner
Building
# Create build directory
mkdir build && cd build
# Configure
cmake ..
# Build
make -j$(nproc)
# Install
sudo make install
Running
zbar
Configuration
Edit config.toml in the project directory or ~/.config/zbar/config.toml.
Add the plugins you want to ~/.config/zbar/plugins.
Example Configuration
[appearance]
height = 32
gaps_out = 8
border_width = 2
border_color = "#1e3a5f"
background_color = "#0a1628"
font = "Mononoki Nerd Font 11"
[scripts]
music = "music.py"
weather = "weather.py"
License
GPLv3. See LICENSE file.
Contributing
Contributions are welcome! This project aims to complement the Zurin compositor ecosystem.