Go to file
Alexis Rouillard 32d4cf4c7b
Merge pull request #4414 from PedroManse/master
docs: fix waybar menu example and formatting
2025-10-01 14:20:07 +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 #4447 from guttermonk/clock-fix 2025-10-01 14:18:28 +02:00
man Merge pull request #4414 from PedroManse/master 2025-10-01 14:20:07 +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 Merge pull request #4447 from guttermonk/clock-fix 2025-10-01 14:18:28 +02:00
subprojects spdlog bump 2025-09-25 21:46:13 +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
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
default.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
flake.lock flake.lock: Update 2025-10-01 00:13:30 +00:00
flake.nix treewide: clang and nix format 2025-04-15 14:56:28 -05:00
meson.build Cava back/front end transformation 2025-09-26 23:34:11 +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

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.