Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
 
 
 
 
 
 
Go to file
Aleksei Bavshin 2469851865
fix(bar): use std::string for mode names
`string_view` leads to UAF when reading custom mode definitions from the
configuration.
2024-02-19 22:47:25 +03:00
.github Merge pull request #2768 from zjeffer/feat/zjeffer/freebsd-bump 2023-12-25 08:31:03 +01:00
Dockerfiles Added sudo, python3-pip & python3-venv to debian image, required for clang-tidy GH action 2023-12-13 11:54:04 +01:00
include fix(bar): use std::string for mode names 2024-02-19 22:47:25 +03:00
man feat!: drop RawSurfaceImpl with direct use of wlr-layer-shell 2024-02-17 22:00:38 +03:00
nix fix: temporary catch2_3 override until upstreamed to nixpkgs 2024-01-10 12:17:46 -06:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol feat!: drop RawSurfaceImpl with direct use of wlr-layer-shell 2024-02-17 22:00:38 +03:00
resources Merge pull request #2573 from CromFr/cabi_plugins 2023-12-18 14:10:02 +01:00
src fix(bar): use std::string for mode names 2024-02-19 22:47:25 +03:00
subprojects Merge remote-tracking branch 'luka/gtk4' into gtk4 2024-01-12 10:06:47 +01:00
test c++20. clock chrono API. STL + format 2023-11-10 17:57:26 +03:00
.clang-format refactor: lint 2022-04-06 08:37:19 +02:00
.clang-tidy clang-tidy: added StaticConstantCase CheckOption 2023-12-06 21:58:26 +01: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 flake: update & cleanup 2023-12-02 02:41:59 +07:00
.gitmodules Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
LICENSE Initial commit 2018-08-08 23:53:37 +02:00
Makefile make:Add phony 'test' rule 2023-03-13 00:50:19 +00:00
README.md chore: update Hyprland's featureset in readme 2024-01-08 20:31:15 -03:00
default.nix use the recommended way of using flake-compat 2023-02-16 20:31:02 +07:00
flake.lock chore: flake lock update 2024-01-08 09:37:48 -06:00
flake.nix feat: enable direnv and fix flake devshell output 2024-01-08 12:47:32 -06:00
meson.build feat!: drop RawSurfaceImpl with direct use of wlr-layer-shell 2024-02-17 22:00:38 +03:00
meson_options.txt feat!: drop RawSurfaceImpl with direct use of wlr-layer-shell 2024-02-17 22:00:38 +03: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)
  • DWL (Tags) requires dwl ipc patch
  • Tray #21
  • Local time
  • Battery
  • UPower
  • 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 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

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

License

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