2 releases
0.4.9 | Mar 6, 2023 |
---|---|
0.4.8 | Mar 4, 2023 |
0.4.7 |
|
#1038 in GUI
61KB
1.5K
SLoC
Hybrid Bar
A simple status bar focused on wlroots Wayland compositors
Preview
With blur through Hyprland.
The bottom bar is also made with Hybrid.
What does it support?
It supports:
- Straight-forward configuration;
- Labels with shell commands (+ listen support);
- Spacings (a.k.a. Separators if styled);
- Boxes with child widgets;
- Custom update-rate for dynamic labels;
- Cava;
- Buttons with shell commands;
- Tooltips for buttons and labels;
- Markup for buttons and labels;
- Top and Bottom pinning;
- Transparency (+ blur if your compositor allows for blurring surface layers);
- Experimental system tray via
stray
; - Different monitors for each configuration
I have no config
If you installed outside the AUR, copy the example from examples/config.json
into ~/.config/HybridBar/
.
Does it only work on wlroots Compositors?
Nope, it's been tested on KDE as well and it worked just fine.
It just won't work on GNOME as it hasn't implemented the wlr-layer-shell
protocol.
Config Layout
I'm assuming you are familiar with JSON. If you aren't, well too bad.
Base Setup
Before you can use the bar, you have to adjust the color and alpha.
RGB Colors are 0-255 as a 32-bit integer, Alpha is 0.0-1.0 as a 32-bit float.
Here's an example:
{
"hybrid": {
"namespace": "hybrid-bar",
"r": 10,
"g": 10,
"b": 10,
"a": 0.5
}
}
CSS Support
CSS is supported and you can make it auto-load on startup by making a style.css
file next to your config.json
on the same path.
If you want a sample CSS which has good defaults, check examples/style.css
.
Environment Variables
HYBRID_LOG
= 1
: Logs Hybrid output to stdout.
HYBRID_CONFIG
= name.json
: Locates the config inside the HybridBar config path, then uses it for the rest of the bars session.
Background Updates
Hybrid automatically performs background updates for dynamic labels/tooltips and Cava widgets.
The rate for updating labels is read from the labels update_rate
key (u64).
It's worth noting that low update-rates may lead to performance decreases, the value specified is in milliseconds.
Build dependencies
- rust
- gtk-layer-shell
- gtk3
- a compositor that supports layer-shells
- This excludes GNOME. KDE, Hyprland and Sway have been confirmed working.
Installation
Arch Linux: yay/paru -S hybrid-bar
Other distros: cargo install hybrid-bar
Building
git clone https://github.com/vars1ty/HybridBar
cd HybridBar
cargo build --release
cd target/release
- Done, the executable is called
hybrid-bar
.
Dependencies
~28–42MB
~758K SLoC