Skip to content

prankstr/vibepanel

Repository files navigation

VibePanel

GitHub stars GitHub release AUR version License
VibePanel

A batteries-included Wayland panel that replaces your status bar, notification daemon and OSD with a single binary. Works out of the box with Hyprland, Niri, Sway, MangoWC and other compositors.

Why VibePanel?

VibePanel is something between a simple status bar and a full desktop shell:

  • Fast & native – Single Rust binary with GTK4. Direct system integration, low resource usage.
  • Batteries included – VibePanel replaces several common components with a single binary:
    • Notifications – Integrated notification center
    • OSD – Built-in on-screen display for volume and brightness
    • Quick settings – Native panel for Wi‑Fi, Bluetooth, audio, power profiles and more
  • Minimal config – Sensible defaults out of the box; customize with TOML, CSS only if needed.
  • Modern aesthetics – Defaults to a floating "island" style with instant hot‑reloading for layouts and themes.
  • Integrated CLI – Control volume, brightness, media playback, bar visibility, popovers and idle inhibition.

Demo

These examples use roughly ~10–35 lines of TOML to get completely different vibes, no CSS required.

vibepanel.mp4

A few example configurations

Widgets

  • Workspaces - clickable indicators with tooltips
  • Window title - active window with app icon
  • Keyboard layout - layout indicator with click to cycle
  • Clock - configurable format with calendar popover
  • Battery - status with detailed popover and power profiles
  • System tray - XDG tray support
  • Notifications - notification center with Do Not Disturb
  • Updates - package update indicator (dnf, pacman/paru and flatpak support)
  • CPU, Memory, GPU & Network Speed - system resource monitors (AMD and NVIDIA GPU support)
  • Media - MPRIS media player controls with album art
  • Custom - user-defined widgets (scripts, buttons, indicators)
  • Quick settings:
    • Audio - Control volume and outputs
    • Brightness - Adjust screen brightness
    • Bluetooth - Manage and pair devices
    • Wi-Fi - Connect to and manage networks
    • VPN - Connect to NetworkManager-managed VPN connections
    • Idle Inhibitor - Toggle idle inhibitor to prevent sleep

Quickstart

  1. Install VibePanel:

    Arch Linux (AUR):

    yay -S vibepanel-bin

    Fedora (COPR):

    sudo dnf copr enable prankstr/vibepanel
    sudo dnf install vibepanel

    Nix:

    # Try it
    nix run github:prankstr/vibepanel
    
    # Install
    nix profile install github:prankstr/vibepanel

    Other distros: Install runtime dependencies, then:

    curl -LO https://github.com/prankstr/vibepanel/releases/latest/download/vibepanel-x86_64-unknown-linux-gnu
    install -Dm755 vibepanel-x86_64-unknown-linux-gnu ~/.local/bin/vibepanel

    Or build from source.

  2. Run it:

    vibepanel

See the Installation wiki for more information.

Configuration

VibePanel doesn't require a config file to run, but if you want to customize anything, create a config at ~/.config/vibepanel/config.toml:

mkdir -p ~/.config/vibepanel
vibepanel --print-example-config > ~/.config/vibepanel/config.toml

Here's a minimal example:

[bar]
size = 32

[widgets]
left = ["workspaces", "window_title"]
center = ["media"]
right = ["quick_settings", "battery", "clock", "notifications"]

[theme]
mode = "dark"
accent = "#adabe0"

Changes hot-reload instantly. See the Configuration wiki for all options.

Status

VibePanel is pre-1.0 and under active development. Config options and defaults may change between minor releases, check the changelog when upgrading.

I built the first version in Python but wanted to migrate to Rust for performance, portability and simply to learn Rust. The porting took waay too long in a language I was still learning so I've written the code with a lot of AI assistance. I review all code and use VibePanel daily on multiple computers.

Compatibility

Documentation

Full documentation lives in the wiki:

Contributing

If you find VibePanel useful, consider giving it a star. It helps others discover the project.

License

MIT

About

GTK4 panel for Wayland with notifications, OSD, and quick settings – between a status bar and a desktop shell.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages