### Class

# Xdp InputCaptureSession

#### Description [src]

    final class Xdp.InputCaptureSession : GObject.Object
    {
      /* No available fields */
    }

A representation of a long-lived input capture portal interaction.

The `XdpInputCaptureSession` object is used to represent portal interactions with the input capture desktop portal that extend over multiple portal calls. Usually a caller creates an input capture session, requests the available zones and sets up pointer barriers on those zones before enabling the session.

To find available zones, call `xdp_input_capture_session_get_zones()`. These `XdpInputCaptureZone` object represent the accessible desktop area for input capturing. `XdpInputCapturePointerBarrier` objects can be set up on these zones to trigger input capture.

The `XdpInputCaptureSession` wraps a `XdpSession` object.

#### Ancestors

- GObject

#### Instance methods

###### xdp_input_capture_session_connect_to_eis

Connect this session to an EIS implementation and return the fd. This fd can be passed into ei_setup_backend_fd(). See the libei documentation for details.

###### xdp_input_capture_session_disable

Disables this input capture session.

###### xdp_input_capture_session_enable

Enables this input capture session. In the future, this client may receive input events.

###### xdp_input_capture_session_get_restore_token

Returns the restore token for this session or NULL if none exists. This token can be passed to `xdp_input_capture_session_set_restore_token()` for a future session to restore this session, possibly skipping interactive permission dialogs.

###### xdp_input_capture_session_get_session

Return the `XdpSession` for this InputCapture session.

###### xdp_input_capture_session_get_zones

Obtains the current set of `XdpInputCaptureZone` objects.

###### xdp_input_capture_session_release

Releases this input capture session without a suggested cursor position.

###### xdp_input_capture_session_release_at

Releases this input capture session with a suggested cursor position. Note that the implementation is not required to honour this position.

###### xdp_input_capture_session_set_pointer_barriers

Sets the pointer barriers for this session. When the request is done, `callback` will be called. You can then call `xdp_input_capture_session_set_pointer_barriers_finish()` to get the results. The result of this request is the list of pointer barriers that failed to apply - barriers not present in the returned list are active.

###### xdp_input_capture_session_set_pointer_barriers_finish

Finishes the set-pointer-barriers request, and returns a GList with the pointer barriers that failed to apply and should be cleaned up by the caller.

###### xdp_input_capture_session_set_restore_token

Sets the restore token for the session about to be started. This instructs the portal to restore the previous session identified by this token.

###### xdp_input_capture_session_set_session_persistence

Requests session persistence from the portal. A persistent session can be restored using the restore token, see `xdp_input_capture_session_set_restore_token()`.

###### xdp_input_capture_session_start

Start the input capture session.

###### xdp_input_capture_session_start_finish

Finishes the InputCapture Start request, and returns TRUE if it was successful.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

###### Xdp.InputCaptureSession::activated

Emitted when an InputCapture session activates and sends events. When this signal is emitted, events will appear on the transport layer.

###### Xdp.InputCaptureSession::deactivated

Emitted when an InputCapture session deactivates and no longer sends events.

###### Xdp.InputCaptureSession::disabled

Emitted when an InputCapture session is disabled. This signal is emitted when capturing was disabled by the server.

###### Xdp.InputCaptureSession::zones-changed

Emitted when an InputCapture session’s zones have changed. When this signal is emitted, all current zones will have their `XdpInputCaptureZone:is-valid` property set to `FALSE` and all internal references to those zones have been released. This signal is sent after libportal has fetched the updated zones, a caller should call `xdp_input_capture_session_get_zones()` to retrieve the new zones.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct XdpInputCaptureSessionClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.