Skip to content

Module: WirePlumber

Andrei Florea edited this page Aug 15, 2025 · 12 revisions

The wireplumber module displays the current volume reported by WirePlumber.

Additionally you can control the volume by scrolling up or down while the cursor is over the module.

Config

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-source string {volume}% This format used for the source.
format-source-muted string This format is used when the source is muted.
format-icons array Based on the current volume, the corresponding icon gets selected.
The order is low to high.
rotate integer Positive value to rotate the text label.
states array A number of volume states which get activated on certain volume levels.
See States
max-length integer The maximum length in character the module should display.
scroll-step float 1.0 The speed in which to change the volume when scrolling.
on-click string Command to execute when clicked on the module.
on-click-middle string Command to execute when you middle clicked on the module using mousewheel.
on-click-right string Command to execute when you right clicked on the module.
on-scroll-up string Command to execute when scrolling up on the module.
This replaces the default beaviour of volume control.
on-scroll-down string Command to execute when scrolling down on the module.
This replaces the default beaviour of volume control.
tooltip bool true Option to enable tooltip on hover.
tooltip-format string {node_name} Tooltip on hover.
max-volume float 100.0 The maximum volume that can be set, in percentage.
reverse-scrolling bool false Option to reverse the scroll direction for devices other than a mouse (touchpad, trackpad, etc)
reverse-mouse-scrolling bool false Option to reverse the scroll direction for mice
node-type string Audio/Sink The type of node. Can be Audio/Sink or Audio/Source.

Format replacements:

string replacement
{volume} Volume in percentage
{icon} Icon, as defined in format-icons.
{node_name} The node's nickname (WirePlumber's node.nick property)
{format_source} Source format, format-source, format-source-muted.
{source_volume} Source volume in percentage
{source_desc} Source description (node.nick or node.description)

Example:

"wireplumber": {
    "format": "{volume}%",
    "format-muted": "",
    "on-click": "helvum",
    "max-volume": 150,
    "scroll-step": 0.2
}

With icon support:

"wireplumber": {
    "format": "{volume}% {icon}",
    "format-muted": "",
    "on-click": "helvum",
    "format-icons": ["", "", ""]
}

For source (microphone etc) nodes:

"wireplumber#source": {
    "node-type": "Audio/Source",
    "format": "{volume}% 󰍬",
    "format-muted": "󰍭",
    "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
    "scroll-step": 5,
},

With combined sink and source information:

"wireplumber": {
    "format": "{volume}% {icon} {format_source}",
    "format-muted": " {format_source}",
    "format-source": "{source_volume}% ",
    "format-source-muted": " ",
    "format-icons": {
        "default": ["", ""]
    },
    "on-click": "helvum"
}

Style

  • #wireplumber
  • #wireplumber.muted
  • #wireplumber.sink-muted
  • #wireplumber.source-muted
Clone this wiki locally