waybar-wireplumber(5)
waybar - WirePlumber module
The wireplumber module displays the current volume reported by WirePlumber.
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.
format-bluetooth: ++ typeof: string ++ This format is used when the active sink is a Bluetooth device (its node name contains bluez or a2dp-sink).
format-bluetooth-muted: ++ typeof: string ++ This format is used when the active sink is a Bluetooth device and the sound is muted.
format-source: ++ typeof: string ++ default: {volume}% ++ The format used to render the source (microphone) volume sub-string that is exposed through the {format_source} replacement.
format-source-muted: ++ typeof: string ++ The format used for the {format_source} sub-string when the source (microphone) is muted.
format-icons: ++ typeof: array ++ Based on the current volume, the corresponding icon gets selected. The order is low to high.
node-type: ++ typeof: string ++ default: Audio/Sink ++ The WirePlumber node type to attach to. Use Audio/Source to manage microphones etc.
only-physical: ++ typeof: bool ++ default: false ++ When enabled, resolve through virtual/filter-chain sinks to the underlying physical sink and report its volume instead.
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).
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.
scroll-scale: ++ typeof: string ++ default: cubic_percent The scale to use for the scrolling volume change. Options are 'linear', 'db', 'cubic', and 'cubic_percent'.
reverse-scrolling: ++ typeof: bool ++ Option to reverse the scroll direction for touchpads.
reverse-mouse-scrolling: ++ typeof: bool ++ Option to reverse the scroll direction for mice.
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.
{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.
"wireplumber": {
"format": "{volume}%",
"format-muted": "",
"on-click": "helvum"
}"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
}"wireplumber": {
"format": "{volume_db:.2f}dB",
"scroll-scale": "db",
"scroll-step": 2.5
}- #wireplumber
- #wireplumber.muted
- #wireplumber.sink-muted
- #wireplumber.source-muted
- #wireplumber.bluetooth