waybar-wireplumber(5) File Formats Manual waybar-wireplumber(5)

# [NAME](#NAME)

waybar - WirePlumber module

# [DESCRIPTION](#DESCRIPTION)

The **wireplumber** module displays the current volume reported by WirePlumber.

# [CONFIGURATION](#CONFIGURATION)

**format**:  
typeof: string  
default: **{volume}%**  
The format, how information should be displayed. This format is used when other formats aren't specified.

**format-muted**:  
typeof: string  
This format is used when the sound is muted.

**node-type**:  
typeof: string  
default: **Audio/Sink**  
The WirePlumber node type to attach to. Use **Audio/Source** to manage microphones etc.

**tooltip**:  
typeof: bool  
default: **true**  
Option to disable tooltip on hover.

**tooltip-format**:  
typeof: string  
default: **{node\_name}**  
The format of information displayed in the tooltip.

**rotate**:  
typeof: integer  
Positive value to rotate the text label (in 90 degree increments).

**states**:  
typeof: object  
A number of volume states which get activated on certain volume levels. See [**waybar-states(5)**](/man/enterprise-packages/waybar/waybar-states.5).

**max-length**:  
typeof: integer  
The maximum length in character the module should display.

**min-length**:  
typeof: integer  
The minimum length in characters the module should accept.

**align**:  
typeof: 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**:  
typeof: string  
The alignment of the text within the module's label, allowing options 'left', 'right', or 'center' to define the positioning.

**scroll-step**:  
typeof: float  
default: 1.0  
The speed at which to change the volume when scrolling.

**on-click**:  
typeof: string  
Command to execute when clicked on the module.

**on-click-middle**:  
typeof: string  
Command to execute when middle-clicked on the module using mousewheel.

**on-click-right**:  
typeof: string  
Command to execute when you right-click on the module.

**on-update**:  
typeof: string  
Command to execute when the module is updated.

**on-scroll-up**:  
typeof: string  
Command to execute when scrolling up on the module. This replaces the default behaviour of volume control.

**on-scroll-down**:  
typeof: string  
Command to execute when scrolling down on the module. This replaces the default behaviour of volume control.

**max-volume**:  
typeof: float  
default: 100  
The maximum volume that can be set, in percentage.

**menu**:  
typeof: string  
Action that popups the menu.

**menu-file**:  
typeof: string  
Location of the menu descriptor file. There need to be an element of type

GtkMenu with id **menu**

**menu-actions**:  
typeof: array  
The actions corresponding to the buttons of the menu.

# [FORMAT REPLACEMENTS](#FORMAT_REPLACEMENTS)

**{volume}**: Volume in percentage.

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

# [EXAMPLES](#EXAMPLES)

## [Basic:](#Basic:)

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

## [Separate Sink and Source Widgets](#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
}
```

# [STYLE](#STYLE)

- **#wireplumber**
- **#wireplumber.muted**

2026-10-30

---

Document: waybar-wireplumber(5) from waybar 0.15.0-r2 (Chainguard OS)
