Go to file
Sergey Mishin 110c66dd32
Refactor Clock: generalize multi timezones and single timezone cases
After this refactoring:
1. Timezones parses only once on start and the we refer to saved values. All time_zone.isString() checks gone to the constructor.
2. Single timezone case handling as case of multi timezoned logic.
3. Scroll event seems more clear now.
4. Tooltip template parses on start to check if there calendar placeholder or not. To do not calculate calendar_text() if not necessary.
2021-10-03 16:57:55 +00:00
.github ci: run unit-tests 2021-09-15 22:20:46 +07:00
Dockerfiles Update opensuse 2021-07-23 15:01:29 +02:00
include Refactor Clock: generalize multi timezones and single timezone cases 2021-10-03 16:57:55 +00:00
man Fix Clock crash on empty string in timezones field 2021-10-03 03:27:54 +00:00
package Add archlinux PKGBUILD 2018-08-09 20:50:11 +02:00
protocol river/tags: support urgent tags 2021-08-19 15:01:49 +02:00
resources Fix spelling errors 2021-10-02 18:13:17 +02:00
src Refactor Clock: generalize multi timezones and single timezone cases 2021-10-03 16:57:55 +00:00
subprojects Update catch2 dependency 2.13.3 -> 2.13.7 2021-09-22 11:43:25 +12:00
test Fix spelling errors 2021-10-02 18:13:17 +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
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 rm travis-ci shield 2021-08-23 08:02:08 +02:00
meson.build test: add build configs for catch2 2021-09-15 21:34:55 +07:00
meson_options.txt test: add build configs for catch2 2021-09-15 21:34:55 +07: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, 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]
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.