summaryrefslogtreecommitdiffstats
path: root/man/pw-cli.1.rst.in
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man/pw-cli.1.rst.in190
1 files changed, 190 insertions, 0 deletions
diff --git a/man/pw-cli.1.rst.in b/man/pw-cli.1.rst.in
new file mode 100644
index 0000000..ca0a2e8
--- /dev/null
+++ b/man/pw-cli.1.rst.in
@@ -0,0 +1,190 @@
+pw-cli
+######
+
+-----------------------------------
+The PipeWire Command Line Interface
+-----------------------------------
+
+:Manual section: 1
+:Manual group: General Commands Manual
+
+SYNOPSIS
+========
+
+| **pw-cli** [*command*]
+
+DESCRIPTION
+===========
+
+Interact with a PipeWire instance.
+
+When a command is given, **pw-cli**
+will execute the command and exit
+
+When no command is given, **pw-cli**
+starts an interactive session with the default PipeWire instance
+*pipewire-0*.
+
+Connections to other, remote instances can be made. The current instance
+name is displayed at the prompt. Some commands operate on the current
+instance and some on the local instance.
+
+Use the 'help' command to list the available commands.
+
+GENERAL COMMANDS
+================
+
+help | h
+ Show a quick help on the commands available. It also lists the aliases
+ for many commands.
+
+quit | q
+ Exit from **pw-cli**
+
+MODULE MANAGEMENT
+=================
+
+| Modules are loaded and unloaded in the local instance, thus the pw-cli
+| binary itself and can add functionality or objects to the local
+| instance. It is not possible in PipeWire to load modules in another
+| instance.
+
+load-module *name* [*arguments...*]
+ Load a module specified by its name and arguments. For most
+ modules it is OK to be loaded more than once.
+
+ This command returns a module variable that can be used
+ to unload the module.
+
+unload-module *module-var*
+ Unload a module, specified either by its variable.
+
+OBJECT INTROSPECTION
+====================
+
+list-objects
+ List the objects of the current instance.
+
+ Objects are listed with their *id*, *type* and *version*.
+
+info *id* | *all*
+ Get information about a specific object or *all* objects.
+
+ Requesting info about an object will also notify you of changes.
+
+WORKING WITH REMOTES
+====================
+
+connect [*remote-name*]
+ Connect to a remote instance and make this the new current
+ instance.
+
+ If no remote name is specified, a connection is made to
+ the default remote instance, usually *pipewire-0*.
+
+ This command returns a remote var that can be used to disconnect or
+ switch remotes.
+
+disconnect [*remote-var*]
+ Disconnect from a *remote instance*.
+
+ If no remote name is specified, the current instance is disconnected.
+
+list-remotes
+ List all *remote instances*.
+
+switch-remote [*remote-var*]
+ Make the specified *remote* the current instance.
+
+ If no remote name is specified, the local instance is made current.
+
+NODE MANAGEMENT
+===============
+
+create-node *factory-name* [*properties...*]
+ Create a node from a factory in the current instance.
+
+ Properties are key=value pairs separated by whitespace.
+
+ This command returns a *node variable*.
+
+export-node *node-id* [*remote-var*]
+ Export a node from the local instance to the specified instance.
+ When no instance is specified, the node will be exported to the current
+ instance.
+
+DEVICE MANAGEMENT
+=================
+
+create-device *factory-name* [*properties...*]
+ Create a device from a factory in the current instance.
+
+ Properties are key=value pairs separated by whitespace.
+
+ This command returns a *device variable*.
+
+
+LINK MANAGEMENT
+===============
+
+create-link *node-id* *port-id* *node-id* *port-id* [*properties...*]
+ Create a link between 2 nodes and ports.
+
+ Port *ids* can be *-1* to automatically select an available port.
+
+ Properties are key=value pairs separated by whitespace.
+
+ This command returns a *link variable*.
+
+GLOBALS MANAGEMENT
+==================
+
+destroy *object-id*
+ Destroy a global object.
+
+
+PARAMETER MANAGEMENT
+====================
+
+enum-params *object-id* *param-id*
+ Enumerate params of an object.
+
+ *param-id* can also be given as the param short name.
+
+set-param *object-id* *param-id* *param-json*
+ Set param of an object.
+
+ *param-id* can also be given as the param short name.
+
+PERMISSION MANAGEMENT
+=====================
+
+permissions *client-id* *object-id* *permission*
+ Set permissions for a client.
+
+ *object-id* can be *-1* to set the default permissions.
+
+get-permissions *client-id*
+ Get permissions of a client.
+
+
+COMMAND MANAGEMENT
+==================
+
+send-command *object-id*
+ Send a command to an object.
+
+
+EXAMPLES
+========
+
+AUTHORS
+=======
+
+The PipeWire Developers <@PACKAGE_BUGREPORT@>; PipeWire is available from @PACKAGE_URL@
+
+SEE ALSO
+========
+
+``pipewire(1)``,
+``pw-mon(1)``,