Skip to content

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
Step-by-step guide: how to use WaybarInstall, first run, examples, tips and FAQs

How to get it

  1. 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/Waybar

    Enter the project folder

    cd Waybar

    Set up the build

    meson setup build

    Compile the project

    ninja -C build
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
Waybar (this)12.1kAppintermediate9 days agoSway or Hyprland users who want a configurable status bar
eww12.7kAppintermediate4 months agoLinux users who run a tiling or minimal window manager and want custom bars or panels
polybar15.4kAppintermediate1.1 years agoLinux users who run a tiling window manager such as i3 or bspwm
sway17.5kAppintermediate2 months agoLinux users who already use i3 and want Wayland
webview14.3kLibraryintermediate16 days agoC 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.