Go to file
Anthony PERARD 0fc7ef6685 network: Rework address lookup to use only events
In order to get the IP address of an interface, we can get the
information out of NEWADDR events without needed to call getifaddrs().
And when now events are expected, we can requests a dump of all
addresses and handle addresses changes the same way via handleEvents()
only.
2021-05-15 16:38:00 +01:00
.github CI: add FreeBSD to Actions 2020-12-23 20:40:44 +00:00
Dockerfiles Dockerfiles/alpine: add sndio-dev. 2020-10-04 02:54:57 -03:00
include network: Rework address lookup to use only events 2021-05-15 16:38:00 +01:00
man Document changes in manpage 2021-04-21 12:24:47 +02:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol Update to the latest version of the foreign toplevel manager protocol 2020-12-04 08:03:43 +01:00
resources feat: implement mpd volume format template 2021-04-20 08:35:47 +02:00
src network: Rework address lookup to use only events 2021-05-15 16:38:00 +01:00
subprojects Update spdlog.wrap 2021-04-30 14:25:26 +02:00
.clang-format chore: Add clang-format configuration and format MPD module 2019-04-18 15:57:57 +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
.travis.yml .travis.yml: add sndio to FreeBSD run. 2020-10-04 02:54:57 -03:00
LICENSE Initial commit 2018-08-08 23:53:37 +02:00
Makefile Switch default Makefile rule from run to build 2020-03-14 16:25:33 -04:00
README.md sndio: Add module. 2020-10-04 02:54:57 -03:00
meson.build Update meson.build 2021-04-30 14:25:48 +02:00
meson_options.txt sndio: Add module. 2020-10-04 02:54:57 -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 Travis Licence Paypal Donate
Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors.
Available in Arch community or AUR, openSUSE, and Alpine Linux
Waybar examples

Current features

  • Sway (Workspaces, Binding mode, Focused window name)
  • Tray #21
  • Local time
  • Battery
  • Network
  • Bluetooth
  • Pulseaudio
  • Disk
  • Memory
  • Cpu load average
  • Temperature
  • MPD
  • Custom scripts
  • Multiple output configuration
  • And much 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]

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 \
  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

Contributions welcome! - have fun :)
The style guidelines is Google's

License

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