Widgets
Modules are placed in the modules-left, modules-center and modules-right zones. The defaults are workspaces (left), title (center) and clock, battery, system, network, power-profiles-daemon (right). Everything else is opt-in: add its name to a zone.
Default modules
Section titled “Default modules”| Module | Source | Notes |
|---|---|---|
workspaces |
Hyprland IPC | Active workspace bracketed and accented. Click a workspace to switch to it. |
title |
Hyprland IPC | Active window title on this bar’s monitor. Truncated with … at 100 characters by default. |
clock |
Wall-clock timer | Live HH:MM. Supports on-click / on-click-right. |
battery |
UPower | Percentage and charge state; blank when no battery is present. Hover shows the time to empty or full. |
system |
procfs | CPU and memory load. Hover shows memory used over total in GiB. |
network |
NetworkManager (DBus) | The Wi-Fi icon follows signal strength; hover shows SSID and signal. Supports on-click / on-click-right. |
power-profiles-daemon |
power-profiles-daemon (DBus) | Left-click rotates forward through profiles, right-click backward. Hides when no source is available. |
Opt-in modules
Section titled “Opt-in modules”| Module | Source | Notes |
|---|---|---|
tray |
StatusNotifierItem (DBus) | Left-click activates; right-click opens the native DBusMenu. tablero hosts its own watcher under Hyprland. |
bluetooth |
BlueZ (DBus) | Off, on or connected icon plus the device count; hover lists connected devices. |
volume |
PipeWire | N%, or only the muted icon; the speaker gains waves with the level. Reconnects if PipeWire restarts. |
backlight |
sysfs + udev | Scroll to adjust brightness through systemd-logind, no brightnessctl needed. |
notifications |
swaync (DBus) | Bell with a dot while notifications are pending. Left-click toggles the panel, right-click toggles Do-Not-Disturb. |
updates |
checkupdates + paru -Qua |
Pending Arch updates, checked every 5 minutes. Hides when the total is zero. |
hypridle |
procfs | Lock glyph shows whether Hypridle runs; left-click starts or stops it. |
power |
— | Power glyph with configurable on-click / on-click-right, e.g. wlogout and hyprlock. |
Widgets whose source is missing (no PipeWire, no swaync, no backlight) reserve no slot and come back automatically when the source appears.
Formats and tooltips
Section titled “Formats and tooltips”Status widgets keep the pill compact and move details into a hover tooltip. Each takes a format for the pill and a tooltip-format for the tooltip, with the same placeholders; tooltip = false turns the tooltip off. Unknown placeholders and unbalanced braces are rejected at load.
| Widget | Placeholders | format-icons |
|---|---|---|
battery |
{icon} {percent} {state} {time} |
— |
bluetooth |
{icon} {count} {state} |
table: on, off, connected |
network |
{icon} {ssid} {signal} {state} |
ramp, or { levels = [..], disconnected, wired, unknown } |
system |
{icon} {cpu} {mem} |
— |
volume |
{icon} {percent} {device} |
ramp, or { levels = [..], muted } |
A ramp lists icons from low to high; Wi-Fi picks from it by signal strength.
[widget.volume]format = "{icon}{percent}%"format-icons = { levels = ["", "", ""], muted = "" }
[widget.network]format = "{icon}"format-icons = { levels = ["", "", "", ""], disconnected = "" }tooltip-format = "{ssid} ({signal}%)"icon-size = 20
[widget.bluetooth]format = "{icon}{count}"format-icons = { on = "", off = "", connected = "" }
[widget.battery]tooltip-format = "{percent}% {state}, {time} left"Updates
Section titled “Updates”Requires checkupdates from pacman-contrib. paru is optional; when available, its AUR count is added.
sudo pacman -S --needed pacman-contrib[bar]modules-right = ["updates", "clock"]
[widget.updates]format = "{icon} {count}"# on-click = "/path/to/update-system"Only {count} and {icon} are accepted in format. A missing or failed paru falls back to official updates; a missing or failed checkupdates hides the module. Hovering lists each package’s installed and available versions.
Backlight
Section titled “Backlight”[bar]modules-right = ["backlight", "battery", "network"]
[widget.backlight]device = "intel_backlight" # optional; auto-selects the largest range when absentformat = "{icon} {percent}%"scroll-step = 1Only {icon} and {percent} are accepted in format; format-icons lists glyphs from low to high brightness. Scrolling requires an active systemd-logind session, and follows the fingers under touchpad natural scrolling.
Power profiles
Section titled “Power profiles”[widget.power-profiles-daemon]format = "{icon}"tooltip-format = "Power profile: {profile}\nDriver: {driver}"tooltip = trueBoth format and tooltip-format accept {icon}, {profile}, {driver}, {cpu_driver}, {platform_driver} and {hardware}. The module talks directly to the system D-Bus API and never spawns powerprofilesctl.
On machines exposing the qc71_laptop sysfs (Slimbook EVO and compatibles), the widget also reads the hardware performance mode, and applies TDP/fan changes when the privileged helper is installed:
sudo install -m 0755 contrib/qc71/tablero-qc71-set-mode /usr/local/bin/tablero-qc71-set-modesudo install -m 0644 contrib/qc71/org.pinya.tablero.qc71.policy \ /usr/share/polkit-1/actions/org.pinya.tablero.qc71.policyThe bar never writes sysfs itself. Set hardware-control = false to force the PPD-only path.
Polling intervals
Section titled “Polling intervals”Only three modules poll; everything else is event-driven. interval is in whole seconds (1–86400) and needs a restart to change:
[widget.system]interval = 3 # CPU and memory sample
[widget.updates]interval = 300 # checkupdates / paru run
[widget.hypridle]interval = 10 # scan for a hypridle started outside the bar