## The WirePlumber access configuration access.permission-managers = [ ## The list of access permission managers ## The following is an example of how to create a custom permission manager ## that removes all permissions on all Audio/Source nodes # { # ## The unique name of the permission manager. This is mandatory. # name = "custom" # # ## The default permissions to apply on all objects that dont have a match # default_permissions = "all" # # ## The permissions to apply specifically on the PipeWire core object # ## (ID 0). This is useful to allow clients to interact with the core # ## (e.g. enumerate objects) while restricting access to individual objects. # ## If not set, the default_permissions value is used for the core as well. # core_permissions = "rx" # # ## The rules to apply specific permissions to matched objects # rules = [ # { # matches = [ # { # media.class = "Audio/Source" # } # ] # actions = { # set-permissions = "-" # } # } # ] # } ] access.rules = [ ## The list of access rules ## This rule attaches the 'custom' permission manager to paplay clients. ## Note: This is only used if there is no 'default_permissions' action. # { # matches = [ # { # application.name = "paplay" # } # ] # actions = { # update-props = { # permission_manager_name = "custom" # } # } # } ## This rule grants read-only permissions to paplay clients for all objects. ## Note: This has precedence over the 'permission_manager_name' action. # { # matches = [ # { # application.name = "paplay" # } # ] # actions = { # update-props = { # default_permissions = "r" # } # } # } ## This rule sets the pipewire effective access to 'flatpak-manager' for ## clients with both 'flatpak' access and 'Manager' media category, and all ## grants all permissions. ## Note: WirePlumber already does this by default. # { # matches = [ # { # pipewire.access = "flatpak" # media.category = "Manager" # } # ] # actions = { # update-props = { # access = "flatpak-manager" # default_permissions = "all", # } # } # } ## This rule grants read-exec-only permissions to clients with 'flatpak' ## access and without 'Manager' media category. ## Note: WirePlumber already does this by default. # { # matches = [ # { # pipewire.access = "flatpak" # media.category = "!\"Manager\"" # } # ] # actions = { # update-props = { # default_permissions = "rx" # } # } # } ## This rule grants read-exec-only permissions to clients with 'restricted' ## access. ## Note: WirePlumber already does this by default. # { # matches = [ # { # pipewire.access = "restricted" # } # ] # actions = { # update-props = { # default_permissions = "rx" # } # } # } ## This rule grants all permissions to clients with 'unrestricted' access. ## Note: WirePlumber already does this by default. # { # matches = [ # { # pipewire.access = "unrestricted" # } # ] # actions = { # update-props = { # default_permissions = "all" # } # } # } ]