cptpcrd df65cab17a Open command pipes as close-on-exec
Avoids a race where the pipe could be inherited by another process
spawning at about the same time. If the other process didn't exit
quickly (e.g. if it was a custom script that did its own looping), it
would keep the write end of the pipe open, and so reading from the pipe
to try to get the command's output would block.

This bug manifested as some custom modules randomly not appearing in the
bar, requiring a reload to fix. The custom script had run and exited,
but the pipe had been inherited by another process, and the thread that
updated the module's output was blocked trying to read from it.
2023-05-21 12:10:44 -04:00
2023-03-13 00:50:19 +00:00
2023-04-28 15:46:51 +03:00
2022-12-06 18:44:26 +01:00
2018-08-09 20:50:11 +02:00
2023-04-13 03:58:57 +03:00
2022-11-16 23:23:07 -08:00
2023-05-10 13:43:43 +02:00
2023-04-28 13:38:35 +03:00
2022-04-06 08:37:19 +02:00
2019-04-18 15:55:45 +02:00
2023-01-24 09:33:38 +01:00
2018-08-09 20:50:11 +02:00
2022-12-06 18:44:26 +01:00
2022-12-06 18:44:26 +01:00
2018-08-08 23:53:37 +02:00
2023-03-13 00:50:19 +00:00
2023-04-15 02:36:15 +03:00
2023-04-28 13:38:35 +03:00
2018-10-01 18:56:58 +02:00
2018-10-01 18:56:58 +02:00
2023-04-11 04:50:21 +03:00

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)
  • DWL (Tags) requires dwl ipc patch
  • Tray #21
  • Local time
  • Battery
  • UPower
  • Network
  • Bluetooth
  • Pulseaudio
  • 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.

Description
Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
Readme 4.1 MiB
Languages
C++ 94.5%
Meson 3%
Python 0.9%
CSS 0.6%
Nix 0.5%
Other 0.5%