A suckless-esc status bar for mangowc with swaybar energy.
Black strip. Workspace numbers on the left. Volume, layout, and clock on the right. No config format. Patch the source.
42% us 2026-04-24 09:49:57 PM
mangobar is a small Rust bar for mangowc. It shows:
- mangowc tags/workspaces on the left (vacant tags hidden)
- volume, keyboard layout, and clock on the right
- a plain black background
- no extra visual noise
There is no separate status_command. The status lives inside the bar.
src/mango_ipc.rstalks to mangowc throughdwl-ipc-unstable-v2for workspace updates.src/layout.rspollsmmsg -g -kfor keyboard layout because mangowc does not currently emit layout changes reliably.src/volume.rsuseswpctl get-volume @DEFAULT_AUDIO_SINK@for volume.src/clock.rsupdates the clock once per second.src/status.rsrenders the right-side status text.src/settings.rscontains the values people are expected to tweak first.src/main.rshandles GTK, layer-shell, rendering, clicks, and scroll switching.
See PATCHING.md for a full source map and guide to modifying the bar.
- Click a workspace number to switch to it.
- Scroll over the bar to move between visible workspaces.
- Vacant tags are hidden.
Void dependencies:
sudo xbps-install -S rust cargo gtk4 gtk4-devel gtk4-layer-shell gtk4-layer-shell-devel gdk-pixbuf gdk-pixbuf-devel wireplumberYou also need mangowc's mmsg in PATH.
cargo build --release
# or
make buildUseful development commands:
make fmt
make check
make run
make cleanInstalling from source:
sudo install -Dm755 target/release/mangobar /usr/local/bin/mangobar
# or
sudo make installYou can also install for Fedora and its derivatives through the Terra Repository:
# Install the Terra Repository
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
# Install mangobar
sudo dnf install mangobarInside mangowc:
./target/release/mangobarFor one output:
./target/release/mangobar --output DP-1Supported:
- mangowc (and compatible
dwl-ipc-unstable-v2compositors) - GTK4 + Wayland layer-shell
- PipeWire/WirePlumber via
wpctl
Not the goal:
- a general-purpose bar framework
- a theme engine or config format
- a widget garden
- supporting every compositor out of the box
