RemoteActionGroup

Added in version 2.32.

class RemoteActionGroup(*args, **kwargs)

Implementations: DBusActionGroup

The GRemoteActionGroup interface is implemented by ActionGroup instances that either transmit action invocations to other processes or receive action invocations in the local process from other processes.

The interface has _full variants of the two methods on ActionGroup used to activate actions: activate_action and change_action_state. These variants allow a ‘platform data’ Variant to be specified: a dictionary providing context for the action invocation (for example: timestamps, startup notification IDs, etc).

DBusActionGroup implements GRemoteActionGroup. This provides a mechanism to send platform data for action invocations over D-Bus.

Additionally, export_action_group will check if the exported ActionGroup implements GRemoteActionGroup and use the _full variants of the calls if available. This provides a mechanism by which to receive platform data for action invocations that arrive by way of D-Bus.

Methods

class RemoteActionGroup
activate_action_full(action_name: str, parameter: Variant | None, platform_data: Variant) None

Activates the remote action.

This is the same as activate_action() except that it allows for provision of “platform data” to be sent along with the activation request. This typically contains details such as the user interaction timestamp or startup notification information.

platform_data must be non-None and must have the type %G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Added in version 2.32.

Parameters:
  • action_name – the name of the action to activate

  • parameter – the optional parameter to the activation

  • platform_data – the platform data to send

change_action_state_full(action_name: str, value: Variant, platform_data: Variant) None

Changes the state of a remote action.

This is the same as change_action_state() except that it allows for provision of “platform data” to be sent along with the state change request. This typically contains details such as the user interaction timestamp or startup notification information.

platform_data must be non-None and must have the type %G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Added in version 2.32.

Parameters:
  • action_name – the name of the action to change the state of

  • value – the new requested value for the state

  • platform_data – the platform data to send

Virtual Methods

class RemoteActionGroup
do_activate_action_full(action_name: str, parameter: Variant | None, platform_data: Variant) None

Activates the remote action.

This is the same as activate_action() except that it allows for provision of “platform data” to be sent along with the activation request. This typically contains details such as the user interaction timestamp or startup notification information.

platform_data must be non-None and must have the type %G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Added in version 2.32.

Parameters:
  • action_name – the name of the action to activate

  • parameter – the optional parameter to the activation

  • platform_data – the platform data to send

do_change_action_state_full(action_name: str, value: Variant, platform_data: Variant) None

Changes the state of a remote action.

This is the same as change_action_state() except that it allows for provision of “platform data” to be sent along with the state change request. This typically contains details such as the user interaction timestamp or startup notification information.

platform_data must be non-None and must have the type %G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.

Added in version 2.32.

Parameters:
  • action_name – the name of the action to change the state of

  • value – the new requested value for the state

  • platform_data – the platform data to send