Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
Find a file
Alex 41de8964f1
Some checks failed
clang-format / lint (push) Has been cancelled
freebsd / build (push) Has been cancelled
linux / build (c++20, alpine) (push) Has been cancelled
linux / build (c++20, archlinux) (push) Has been cancelled
linux / build (c++20, debian) (push) Has been cancelled
linux / build (c++20, fedora) (push) Has been cancelled
linux / build (c++20, gentoo) (push) Has been cancelled
linux / build (c++20, opensuse) (push) Has been cancelled
Nix-Tests / nix-flake-check (push) Has been cancelled
chore: 0.14.0
2025-08-08 09:15:22 +02:00
.github fix: compat freebsd 2025-06-22 09:55:57 +02:00
Dockerfiles ci: relax gentoo gtkmm dependency requirement 2025-06-21 16:05:00 -04:00
include Merge pull request #4319 from M0streng0/master 2025-08-08 08:56:07 +02:00
man Merge pull request #4208 from markx86/feat/battery-events 2025-08-08 08:54:32 +02:00
nix added IPC fix and Nix GPS fix 2025-06-22 13:15:18 +01:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol wlr/workspaces: port to ext-workspace-v1 2025-06-29 21:51:31 +02:00
resources Merge pull request #4095 from Fengerros/patch-1 2025-06-22 08:26:37 +01:00
src fix: lint 2025-08-08 08:59:10 +02:00
subprojects libCava bump: 0.10.4 2025-04-15 16:33:07 +03:00
test refactor: avoid namespace pollution in util/date.hpp 2025-06-22 00:50:25 -04: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 .gitignore: add .ccls-cache 2024-05-24 14:21:31 -05:00
.gitmodules Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
default.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
flake.lock flake.lock: Update 2025-08-01 00:14:36 +00:00
flake.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
LICENSE Update LICENSE, fix license year 2025-01-01 06:34:11 -05:00
Makefile Makefile: fix meson deprecations 2024-05-28 15:41:10 -05:00
meson.build chore: 0.14.0 2025-08-08 09:15:22 +02:00
meson_options.txt Start GPS module 2025-04-18 22:56:36 +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 adding dependency command for arch 2025-07-15 00:19:55 +02:00

Waybar Licence Paypal Donate
Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors.
Available in all major distributions
Waybar examples

Current features

  • Sway (Workspaces, Binding mode, Focused window name)
  • River (Mapping mode, Tags, Focused window name)
  • Hyprland (Window Icons, Workspaces, Focused window name)
  • Niri (Workspaces, Focused window name, Language)
  • DWL (Tags, Focused window name) requires dwl ipc patch
  • Tray #21
  • Local time
  • Battery
  • UPower
  • Power profiles daemon
  • Network
  • Bluetooth
  • Pulseaudio
  • Privacy Info
  • Wireplumber
  • Disk
  • Memory
  • Cpu load average
  • Temperature
  • MPD
  • Custom scripts
  • Custom image
  • Multiple output configuration
  • And many more customizations

Configuration and Styling

See the wiki for more details.

Installation

Waybar is available from a number of Linux 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
$ ./build/waybar
# If you want to install it
$ ninja -C build install
$ waybar

Dependencies

gtkmm3
jsoncpp
libsigc++
fmt
wayland
chrono-date
spdlog
libgtk-3-dev [gtk-layer-shell]
gobject-introspection [gtk-layer-shell]
libgirepository1.0-dev [gtk-layer-shell]
libpulse [Pulseaudio module]
libnl [Network module]
libappindicator-gtk3 [Tray module]
libdbusmenu-gtk3 [Tray module]
libmpdclient [MPD module]
libsndio [sndio module]
libevdev [KeyboardState module]
xkbregistry
upower [UPower battery module]

Build dependencies

cmake
meson
scdoc
wayland-protocols

On Ubuntu, you can install all the relevant dependencies using this command (tested with 19.10 and 20.04):

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

On Arch, you can use this command:

pacman -S \
  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

Contributions welcome!
Have fun :)
The style guidelines are Google's

License

Waybar is licensed under the MIT license. See LICENSE for more information.