1
0
Fork 0
mirror of https://github.com/Alexays/Waybar.git synced 2026-06-09 23:41:41 +00:00
Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
  • C++ 95.1%
  • Meson 2.5%
  • Python 0.6%
  • CSS 0.5%
  • C 0.5%
  • Other 0.8%
Find a file
Alexis Rouillard 05945748dc
Merge pull request #5013 from higorprado/fix/hyprland-lua-dispatch-protocol
fix(hyprland/workspaces): adapt dispatch commands for Lua IPC protocol
2026-05-04 23:17:38 +02:00
.github feat(ci): enable concurrency for nix-tests 2026-02-06 15:19:04 -06:00
Dockerfiles ci: relax gentoo gtkmm dependency requirement 2025-06-21 16:05:00 -04:00
include test(hyprland): expose dispatch internals for unit tests 2026-05-02 20:25:43 -03:00
man add unit config option to memory module 2026-04-05 19:01:36 -04:00
nix cava bump 2026-03-19 11:03:08 +03: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 chore: Stop using deprecated/removed Nerdfonts codepoints 2026-03-19 17:39:57 -07:00
src Merge pull request #5013 from higorprado/fix/hyprland-lua-dispatch-protocol 2026-05-04 23:17:38 +02:00
subprojects cava bump 2026-03-19 11:03:08 +03:00
test test(hyprland): expose dispatch internals for unit tests 2026-05-02 20:25:43 -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 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
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 fix: fix compile/run bugs from trying to be safer. rip 2026-03-28 23:26:34 -04: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 docs: add fraudulent site notice on proj README.md 2026-02-03 23:28:53 +00: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 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 --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

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

Caution

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

License

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