wpctl
TLDR
List objects
$ wpctl status
Inspect object$ wpctl inspect [id]
Set default$ wpctl set-default [id]
Get volume$ wpctl get-volume [id]
Set volume$ wpctl set-volume [id] [n]%
Adjust volume$ wpctl set-volume [id] [n]%[+|-]
Set volume with limit$ wpctl set-volume -l 1 [id] [n]%+
Mute toggle$ wpctl set-mute [id] [1|0|toggle]
SYNOPSIS
wpctl COMMAND [OPTIONS]
DESCRIPTION
wpctl manages WirePlumber, the session and policy manager for PipeWire. It controls audio routing, volume, and device selection.
The special name @DEFAULT_SINK@ can be used instead of numeric IDs to target the current default sink.
PARAMETERS
-l, --limit MAX
Limit volume to maximum@DEFAULT_SINK@
Special name for default sink
COMMANDS
status
List all managed objectsinspect ID
Print object propertiesset-default ID
Set default for groupget-volume ID
Get sink volumeset-volume ID LEVEL
Set sink volumeset-mute ID STATE
Set mute state
CAVEATS
Requires WirePlumber running. Object IDs may change between sessions. Volume percentages can exceed 100% unless limited.
SEE ALSO
wireplumber(1), pw-cli(1), pactl(1)


