Go to file
github-actions[bot] d0f5fab52b flake.lock: Update
Flake lock file updates:

• Updated input 'flake-compat':
    'github:edolstra/flake-compat/f387cd2afec9419c8ee37694406ca490c3f34ee5?narHash=sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4%3D' (2025-10-27)
  → 'github:edolstra/flake-compat/5edf11c44bc78a0d334f6334cdaf7d60d732daab?narHash=sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns%3D' (2025-12-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fad6eac6077f03fe109c4d4eb171cf96791faa4?narHash=sha256-sKoIWfnijJ0%2B9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI%3D' (2025-11-27)
  → 'github:NixOS/nixpkgs/c0b0e0fddf73fd517c3471e546c0df87a42d53f4?narHash=sha256-coBu0ONtFzlwwVBzmjacUQwj3G%2BlybcZ1oeNSQkgC0M%3D' (2025-12-28)
2026-01-01 00:14:44 +00: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 fix(cava): handle all output methods in frontend 2025-12-27 14:52:28 -05:00
man Merge pull request #4677 from mliszcz/remove-window-format 2025-12-28 23:12:44 +01:00
nix nix: bump cava again 2025-12-18 23:47:01 -06: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 Fix: style: show active workspace on hyprland 2025-09-13 08:40:30 +09:00
src Merge pull request #4677 from mliszcz/remove-window-format 2025-12-28 23:12:44 +01:00
subprojects cava. nonsafe thread.= & cava bump 2025-11-26 13:26:32 +03:00
test tests: additional tests for bugfix (#4354) 2025-08-13 10:30:25 +03: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
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
README.md adding dependency command for arch 2025-07-15 00:19:55 +02:00
asan.supp add asan.supp 2025-08-23 18:25:45 +02:00
default.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
flake.lock flake.lock: Update 2026-01-01 00:14:44 +00:00
flake.nix chore(flake): nixfmt-rfc-style -> nixfmt 2025-08-12 13:28:07 -05:00
meson.build Factory. cava_frontend 2025-12-09 18:13:45 +03: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
tsan.supp Add tsan.supp file to easily ignore common tsan issues from external libraries 2025-08-19 23:56:08 +02:00

README.md

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.