Skip to content
github-actions[bot] edited this page Jul 4, 2026 · 28 revisions

Note

This page is auto-generated from man/waybar-pulseaudio.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 pulseaudio module displays the current volume reported by PulseAudio.

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

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-bluetooth string This format is used when using bluetooth speakers.
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 port name and volume, the corresponding icon gets selected. The order is low to high. See Icons.
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.
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.
smooth-scrolling-threshold double Threshold to be used when scrolling.
reverse-scrolling bool Option to reverse the scroll direction for touchpads.
reverse-mouse-scrolling bool Option to reverse the scroll direction for mice.
tooltip bool true Option to disable tooltip on hover.
tooltip-format string The format of the tooltip shown on hover. When unset, the tooltip shows the current sink's description.
max-volume integer 100 The maximum volume that can be set, in percentage.
ignored-sinks array Sinks in this list will not be shown as active sink by Waybar. Entries should be the sink's description field. Use pactl list sinks to find the correct description.
sink-mapping object Sinks named by the values of this mapping will be considered to be the current sink instead of the sinks named by the respective keys.
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.
expand bool false Enables this module to consume all left over space dynamically.
target string sink The audio target to control when scrolling. Can be either `sink` (output/speakers) or `source` (input/microphone).

FORMAT REPLACEMENTS

{desc}: Pulseaudio port's description, for bluetooth it'll be the device name.

{volume}: Volume in percentage.

{source_volume}: Source (input/microphone) volume in percentage.

{source_desc}: Source's description, for bluetooth it'll be the device name.

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

{format_source}: Source format, format-source, format-source-muted.

ICONS:

The following strings for format-icons are supported.

  • the device name

The device name looks something like alsa_output.pci-0000_00_1f.3.analog-stereo. You can find it with a PulseAudio frontend such as pacmd list-sinks or pamixer --list-sinks.

If they are found in the current PulseAudio port name, the corresponding icons will be selected.

  • default (Shown, when no other port is found)

  • headphone

  • speaker

  • hdmi

  • headset

  • hands-free

  • portable

  • car

  • hifi

  • phone

Additionally, suffixing a device name or port with -muted will cause the icon to be selected when the corresponding audio device is muted. This applies to default as well.

EXAMPLES

"pulseaudio": {
	"format": "{volume}% {icon}",
	"format-bluetooth": "{volume}% {icon}",
	"format-muted": "",
	"format-icons": {
		"alsa_output.pci-0000_00_1f.3.analog-stereo": "",
		"alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "",
		"headphone": "",
		"hands-free": "󰂑",
		"headset": "󰂑",
		"phone": "",
		"phone-muted": "",
		"portable": "",
		"car": "",
		"default": ["", ""]
	},
	"scroll-step": 1,
	"on-click": "pavucontrol"
}

STYLE

  • #pulseaudio

  • #pulseaudio.bluetooth

  • #pulseaudio.muted

  • #pulseaudio.sink-muted

  • #pulseaudio.source-muted

Clone this wiki locally