Skip to content

Widgets

prankstr edited this page Apr 1, 2026 · 7 revisions

Available Widgets

Widget Description
battery Battery status with power profile popover
clock Date and time with calendar popover
custom-<name> User-defined widget (script output, buttons, indicators)
cpu CPU usage
gpu GPU usage (AMD and NVIDIA)
keyboard_layout Keyboard layout indicator (click to cycle)
media MPRIS media player controls
memory Memory usage
network_speed Network download/upload speed
notifications Notification center with Do Not Disturb
quick_settings Quick settings panel
spacer Layout spacer (flexible or fixed width)
tray System tray icons
updates System updates indicator
window_title Active window title with icon
workspaces Workspace indicators (click to switch)

Placement

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

Group widgets to share a background:

right = [
  "tray",
  { group = ["cpu", "memory"] },
  "notifications",
]

When using groups with custom colors, the first widget's background_color in the group applies to the entire shared background.

Adjacent widgets in a group that share a popover (cpu, memory, gpu, network_speed) are automatically merged into a single visual button with a shared hover background and ripple effect. Widgets with custom on_click_right or on_click_middle handlers are excluded from merging.

Per-Widget Options

Configure widgets with [widgets.<name>] sections.

Disabling Widgets

To hide a widget, either omit it from your placement arrays above, or use disabled = true to keep the default placement while hiding specific widgets:

[widgets.battery]
disabled = true

Background Color

Set a custom background_color per widget:

[widgets.clock]
background_color = "#f5c2e7"

The background_color option accepts hex colors (#rrggbb or #rgb). If not specified, widgets use the theme's default background. The color respects the background_opacity setting and inherits to popovers.

Click Handlers

All widgets support custom click handlers:

Option Type Description
on_click_right string Shell command to run on right-click
on_click_middle string Shell command to run on middle-click
[widgets.clock]
on_click_right = "notify-send hello"
on_click_middle = "xdg-open https://example.com"

Conditional Visibility

Any widget can be conditionally shown or hidden based on a shell command's exit status:

Option Type Description
show_if string Shell command — exit 0 shows the widget, non-zero hides it
show_if_interval integer Re-evaluate show_if every N seconds (unset = check once at startup)
[widgets.custom-power]
icon = "system-shutdown-symbolic"
on_click = "wlogout"
show_if = "command -v wlogout"

See individual widget pages for all available options and CSS classes.

Clone this wiki locally