4a85ec0f59
Ensure that sway workspaces are always displayed in the same order as used internally by sway. The previous sorting code always sorted unnumbered workspaces lexicographically. This isn't the order used by sway internally. Therefore, commands such as "workspace next" might have jumped arbitrarily in waybar. This commit reworks the sorting code such that the internal order is always obeyed. Additionally, numbered persistent workspaces are inserted at their natural position at the front of the workspace list while unnumbered ones are appended. This should match the expectations of workspace ordering known from sway's behavior. The changes make the configuration property "numeric-first" unnecessary as this will always be the case now. There's also no reasonable way around this behavior now. Otherwise, persistent workspaces would jump around in the visual representation as soon as they become known to sway. Fixes #802 |
||
---|---|---|
.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, Gentoo, 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]
xkbregistry
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 \
libxkbregistry-dev
Contributions welcome! - have fun :)
The style guidelines is Google's
License
Waybar is licensed under the MIT license. See LICENSE for more information.