Skip to content

Latest commit

 

History

History
221 lines (163 loc) · 5.7 KB

waybar-wireplumber.5.scd

File metadata and controls

221 lines (163 loc) · 5.7 KB

waybar-wireplumber(5)

NAME

waybar - WirePlumber module

DESCRIPTION

The wireplumber module displays the current volume reported by WirePlumber.

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.

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.

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