Alexays/Waybar
Productivity & UtilitiesWayland status bar for wlroots compositors, built with C++ and GTK.
Overview
Waybar is a highly customizable status bar for Wayland compositors, especially those based on wlroots such as Sway, Hyprland, River, Niri and Wayfire. It puts workspace indicators, system resources, connectivity, audio state, media playback, clock and calendar, and system tray into one configurable surface Waybar.
The bar is written in C++ and uses GTK/gtkmm. Its usefulness comes from two layers: compositor integration modules that read workspace, window, layout, language and mode state from the running compositor, and standalone modules for hardware and desktop services such as battery, CPU, memory, disk, temperature, network, Bluetooth, PulseAudio/WirePlumber, MPD, MPRIS and custom scripts module overview. Each module is documented on the wiki.
Waybar is aimed at Wayland users who want a persistent status bar and are comfortable editing a JSONC configuration file and a CSS stylesheet. It is not an all-in-one desktop shell; it assumes a compatible compositor is already running.
Quick Start
To try Waybar from source without installing it, clone the repository and build with Meson:
git clone https://github.com/Alexays/Waybar
cd Waybar
meson setup build
ninja -C build
./build/waybar
On Ubuntu, the README lists the development packages needed for a source build, including libgtkmm-3.0-dev, libjsoncpp-dev, libsigc++-2.0-dev, libwayland-dev, scdoc and upower Ubuntu dependencies. Arch users have a corresponding pacman list in the README.
After it launches, copy the default configuration and stylesheet into ~/.config/waybar/ and edit them. Configuration and styling guides cover the available options, and the examples page collects community setups configuration guide styling guide examples.
Most distributions package Waybar; check the installation wiki page and the downstream packaging list for a package installation. To install a local build instead of running from the build directory, use ninja -C build install.
Constraints
Waybar runs on Wayland and is designed for wlroots-based compositors. Compositor integration differs by compositor: for example, workspace, window, language and mode support varies across Sway, River, Hyprland, Niri, Mango, DWL, Wayfire and Umbriel, and DWL additionally requires an IPC patch compositor support table.
Some modules depend on optional runtime libraries: PulseAudio needs libpulse, Network needs libnl, the tray needs libappindicator-gtk3 and libdbusmenu-gtk3, MPD needs libmpdclient, sndio needs libsndio, and KeyboardState needs libevdev runtime dependencies. Without the relevant library, the corresponding module cannot be used.
Module documentation is maintained in the man/ directory as scdoc pages and synced to the wiki; contributors should edit the man pages rather than the wiki contributing section. The project is MIT licensed.
HotRepo's take
Waybar has a substantial footprint: 12,133 stars and 1,203 forks on GitHub, with an established release page and distribution packaging. In HotRepo's recorded daily C++ ranking for 2026-11-06, it held position 18 with 5 stars gained that day. That record is a single daily snapshot for the C++ list, not a trend line, and the repository's best all-language daily rank is not recorded. What the data supports is a mature, actively packaged project still receiving modest daily attention, rather than an emerging tool.
Written by AI from the project's README, updated . The project's own docs are the source of truth.