Gjsify LogoGjsify Logo

Context for portal calls.

The XdpPortal object provides the main context object for the portal operations of libportal.

Typically, an application will create a single XdpPortal object with [ctorPortal.new] and use it throughout its lifetime.

Hierarchy

Index

Constructors

Properties

Methods

Constructors

Properties

g_type_instance: TypeInstance
$gtype: GType<Portal>
name: string

Methods

  • Request access to a camera.

    When the request is done, callback will be called. You can then call [methodPortal.access_camera_finish] to get the results.

    Parameters

    Returns void

  • Finishes a camera acess request.

    Returns the result as a boolean.

    If the access was granted, you can then call [methodPortal.open_pipewire_remote_for_camera] to obtain a pipewire remote.

    Parameters

    Returns boolean

  • Sends a desktop notification.

    The following keys may be present in notification:

    • title s: a user-visible string to display as title
    • body s: a user-visible string to display as body
    • icon v: a serialized icon (in the format produced by [methodGio.Icon.serialize])
    • priority s: "low", "normal", "high" or "urgent"
    • default-action s: name of an action that will be activated when the user clicks on the notification
    • default-action-target v: target parameter to send along when activating the default action.
    • buttons aa{sv}: array of serialized buttons

    Each serialized button is a dictionary with the following supported keys:

    • label s: user-visible lable for the button. Mandatory
    • action s: name of an action that will be activated when the user clicks on the button. Mandatory
    • target v: target parameter to send along when activating the button

    Actions with a prefix of "app." are assumed to be exported by the application and will be activated via the org.freedesktop.Application interface, others are activated by emitting the [signalPortal::notification-action-invoked] signal.

    It is the callers responsibility to ensure that the ID is unique among all notifications.

    To withdraw a notification, use [methodPortal.remove_notification].

    Parameters

    • id: string

      unique ID for the notification

    • notification: GLib.Variant

      a [structGLib.Variant] dictionary with the content of the notification

    • flags: NotificationFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Creates a binding between source_property on source and target_property on target.

    Whenever the source_property is changed the target_property is updated using the same value. For instance:

      g_object_bind_property (action, "active", widget, "sensitive", 0);
    

    Will result in the "sensitive" property of the widget #GObject instance to be updated with the same value of the "active" property of the action #GObject instance.

    If flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: if target_property on target changes then the source_property on source will be updated as well.

    The binding will automatically be removed when either the source or the target instances are finalized. To remove the binding without affecting the source and the target you can just call g_object_unref() on the returned #GBinding instance.

    Removing the binding by calling g_object_unref() on it must only be done if the binding, source and target are only used from a single thread and it is clear that both source and target outlive the binding. Especially it is not safe to rely on this if the binding, source or target can be finalized from different threads. Keep another reference to the binding and use g_binding_unbind() instead to be on the safe side.

    A #GObject can have multiple bindings.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    Returns Binding

  • Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

    This function is the language bindings friendly version of g_object_bind_property_full(), using #GClosures instead of function pointers.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    • transform_to: TClosure<any, any>

      a #GClosure wrapping the transformation function from the source to the target, or %NULL to use the default

    • transform_from: TClosure<any, any>

      a #GClosure wrapping the transformation function from the target to the source, or %NULL to use the default

    Returns Binding

  • Presents a window that lets the user compose an email, with some pre-filled information.

    When the request is done, callback will be called. You can then call [methodPortal.compose_email_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • addresses: string[]

      the email addresses to send to

    • cc: string[]

      the email addresses to cc

    • bcc: string[]

      the email addresses to bcc

    • subject: string

      the subject for the email

    • body: string

      the body for the email

    • attachments: string[]

      an array of paths for files to attach

    • flags: EmailFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Creates a session for remote desktop.

    When the request is done, callback will be called. You can then call [methodPortal.create_remote_desktop_session_finish] to get the results.

    Parameters

    Returns void

  • Creates a session for a screencast.

    When the request is done, callback will be called. You can then call [methodPortal.create_screencast_session_finish] to get the results.

    Parameters

    • outputs: OutputType

      which kinds of source to offer in the dialog

    • flags: ScreencastFlags

      options for this call

    • cursor_mode: CursorMode

      the cursor mode of the session

    • persist_mode: PersistMode

      the persist mode of the session

    • restore_token: string

      the token of a previous screencast session to restore

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • disconnect(id: number): void
  • dynamic_launcher_get_desktop_entry(desktop_file_id: string): string
  • This function gets the contents of a .desktop file that was previously installed by the dynamic launcher portal.

    The desktop_file_id must be prefixed with the caller's app ID followed by a "." and suffixed with ".desktop".

    Parameters

    • desktop_file_id: string

      the .desktop file name

    Returns string

  • dynamic_launcher_get_icon(desktop_file_id: string, out_icon_format: string, out_icon_size: number): GLib.Variant
  • This function gets the icon associated with a .desktop file that was previously installed by the dynamic launcher portal.

    The desktop_file_id must be prefixed with the caller's app ID followed by a "." and suffixed with ".desktop".

    Parameters

    • desktop_file_id: string

      the .desktop file name

    • out_icon_format: string

      return location for icon format string, one of "png", "jpeg", "svg"

    • out_icon_size: number

      return location for icon size

    Returns GLib.Variant

  • dynamic_launcher_install(token: string, desktop_file_id: string, desktop_entry: string): boolean
  • This function completes installation of a launcher so that the icon and name given in previous method calls will show up in the desktop environment's menu.

    The desktop_file_id must be prefixed with the caller's app ID followed by a "." and suffixed with ".desktop".

    The desktop_entry data need not include Icon= or Name= entries since these will be added by the portal, and the Exec= entry will be rewritten to call the application with e.g. "flatpak run" depending on the sandbox status of the app.

    Parameters

    • token: string

      a token acquired via a [methodPortal.dynamic_launcher_request_install_token] or [methodPortal.dynamic_launcher_prepare_install] call

    • desktop_file_id: string

      the .desktop file name to be used

    • desktop_entry: string

      the key-file to be used for the contents of the .desktop file

    Returns boolean

  • dynamic_launcher_launch(desktop_file_id: string, activation_token: string): boolean
  • Presents a dialog to the user so they can confirm they want to install a launcher to their desktop.

    When the request is done, callback will be called. You can then call [methodPortal.dynamic_launcher_prepare_install_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • name: string

      the name for the launcher

    • icon_v: GLib.Variant

      a #GBytesIcon as returned by g_icon_serialize(). Must be a png or jpeg no larger than 512x512, or an svg

    • launcher_type: LauncherType

      the type of the launcher

    • target: string

      the URL if the launcher is for a web app, or %NULL

    • editable_name: boolean

      if %TRUE, the user will be able to edit the name of the launcher

    • editable_icon: boolean

      if %TRUE, the user will be able to edit the icon of the launcher, if the implementation supports this

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the prepare-install-launcher request, and returns [structGLib.Variant] dictionary with the following information:

    • name s: the name chosen by the user (or the provided name if the editable_name option was not set)
    • token s: a token that can by used in a [methodPortal.dynamic_launcher_install] call to complete the installation

    Parameters

    Returns GLib.Variant

  • dynamic_launcher_request_install_token(name: string, icon_v: GLib.Variant): string
  • Requests a token which can be passed to [methodPortal.dynamic_launcher_install] to complete installation of the launcher without user interaction.

    This function only works when the caller's app ID is in the allowlist for the portal backend being used. It's intended for software centers such as GNOME Software or KDE Discover.

    Parameters

    • name: string

      the name for the launcher

    • icon_v: GLib.Variant

      a #GBytesIcon as returned by g_icon_serialize(). Must be a png or jpeg no larger than 512x512, or an svg

    Returns string

  • dynamic_launcher_uninstall(desktop_file_id: string): boolean
  • This function uninstalls a launcher that was previously installed using the dynamic launcher portal, resulting in the .desktop file and icon being deleted.

    The desktop_file_id must be prefixed with the caller's app ID followed by a "." and suffixed with ".desktop".

    Parameters

    • desktop_file_id: string

      the .desktop file name

    Returns boolean

  • emit(sigName: "location-updated", latitude: number, longitude: number, altitude: number, accuracy: number, speed: number, heading: number, description: string, timestamp_s: number, timestamp_ms: number, ...args: any[]): void
  • emit(sigName: "notification-action-invoked", id: string, action: string, parameter: GLib.Variant, ...args: any[]): void
  • emit(sigName: "session-state-changed", screensaver_active: boolean, session_state: LoginSessionState, ...args: any[]): void
  • emit(sigName: "spawn-exited", pid: number, exit_status: number, ...args: any[]): void
  • emit(sigName: "update-available", running_commit: string, local_commit: string, remote_commit: string, ...args: any[]): void
  • emit(sigName: "update-progress", n_ops: number, op: number, progress: number, status: UpdateStatus, error: string, error_message: string, ...args: any[]): void
  • emit(sigName: string, ...args: any[]): void
  • force_floating(): void
  • This function is intended for #GObject implementations to re-enforce a [floating][floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling g_object_ref_sink().

    Returns void

  • freeze_notify(): void
  • Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one #GObject::notify signal is emitted for each property modified while the object is frozen.

    This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.

    Returns void

  • get_data(key?: string): object
  • Gets a named field from the objects table of associations (see g_object_set_data()).

    Parameters

    • Optional key: string

      name of the key for that association

    Returns object

  • get_property(property_name?: string, value?: any): void
  • Gets a property of an object.

    The value can be:

    • an empty #GValue initialized by %G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60)
    • a #GValue initialized with the expected type of the property
    • a #GValue initialized with a type to which the expected type of the property can be transformed

    In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling g_value_unset().

    Note that g_object_get_property() is really intended for language bindings, g_object_get() is much more convenient for C programming.

    Parameters

    • Optional property_name: string

      the name of the property to get

    • Optional value: any

      return location for the property value

    Returns void

  • get_qdata(quark: number): object
  • Gets information about the user.

    When the request is done, callback will be called. You can then call [methodPortal.get_user_information_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • reason: string

      a string that can be shown in the dialog to explain why the information is needed

    • flags: UserInformationFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the get-user-information request.

    Returns the result in the form of a [structGLib.Variant] dictionary containing the following fields:

    • id s: the user ID
    • name s: the users real name
    • image s: the uri of an image file for the users avatar picture

    Parameters

    Returns GLib.Variant

  • getv(names: string[], values: any[]): void
  • Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.

    Parameters

    • names: string[]

      the names of each property to get

    • values: any[]

      the values of each property to get

    Returns void

  • is_camera_present(): boolean
  • is_floating(): boolean
  • Makes XdpPortal start monitoring location changes.

    When the location changes, the [signalPortal::location-updated]. signal is emitted.

    Use [methodPortal.location_monitor_stop] to stop monitoring.

    Note that [classPortal] only maintains a single location monitor at a time. If you want to change the distance_threshold, time_threshold or accuracy of the current monitor, you first have to call [methodPortal.location_monitor_stop] to stop monitoring.

    Parameters

    • parent: Parent

      a [structParent], or NULL

    • distance_threshold: number

      distance threshold, in meters

    • time_threshold: number

      time threshold, in seconds

    • accuracy: LocationAccuracy

      desired accuracy

    • flags: LocationMonitorFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • location_monitor_start_finish(result: AsyncResult): boolean
  • location_monitor_stop(): void
  • Stops location monitoring that was started with [methodPortal.location_monitor_start].

    Returns void

  • notify(property_name: string): void
  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    Parameters

    • property_name: string

      the name of a property installed on the class of object.

    Returns void

  • Emits a "notify" signal for the property specified by pspec on object.

    This function omits the property name lookup, hence it is faster than g_object_notify().

    One way to avoid using g_object_notify() from within the class that registered the properties, and using g_object_notify_by_pspec() instead, is to store the GParamSpec used with g_object_class_install_property() inside a static array, e.g.:

      enum
    {
    PROP_0,
    PROP_FOO,
    PROP_LAST
    };

    static GParamSpec *properties[PROP_LAST];

    static void
    my_object_class_init (MyObjectClass *klass)
    {
    properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
    0, 100,
    50,
    G_PARAM_READWRITE);
    g_object_class_install_property (gobject_class,
    PROP_FOO,
    properties[PROP_FOO]);
    }

    and then notify a change on the "foo" property with:

      g_object_notify_by_pspec (self, properties[PROP_FOO]);
    

    Parameters

    • pspec: ParamSpec

      the #GParamSpec of a property installed on the class of object.

    Returns void

  • Opens the directory containing the file specified by the uri.

    which must be a file: uri pointing to a file that the application has access to.

    Parameters

    Returns void

  • Finishes the open-directory request.

    Returns the result in the form of a boolean.

    Parameters

    Returns boolean

  • Asks the user to open one or more files.

    The format for the filters argument is a(sa(us)). Each item in the array specifies a single filter to offer to the user. The first string is a user-visible name for the filter. The a(us) specifies a list of filter strings, which can be either a glob pattern (indicated by 0) or a mimetype (indicated by 1).

    Example: [('Images', [(0, '*.ico'), (1, 'image/png')]), ('Text', [(0, '*.txt')])]

    The format for the choices argument is a(ssa(ss)s). For each element, the first string is an ID that will be returned with the response, te second string is a user-visible label. The a(ss) is the list of choices, each being a is an ID and a user-visible label. The final string is the initial selection, or "", to let the portal decide which choice will be initially selected. None of the strings, except for the initial selection, should be empty.

    As a special case, passing an empty array for the list of choices indicates a boolean choice that is typically displayed as a check button, using "true" and "false" as the choices.

    Example: [('encoding', 'Encoding', [('utf8', 'Unicode (UTF-8)'), ('latin15', 'Western')], 'latin15'), ('reencode', 'Reencode', [], 'false')]

    When the request is done, callback will be called. You can then call [methodPortal.open_file_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • title: string

      title for the file chooser dialog

    • filters: GLib.Variant

      a [structGLib.Variant] describing file filters

    • current_filter: GLib.Variant

      a [structGLib.Variant] describing the current file filter

    • choices: GLib.Variant

      a [structGLib.Variant] describing extra widgets

    • flags: OpenFileFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the open-file request

    Returns the result in the form of a [structGLib.Variant] dictionary containing the following fields:

    • uris as: an array of strings containing the uris of selected files
    • choices a(ss): an array of pairs of strings, the first string being the ID of a combobox that was passed into this call, the second string being the selected option.

    Parameters

    Returns GLib.Variant

  • open_pipewire_remote_for_camera(): number
  • Opens a file descriptor to the pipewire remote where the camera nodes are available.

    The file descriptor should be used to create a pw_remote object, by using pw_remote_connect_fd(). Only the camera nodes will be available from this pipewire node.

    Returns number

  • Lets the user pick a color from the screen.

    When the request is done, callback will be called. You can then call [methodPortal.pick_color_finish] to get the results.

    Parameters

    Returns void

  • Finishes a pick-color request.

    Returns the result in the form of a GVariant of the form (ddd), containing red, green and blue components in the range [0,1].

    Parameters

    Returns GLib.Variant

  • Presents a print dialog to the user and returns print settings and page setup.

    When the request is done, callback will be called. You can then call [methodPortal.prepare_print_finish] to get the results.

    Parameters

    Returns void

  • Finishes the prepare-print request.

    Returns a [structGLib.Variant] dictionary with the following information:

    • settings a{sv}: print settings as set up by the user in the print dialog
    • page-setup `a{sv}: page setup as set up by the user in the print dialog
    • token u: a token that can by used in a [methodPortal.print_file] call to avoid the print dialog

    Parameters

    Returns GLib.Variant

  • Prints a file.

    If a valid token is present in the options, then this call will print with the settings from the Print call that the token refers to. If no token is present, then a print dialog will be presented to the user.

    When the request is done, callback will be called. You can then call [methodPortal.print_file_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • title: string

      tile for the print dialog

    • token: number

      token that was returned by a previous [methodPortal.prepare_print] call, or 0

    • file: string

      path of the document to print

    • flags: Xdp.PrintFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Increases the reference count of object.

    Since GLib 2.56, if GLIB_VERSION_MAX_ALLOWED is 2.56 or greater, the type of object will be propagated to the return type (using the GCC typeof() extension), so any casting the caller needs to do on the return type must be explicit.

    Returns GObject.Object

  • Increase the reference count of object, and possibly remove the [floating][floating-ref] reference, if object has a floating reference.

    In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.

    Since GLib 2.56, the type of object will be propagated to the return type under the same conditions as for g_object_ref().

    Returns GObject.Object

  • remove_notification(id: string): void
  • Requests background permissions.

    When the request is done, callback will be called. You can then call [methodPortal.request_background_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • reason: string

      reason to present to user for request

    • commandline: string[]

      command line to autostart

    • flags: BackgroundFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • request_background_finish(result: AsyncResult): boolean
  • run_dispose(): void
  • Releases all references to other objects. This can be used to break reference cycles.

    This function should only be called from object system implementations.

    Returns void

  • Asks the user for a location to save a file.

    The format for the filters argument is the same as for [methodPortal.open_file].

    The format for the choices argument is the same as for [methodPortal.open_file].

    When the request is done, callback will be called. You can then call [methodPortal.save_file_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • title: string

      title for the file chooser dialog

    • current_name: string

      suggested filename

    • current_folder: string

      suggested folder to save the file in

    • current_file: string

      the current file (when saving an existing file)

    • filters: GLib.Variant

      a [structGLib.Variant] describing file filters

    • current_filter: GLib.Variant

      a [structGLib.Variant] describing the current file filter

    • choices: GLib.Variant

      a [structGLib.Variant] describing extra widgets

    • flags: SaveFileFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the save-file request.

    Returns the result in the form of a [structGLib.Variant] dictionary containing the following fields:

    • uris (as): an array of strings containing the uri of the selected file
    • choices a(ss): an array of pairs of strings, the first string being the ID of a combobox that was passed into this call, the second string being the selected option.

    Parameters

    Returns GLib.Variant

  • Asks for a folder as a location to save one or more files.

    The names of the files will be used as-is and appended to the selected folder's path in the list of returned files. If the selected folder already contains a file with one of the given names, the portal may prompt or take some other action to construct a unique file name and return that instead.

    The format for the choices argument is the same as for [methodPortal.open_file].

    When the request is done, callback will be called. You can then call [methodPortal.save_file_finish] to get the results.

    Parameters

    • parent: Parent

      parent window information

    • title: string

      title for the file chooser dialog

    • current_name: string

      suggested filename

    • current_folder: string

      suggested folder to save the file in

    • files: GLib.Variant

      An array of file names to be saved

    • choices: GLib.Variant

      a [structGLib.Variant] describing extra widgets

    • flags: SaveFileFlags

      options for this call

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the save-files request.

    Returns the result in the form of a [structGLib.Variant] dictionary containing the following fields:

    • uris (as): an array of strings containing the uri corresponding to each file passed to the save-files request, in the same order. Note that the file names may have changed, for example if a file with the same name in the selected folder already exists.
    • choices a(ss): an array of pairs of strings, the first string being the ID of a combobox that was passed into this call, the second string being the selected option.

    Parameters

    Returns GLib.Variant

  • Inhibits various session status changes.

    To obtain an ID that can be used to undo the inhibition, use [methodPortal.session_inhibit_finish] in the callback.

    To remove an active inhibitor, call [methodPortal.session_uninhibit] with the same ID.

    Parameters

    • parent: Parent

      parent window information

    • reason: string

      user-visible reason for the inhibition

    • flags: InhibitFlags

      information about what to inhibit

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • Finishes the inhbit request.

    Returns the ID of the inhibition as a positive integer. The ID can be passed to [methodPortal.session_uninhibit] to undo the inhibition.

    Parameters

    Returns number

  • session_monitor_query_end_response(): void
  • This method should be called within one second of receiving a [signalPortal::session-state-changed] signal with the 'Query End' state, to acknowledge that they have handled the state change.

    Possible ways to handle the state change are either to call [methodPortal.session_inhibit] to prevent the session from ending, or to save your state and get ready for the session to end.

    Returns void

  • Makes [classPortal] start monitoring the login session state.

    When the state changes, the [signalPortal::session-state-changed] signal is emitted.

    Use [methodPortal.session_monitor_stop] to stop monitoring.

    Parameters

    Returns void

  • session_monitor_start_finish(result: AsyncResult): boolean
  • session_monitor_stop(): void
  • Stops session state monitoring that was started with [methodPortal.session_monitor_start].

    Returns void

  • session_uninhibit(id: number): void
  • Removes an inhibitor that was created by a call to [methodPortal.session_inhibit].

    Parameters

    • id: number

      unique ID for an active inhibition

    Returns void

  • set_data(key: string, data?: object): void
  • Each object carries around a table of associations from strings to pointers. This function lets you set an association.

    If the object already had an association with that name, the old association will be destroyed.

    Internally, the key is converted to a #GQuark using g_quark_from_string(). This means a copy of key is kept permanently (even after object has been finalized) — so it is recommended to only use a small, bounded set of values for key in your program, to avoid the #GQuark storage growing unbounded.

    Parameters

    • key: string

      name of the key

    • Optional data: object

      data to associate with that key

    Returns void

  • set_property(property_name: string, value?: any): void
  • spawn(cwd: string, argv: string[], fds: number[], map_to: number[], env: string[], flags: Xdp.SpawnFlags, sandbox_expose: string[], sandbox_expose_ro: string[], cancellable: Gio.Cancellable, callback: AsyncReadyCallback): void
  • Creates a new copy of the applications sandbox, and runs a process in, with the given arguments.

    The learn when the spawned process exits, connect to the [signalPortal::spawn-exited] signal.

    Parameters

    • cwd: string

      the cwd for the new process

    • argv: string[]

      the argv for the new process

    • fds: number[]

      an array of open fds to pass to the new process, or NULL

    • map_to: number[]

      an array of integers to map the fds to, or NULL. Must be the same length as fds

    • env: string[]

      an array of KEY=VALUE environment settings, or NULL

    • flags: Xdp.SpawnFlags

      flags influencing the spawn operation

    • sandbox_expose: string[]

      paths to expose rw in the new sandbox, or NULL

    • sandbox_expose_ro: string[]

      paths to expose ro in the new sandbox, or NULL

    • cancellable: Gio.Cancellable

      optional [classGio.Cancellable]

    • callback: AsyncReadyCallback

      a callback to call when the request is done

    Returns void

  • spawn_signal(pid: number, signal: number, to_process_group: boolean): void
  • Sends a Unix signal to a process that has been spawned by [methodPortal.spawn].

    Parameters

    • pid: number

      the pid of the process to send a signal to

    • signal: number

      the Unix signal to send (see signal(7))

    • to_process_group: boolean

      whether to send the signal to the process group of the process

    Returns void

  • steal_data(key?: string): object
  • Remove a specified datum from the object's data associations, without invoking the association's destroy handler.

    Parameters

    • Optional key: string

      name of the key

    Returns object

  • steal_qdata(quark: number): object
  • This function gets back user data pointers stored via g_object_set_qdata() and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:

    void
    object_add_to_user_list (GObject *object,
    const gchar *new_string)
    {
    // the quark, naming the object data
    GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
    // retrieve the old string list
    GList *list = g_object_steal_qdata (object, quark_string_list);

    // prepend new string
    list = g_list_prepend (list, g_strdup (new_string));
    // this changed 'list', so we need to set it again
    g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
    }
    static void
    free_string_list (gpointer data)
    {
    GList *node, *list = data;

    for (node = list; node; node = node->next)
    g_free (node->data);
    g_list_free (list);
    }

    Using g_object_get_qdata() in the above example, instead of g_object_steal_qdata() would have left the destroy function set, and thus the partial string list would have been freed upon g_object_set_qdata_full().

    Parameters

    • quark: number

      A #GQuark, naming the user data pointer

    Returns object

  • Takes a screenshot.

    When the request is done, callback will be called. You can then call [methodPortal.take_screenshot_finish] to get the results.

    Parameters

    Returns void

  • Finishes a screenshot request.

    Returns the result in the form of a URI pointing to an image file.

    Parameters

    Returns string

  • thaw_notify(): void
  • Reverts the effect of a previous call to g_object_freeze_notify(). The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.

    Duplicate notifications for each property are squashed so that at most one #GObject::notify signal is emitted for each property, in the reverse order in which they have been queued.

    It is an error to call this function when the freeze count is zero.

    Returns void

  • unref(): void
  • Decreases the reference count of object. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

    If the pointer to the #GObject may be reused in future (for example, if it is an instance variable of another object), it is recommended to clear the pointer to %NULL rather than retain a dangling pointer to a potentially invalid #GObject instance. Use g_clear_object() for this.

    Returns void

  • Installs an available software update.

    This should be called in response to a [signalPortal::update-available] signal.

    During the update installation, the [signalPortal::update-progress] signal will be emitted to provide progress information.

    Parameters

    Returns void

  • Finishes an update-installation request.

    Returns the result in the form of boolean.

    Note that the update may not be completely installed by the time this function is called. You need to listen to the [signalPortal::update-progress] signal to learn when the installation is complete.

    Parameters

    Returns boolean

  • Makes XdpPortal start monitoring for available software updates.

    When a new update is available, the [signalPortal::update-available]. signal is emitted.

    Use [methodPortal.update_monitor_stop] to stop monitoring.

    Parameters

    Returns void

  • update_monitor_start_finish(result: AsyncResult): boolean
  • update_monitor_stop(): void
  • vfunc_constructed(): void
  • vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: ParamSpec): void
  • vfunc_dispose(): void
  • vfunc_finalize(): void
  • vfunc_get_property(property_id: number, value?: any, pspec?: ParamSpec): void
  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    virtual

    Parameters

    Returns void

  • vfunc_set_property(property_id: number, value?: any, pspec?: ParamSpec): void
  • watch_closure(closure: TClosure<any, any>): void
  • This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling g_closure_invalidate() on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, g_object_ref() and g_object_unref() are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.

    Parameters

    • closure: TClosure<any, any>

      #GClosure to watch

    Returns void

  • compat_control(what: number, data: object): number
  • Find the #GParamSpec with the given name for an interface. Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    • property_name: string

      name of a property to look up.

    Returns ParamSpec

  • Add a property to an interface; this is only useful for interfaces that are added to GObject-derived types. Adding a property to an interface forces all objects classes with that interface to have a compatible property. The compatible property could be a newly created #GParamSpec, but normally g_object_class_override_property() will be used so that the object class only needs to provide an implementation and inherits the property description, default value, bounds, and so forth from the interface property.

    This function is meant to be called from the interface's default vtable initialization function (the class_init member of #GTypeInfo.) It must not be called after after class_init has been called for any object types implementing this interface.

    If pspec is a floating reference, it will be consumed.

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface.

    • pspec: ParamSpec

      the #GParamSpec for the new property

    Returns void

  • Lists the properties of an interface.Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    Returns ParamSpec[]

  • Creates a new instance of a #GObject subtype and sets its properties.

    Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

    Parameters

    • object_type: GType<unknown>

      the type id of the #GObject subtype to instantiate

    • parameters: GObject.Parameter[]

      an array of #GParameter

    Returns GObject.Object

  • running_under_flatpak(): boolean
  • Detects if running inside of a Flatpak or WebKit sandbox.

    See also: [funcPortal.running_under_sandbox].

    Returns boolean

  • running_under_sandbox(): boolean
  • This function tries to determine if the current process is running under a sandbox that requires the use of portals.

    If you need to check error conditions see [funcPortal.running_under_snap].

    Note that these functions are all cached and will always return the same result.

    Returns boolean

  • running_under_snap(): boolean
  • Detects if you are running inside of a Snap sandbox.

    See also: [funcPortal.running_under_sandbox].

    Returns boolean

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method