MCPcopy Create free account
hub / github.com/Alexays/Waybar

github.com/Alexays/Waybar @0.15.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.15.0 ↗ · + Follow
1,777 symbols 3,515 edges 234 files 51 documented · 3% updated 2d ago0.15.0 · 2026-02-06★ 11,630633 open issues

Browse by type

Functions 1,356 Types & classes 421
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Core symbols most depended-on inside this repo

Shape

Method 1,158
Class 394
Function 198
Enum 27

Languages

C++99%
Python1%
C1%

Modules by API surface

include/util/clara.hpp154 symbols
src/modules/wlr/taskbar.cpp59 symbols
src/modules/hyprland/workspaces.cpp54 symbols
src/modules/network.cpp33 symbols
src/modules/ext/workspace_manager.cpp33 symbols
include/modules/mpd/state.hpp31 symbols
src/util/backlight_backend.cpp28 symbols
src/modules/sni/item.cpp27 symbols
src/modules/river/layout.cpp25 symbols
src/modules/river/tags.cpp24 symbols
src/modules/ext/workspace_manager_binding.cpp24 symbols
src/client.cpp24 symbols

For agents

$ claude mcp add Waybar \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page