Skip to content
This repository was archived by the owner on Jul 10, 2026. It is now read-only.

Gur0v/mangobar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mangobar

A suckless-esc status bar for mangowc with swaybar energy.

Preview

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

What It Is

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.

How It Works

  • src/mango_ipc.rs talks to mangowc through dwl-ipc-unstable-v2 for workspace updates.
  • src/layout.rs polls mmsg -g -k for keyboard layout because mangowc does not currently emit layout changes reliably.
  • src/volume.rs uses wpctl get-volume @DEFAULT_AUDIO_SINK@ for volume.
  • src/clock.rs updates the clock once per second.
  • src/status.rs renders the right-side status text.
  • src/settings.rs contains the values people are expected to tweak first.
  • src/main.rs handles GTK, layer-shell, rendering, clicks, and scroll switching.

See PATCHING.md for a full source map and guide to modifying the bar.

Controls

  • Click a workspace number to switch to it.
  • Scroll over the bar to move between visible workspaces.
  • Vacant tags are hidden.

Build

Void dependencies:

sudo xbps-install -S rust cargo gtk4 gtk4-devel gtk4-layer-shell gtk4-layer-shell-devel gdk-pixbuf gdk-pixbuf-devel wireplumber

You also need mangowc's mmsg in PATH.

cargo build --release
# or
make build

Useful development commands:

make fmt
make check
make run
make clean

Install

Installing from source:

sudo install -Dm755 target/release/mangobar /usr/local/bin/mangobar
# or
sudo make install

You 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 mangobar

Run

Inside mangowc:

./target/release/mangobar

For one output:

./target/release/mangobar --output DP-1

Scope

Supported:

  • mangowc (and compatible dwl-ipc-unstable-v2 compositors)
  • 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

License

GPL-3.0

About

A suckless-esc bar for mangowc

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors