Skip to main content
A status bar for Hyprland

hyprbaric

Audio, network, workspaces, and the usual controls in one bar.

Open source. Built with Flutter and Rust.

Install

Packages for Debian, Arch, Fedora, and an AppImage for everything else.

Install Hyprbaric
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/asaphaaning/hyprbaric/master/install.sh | sh
Detects your distribution and installs its verified release package.Direct downloads →
Read the installation guide
Modules

What’s in the bar

Network

Traffic and Wi-Fi

A glowing minute of download and upload history, plus Wi-Fi and connection details. Explore the simulated traffic below.

Volume

Volume and brightness

Output and input levels with live meters, and backlight or DDC brightness.

Controls

Capture and toggles

Region, window, and full-screen capture, recording, colour picking, night light, DND, and caffeine.

Power

Battery and power profiles

Charge level and time remaining, and the active power profile.

Workspaces

Workspace indicators

Labels follow whichever style you pick: roman numerals by default, plain numbers otherwise. Click to focus, and set how many stay visible.

Notifications

Notification centre

A compact current-session inbox with a clear-all action.

On Hyprland

A 40px bar at the top of the workspace.

Hyprland · 3840 × 2160Bar height 40 px
Configuration

Configuration

hyprbaric reads a single TOML file at startup. The settings window edits that same file, leaving your comments and unrelated tables intact.

  • Configuration covers appearance, module visibility, workspaces, shortcuts, and the behaviour of each module.
  • Timing values, such as refresh intervals and DDC discovery and debounce, have no GUI control.
  • A file that fails to parse stops startup rather than falling back to defaults.
Read the configuration guide
~/.config/hyprbaric/config.tomltoml
[appearance]
position = "top"
opacity = 77
corner_radius = 12
accent_hue = 218

[workspaces]
indicator_style = "roman"
clickable = true
visible_range = "medium"

[network]
traffic_refresh_interval = "1s"
full_refresh_interval = "8s"