
Waybar
A customizable status bar for Wayland desktops like Sway and Hyprland.
- Stars
- 12.1k
- Forks
- 1.2k
- Licence
- MIT
- Language
- C++
- Last update
- 9 days ago
- Type
- App
What it is
Waybar is a top bar for Linux desktops that use Wayland, the newer display system that replaces X11. It shows workspaces, the clock, battery, network, audio, and many other status items, and you control what appears and how it looks through config and style files. It is aimed at people who run tiling window managers such as Sway and want a bar they can fully customize.
- Show workspace indicators for your Sway or Hyprland session
- Display battery, network, and audio status in the bar
- Add custom scripts to show any information you choose
- Show media playback information through the MPRIS module
- Use the system tray to keep background app icons visible
Great for
- Sway or Hyprland users who want a configurable status bar
- People comfortable editing JSON and CSS-style config files
- Users who want modules for battery, network, audio, or media on a Wayland setup
- Tiling window manager users on wlroots-based compositors
Not ideal for
- Users on X11, since the README describes it as a Wayland bar
- Users who want a bar that works without editing config files, since it expects manual setup
- Users on GNOME or KDE desktops, since it is built for Sway and wlroots-based compositors
How to get it
- 1
Clone and build from source
You'll need: Meson · Ninja · A C++ compiler · Build and runtime libraries listed in the README (gtkmm3, jsoncpp, libsigc++, fmt, wayland, spdlog, and others)
Clone the repository
git clone https://github.com/Alexays/WaybarEnter the project folder
cd WaybarSet up the build
meson setup buildCompile the project
ninja -C build - 2
Run it
- Build the project with the commands above
- Run ./build/waybar to launch it without installing
- Copy the default config and stylesheet into ~/.config/waybar/ to customize
- Edit the config and restart Waybar to see changes
- 3
Get the most out of it
- Use the wiki Configuration and Styling guides to change modules and appearance
- Browse the community Examples page for ready-made setups
- Enable optional modules such as Network, Bluetooth, or PulseAudio by installing their listed dependencies
- Use the Custom scripts module to display information the built-in modules do not cover
Downloads
Strengths
- Supports many compositors, including Sway, River, Hyprland, and Niri, per the README table
- Large library of modules documented on the project wiki
- Released under the MIT license, which permits free use and modification
Trade-offs
- Setup requires editing config and style files, and the README points to a wiki for details
- Many optional modules need extra libraries, so the dependency list is long
- The latest release is 0.15.0 and the README notes no binaries are provided, so you typically build or install from a distribution package
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| Waybar (this) | 12.1k | App | intermediate | 9 days ago | Sway or Hyprland users who want a configurable status bar |
| eww | 12.7k | App | intermediate | 4 months ago | Linux users who run a tiling or minimal window manager and want custom bars or panels |
| polybar | 15.4k | App | intermediate | 1.1 years ago | Linux users who run a tiling window manager such as i3 or bspwm |
| sway | 17.5k | App | intermediate | 2 months ago | Linux users who already use i3 and want Wayland |
| webview | 14.3k | Library | intermediate | 16 days ago | C or C++ developers who want an HTML-based GUI without bundling a full browser framework |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.