1
0
Fork 0
mirror of https://github.com/Alexays/Waybar.git synced 2026-07-27 06:51:41 +00:00
Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
  • C++ 93.7%
  • Shell 2.2%
  • Meson 2%
  • Python 0.7%
  • CSS 0.4%
  • Other 1%
Find a file
Alexis Rouillard 30610d3b68
Merge pull request #5212 from bjnobre/fix/dynamic-tooltip-updates
fix(tooltips): keep dynamic tooltips from resetting hover delay
2026-07-21 21:13:14 +02:00
.github docs(man): add load 2026-07-06 16:56:17 +02:00
Dockerfiles ci: relax gentoo gtkmm dependency requirement 2025-06-21 16:05:00 -04:00
include fix(tooltips): keep dynamic tooltips from resetting hover delay 2026-07-20 11:20:39 -04:00
man cavaBump 2026-07-21 15:17:55 +03:00
nix cavaBump 2026-07-21 15:17:55 +03:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol fix using the ext-idle-notify-v1 protocol 2025-10-17 19:42:53 -05:00
resources Merge pull request #4504 from ErikReider/geoclue-privacy 2026-07-04 01:50:22 +02:00
src Merge pull request #5212 from bjnobre/fix/dynamic-tooltip-updates 2026-07-21 21:13:14 +02:00
subprojects cavaBump 2026-07-21 15:17:55 +03:00
test ci(smoke): keep the compositor alive between hardware cases 2026-07-06 02:08:06 +02:00
.clang-format refactor: lint 2022-04-06 08:37:19 +02:00
.clang-tidy clang-tidy: comment case styling options 2024-05-11 16:19:46 +02:00
.editorconfig chore: Add EditorConfig file 2019-04-18 15:55:45 +02:00
.envrc feat: enable direnv and fix flake devshell output 2024-01-08 12:47:32 -06:00
.gitignore feat: gitignore heaptrack dumps 2026-03-19 00:29:01 -05:00
.gitmodules Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
_codeql_detected_source_root Complete fix for Pango NULL layout crash 2026-02-04 08:55:08 +00:00
asan.supp add asan.supp 2025-08-23 18:25:45 +02:00
CONTRIBUTING.md docs: merge coding conventions into CONTRIBUTING.md 2026-07-14 09:29:06 +03:00
default.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
flake.lock flake.lock: Update 2026-02-01 00:18:11 +00:00
flake.nix chore(flake): nixfmt-rfc-style -> nixfmt 2025-08-12 13:28:07 -05:00
LICENSE Update LICENSE, fix license year 2025-01-01 06:34:11 -05:00
Makefile refactor(makefile): allow build on test command 2025-08-13 14:09:01 -05:00
meson.build cavaBump 2026-07-21 15:17:55 +03:00
meson_options.txt create partial wwan module 2026-07-04 01:36:23 +02:00
preview-2.png chore: optimize preview 2018-10-01 18:56:58 +02:00
preview.png chore: optimize preview 2018-10-01 18:56:58 +02:00
README.md docs: revamp README and add contributor docs 2026-07-04 13:06:47 +02:00
tsan.supp Add tsan.supp file to easily ignore common tsan issues from external libraries 2025-08-19 23:56:08 +02:00

Waybar

License Donate CI Release

Waybar

Highly customizable Wayland bar for Sway and wlroots-based compositors.
Available in all major distributions.

Installation · Wiki · Configuration · Styling · Examples · FAQ

Features

Compositor integration

Compositor Workspaces / Tags Window Layout Language Mode
Sway
River
Hyprland
Niri
Mango
DWL
Wayfire

DWL requires the dwl IPC patch.

Modules

…and more. Every module is documented on the wiki (see the Modules sidebar).

Getting started

git clone https://github.com/Alexays/Waybar
cd Waybar
meson setup build
ninja -C build
./build/waybar          # run without installing

Waybar launches with a sensible default config. To make it yours, copy the default config and stylesheet into ~/.config/waybar/ and edit them. The Configuration and Styling guides cover every option, and Examples has ready-to-use community setups.

Installation

Waybar is packaged by most distributions:

Packaging status

An Ubuntu PPA with more recent versions is available here.

Building from source

git clone https://github.com/Alexays/Waybar
cd Waybar
meson setup build
ninja -C build
ninja -C build install   # optional
Runtime dependencies
gtkmm3       jsoncpp      libsigc++    fmt          wayland
chrono-date  spdlog       xkbregistry  libgtk-3-dev upower

libpulse             [Pulseaudio module]
libnl                [Network module]
libappindicator-gtk3 [Tray module]
libdbusmenu-gtk3     [Tray module]
libmpdclient         [MPD module]
libsndio             [sndio module]
libevdev             [KeyboardState module]
Build dependencies
cmake   meson   scdoc   wayland-protocols
Install dependencies — Ubuntu
sudo apt install \
  clang-tidy gobject-introspection libdbusmenu-gtk3-dev libevdev-dev \
  libfmt-dev libgirepository1.0-dev libgtk-3-dev libgtkmm-3.0-dev \
  libinput-dev libjsoncpp-dev libmpdclient-dev libnl-3-dev libnl-genl-3-dev \
  libpulse-dev libsigc++-2.0-dev libspdlog-dev libwayland-dev scdoc upower \
  libxkbregistry-dev
Install dependencies — Arch
pacman -S --asdeps \
  gtkmm3 jsoncpp libsigc++ fmt wayland chrono-date spdlog gtk3 \
  gobject-introspection libgirepository libpulse libnl libappindicator-gtk3 \
  libdbusmenu-gtk3 libmpdclient sndio libevdev libxkbcommon upower meson \
  cmake scdoc wayland-protocols glib2-devel

Contributing

Contributions are welcome — see CONTRIBUTING.md. The style guidelines are Google's C++ style.

Docs live in the man pages. Module documentation is written in man/ (scdoc) and auto-synced to the wiki. Edit the man page, not the wiki — see .github/wiki.

Caution

Distributions of Waybar are only released on the official GitHub page.
Waybar does not have an official website. Do not trust any site claiming to be official.

License

Waybar is licensed under the MIT license. See LICENSE for details.