-
Notifications
You must be signed in to change notification settings - Fork 5
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) |
[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.
Configure widgets with [widgets.<name>] sections.
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 = trueSet 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.
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"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.