Skip to content

Module: WirePlumber

github-actions[bot] edited this page Jul 4, 2026 · 16 revisions

Note

This page is auto-generated from man/waybar-wireplumber.5.scd on the master branch. Do not edit it here — changes will be overwritten on the next sync. To update it, edit the man page(s) and open a PR.

DESCRIPTION

The wireplumber module displays the current volume reported by WirePlumber.

CONFIGURATION

Option Typeof Default Description
format string {volume}% The format, how information should be displayed. This format is used when other formats aren't specified.
format-muted string This format is used when the sound is muted.
format-bluetooth string This format is used when the active sink is a Bluetooth device (its node name contains bluez or a2dp-sink).
format-bluetooth-muted string This format is used when the active sink is a Bluetooth device and the sound is muted.
format-source string {volume}% The format used to render the source (microphone) volume sub-string that is exposed through the {format_source} replacement.
format-source-muted string The format used for the {format_source} sub-string when the source (microphone) is muted.
format-icons array Based on the current volume, the corresponding icon gets selected. The order is low to high.
node-type string Audio/Sink The WirePlumber node type to attach to. Use Audio/Source to manage microphones etc.
only-physical bool false When enabled, resolve through virtual/filter-chain sinks to the underlying physical sink and report its volume instead.
tooltip bool true Option to disable tooltip on hover.
tooltip-format string {node_name} The format of information displayed in the tooltip.
rotate integer Positive value to rotate the text label (in 90 degree increments).
states object A number of volume states which get activated on certain volume levels. See waybar-states(5).
max-length integer The maximum length in character the module should display.
min-length integer The minimum length in characters the module should accept.
align float The alignment of the label within the module, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text.
justify string The alignment of the text within the module's label, allowing options 'left', 'right', or 'center' to define the positioning.
scroll-step float 1.0 The speed at which to change the volume when scrolling.
scroll-scale string cubic_percent The scale to use for the scrolling volume change. Options are 'linear', 'db', 'cubic', and 'cubic_percent'.
reverse-scrolling bool Option to reverse the scroll direction for touchpads.
reverse-mouse-scrolling bool Option to reverse the scroll direction for mice.
on-click string Command to execute when clicked on the module.
on-click-middle string Command to execute when middle-clicked on the module using mousewheel.
on-click-right string Command to execute when you right-click on the module.
on-update string Command to execute when the module is updated.
on-scroll-up string Command to execute when scrolling up on the module. This replaces the default behaviour of volume control.
on-scroll-down string Command to execute when scrolling down on the module. This replaces the default behaviour of volume control.
max-volume float 100 The maximum volume that can be set, in percentage.
menu string Action that popups the menu.
menu-file string Location of the menu descriptor file. There need to be an element of type GtkMenu with id menu
menu-actions array The actions corresponding to the buttons of the menu.

FORMAT REPLACEMENTS

{volume}: Volume in percentage, cubic scale as integer.

{volume_linear}: Volume in linear scale as float.

{volume_cubic}: Volume in cubic scale as float.

{volume_db}: Volume in decibel scale as float.

{icon}: Icon, as defined in format-icons.

{node_name}: The node's nickname as reported by WirePlumber (node.nick property)

{source_volume}: Source (microphone) volume in percentage, cubic scale as integer.

{source_volume_linear}: Source (microphone) volume in linear scale as float.

{source_volume_cubic}: Source (microphone) volume in cubic scale as float.

{source_volume_db}: Source (microphone) volume in decibel scale as float.

{source_desc}: The source node's nickname/description as reported by WirePlumber.

{format_source}: The pre-rendered source (microphone) volume sub-string, formatted with format-source/format-source-muted.

EXAMPLES

Basic:

"wireplumber": {
	"format": "{volume}%",
	"format-muted": "",
	"on-click": "helvum"
}

Separate Sink and Source Widgets

"wireplumber#sink": {
    "format": "{volume}% {icon}",
    "format-muted": "󰅶",
    "format-icons": ["", "", ""],
    "on-click": "helvum",
    "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
    "scroll-step": 5
},
"wireplumber#source": {
    "node-type": "Audio/Source",
    "format": "{volume}% ",
    "format-muted": "",
    "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
    "scroll-step": 5
}

Use a Different Scale

"wireplumber": {
	"format": "{volume_db:.2f}dB",
	"scroll-scale": "db",
	"scroll-step": 2.5
}

STYLE

  • #wireplumber

  • #wireplumber.muted

  • #wireplumber.sink-muted

  • #wireplumber.source-muted

  • #wireplumber.bluetooth

Clone this wiki locally