Skip to content

Widgets

Widget definitions are optional. When a name in a widget list matches a [widget.<name>] entry, that entry’s type and settings are used. When there is no match, the name itself is treated as the widget type with default settings.

Middle-click a bar widget to open Settings directly to that widget’s configuration.

[widget.<name>]
type = "<widget-type>" # defaults to <name> when omitted
scale = 1.0 # multiplies all content by the owning bar's scale
font_scale = 1.0 # additional text-only multiplier
enabled = true # show or hide this widget on the bar
custom_label = "" # optional text shown with the widget; leave empty to hide it
show_glyph = true # false hides the widget's icon glyphs
# ...widget-specific settings

This allows multiple named widgets with the same widget type:

[widget.clock-seconds]
type = "clock"
format = "{:%H:%M:%S}"
[bar.default]
end = ["clock", "clock-seconds"] # two clock widgets, different formats

Configure click, scroll, and thumb-button bindings under Widget Actions. Configure shared capsule styling under Bar → Widget Capsule. Every bar widget, including plugin widgets, accepts custom_label, which renders as text next to the widget content (above it on vertical bars); widgets that manage their own identity, such as sysmon, render it inside their identity group. Set show_glyph = false on any widget, plugin widgets included, to hide its icon glyphs and reclaim the space they occupied; image content such as tray and taskbar icons is not affected. Widgets with no text of their own need custom_label to stay visible; battery instead hides its icon with display_mode = "none" (see Battery).

Widgets that show a glyph next to a value can hide the value until you hover them. With peek = true only the glyph is visible; hovering the widget slides the value out, and leaving collapses it again. Supported by volume, brightness, keyboard_layout, bluetooth, network, weather, battery (glyph display_mode), custom_button, sysmon (the gauge or graph slides out with the value), media (artwork reveals track text on horizontal bars), and tray (a tray glyph reveals inline icons when drawer mode is off). Media hides peek settings when album_art_only or hide_album_art is enabled.

[widget.volume]
peek = true
glyph_position = "after" # value sits before the glyph, so it opens toward the start
peek_delay_ms = 250 # hover this long before revealing (default 100)
SettingTypeDefaultDescription
glyph_positionstring"before""before" places the glyph before the value (left on top/bottom bars, above on left/right bars); "after" swaps them. Peek opens toward the value’s side
peekboolfalseShow only the glyph; reveal the value while the widget is hovered. Ignored when the widget has no glyph or no value to show
peek_delay_msint100Hover time in milliseconds before the value starts to reveal, from 0 to 2000. Same default as accordion_delay_ms; the reveal animates over 200 ms like accordion_duration, and collapsing is always immediate

Peek is independent of the capsule group accordion, which folds whole widgets instead of a single widget’s value.

Custom bar widgets are provided by plugins. A plugin’s bar-widget entry is referenced by its fully-qualified id; the plugin’s manifest declares any settings it exposes. See Plugins for installing, enabling, and authoring.

[widget.my_widget]
type = "<author>/<plugin>:<entry>" # e.g. "noctalia/screen_recorder:recorder"