Go to file
Mika Braunschweig f86dff60e6
utils: add sanitize_str to encode '&' etc.
gtk requires some chars (<>&"') to be encoded for them to render
properly. `sanitize_str` sanitizes raw strings that have such chars and
returns a properly encoded string
2022-10-17 00:31:19 +02:00
.github chore(ci): adjust FreeBSD to follow upstream recommendations 2022-07-29 20:05:24 +00:00
Dockerfiles Gentoo docker file 2022-07-06 09:47:24 +00:00
include utils: add sanitize_str to encode '&' etc. 2022-10-17 00:31:19 +02:00
man Add "{m}" battery format-time option for zero-pad minutes 2022-09-07 08:53:07 -06:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol river/mode: new module 2022-06-01 15:35:08 +00:00
resources use moon phases for backlight format-icons 2022-03-12 16:05:06 +02:00
src utils: add sanitize_str to encode '&' etc. 2022-10-17 00:31:19 +02:00
subprojects Last weekday applies Unix fmt 2022-06-24 16:44:06 +03:00
test refactor: lint 2022-04-06 08:37:19 +02:00
.clang-format refactor: lint 2022-04-06 08:37:19 +02:00
.editorconfig chore: Add EditorConfig file 2019-04-18 15:55:45 +02:00
.gitignore Ignore all potential build directories 2019-02-28 19:57:49 -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 fixed wrong dependency for make target 2021-09-18 01:20:16 +02:00
README.md Update README.md 2022-08-18 15:16:28 +02:00
meson.build utils: add sanitize_str to encode '&' etc. 2022-10-17 00:31:19 +02:00
meson_options.txt simplify build option description 2022-08-11 18:35:33 -04: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 Arch community or AUR, Gentoo, openSUSE, and Alpine Linux.
Waybar examples

Current features

  • Sway (Workspaces, Binding mode, Focused window name)
  • River (Mapping mode, Tags, Focused window name)
  • Hyprland (Focused window name)
  • Tray #21
  • Local time
  • Battery
  • UPower
  • Network
  • Bluetooth
  • Pulseaudio
  • Disk
  • Memory
  • Cpu load average
  • Temperature
  • MPD
  • Custom scripts
  • 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.