eb1775d5f8
For more complicated configurations with several actions activated through clicks on various connected modules, it is currently necessary to have each of those connected modules exec their own subprocess to produce the wanted output. This is problematic because it greatly increases CPU usage. Implement a new configuration option for bars, "custom-execs", which contains an array of subprocess specifications ("exec", "exec_if", "interval", "restart-interval"). The bar runs each of these executables and reads their output. The output is in the form of a JSON object with module names as keys and either strings (for "raw" type output) or objects (for "json" type output) as values. These values are forwarded to the custom modules named by the keys. |
||
---|---|---|
.github | ||
Dockerfiles | ||
include | ||
man | ||
package | ||
protocol | ||
resources | ||
src | ||
subprojects | ||
test | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
Makefile | ||
README.md | ||
meson.build | ||
meson_options.txt | ||
preview-2.png | ||
preview.png |
README.md
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:
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]
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
Contributions welcome! - have fun :)
The style guidelines is Google's
License
Waybar is licensed under the MIT license. See LICENSE for more information.