Mini Shell

Direktori : /usr/share/doc/xdg-desktop-portal/
Upload File :
Current File : //usr/share/doc/xdg-desktop-portal/portal-docs.html

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Portal Documentation</title><link rel="stylesheet" type="text/css" href="docbook.css" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /></head><body><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="idm45883009928352"></a>Portal Documentation</h1></div><div><p class="releaseinfo">Version 1.12.6</p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#common-conventions">1. Common Conventions</a></span></dt><dd><dl><dt><span class="section"><a href="#idm45883005057296">Portal requests</a></span></dt><dt><span class="section"><a href="#idm45883006034800">Sessions</a></span></dt><dt><span class="section"><a href="#parent_window">Parent window identifiers</a></span></dt></dl></dd><dt><span class="reference"><a href="#idm45883007681696">I. Portal API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Account">org.freedesktop.portal.Account</a></span><span class="refpurpose"> — Portal for obtaining information about the user</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Request">org.freedesktop.portal.Request</a></span><span class="refpurpose"> — Shared request interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Session">org.freedesktop.portal.Session</a></span><span class="refpurpose"> — Shared session interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.FileChooser">org.freedesktop.portal.FileChooser</a></span><span class="refpurpose"> — File chooser portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Trash">org.freedesktop.portal.Trash</a></span><span class="refpurpose"> — Portal for trashing files</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.OpenURI">org.freedesktop.portal.OpenURI</a></span><span class="refpurpose"> — Portal for opening URIs</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Print">org.freedesktop.portal.Print</a></span><span class="refpurpose"> — Portal for printing</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Email">org.freedesktop.portal.Email</a></span><span class="refpurpose"> — Portal for sending email</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Device">org.freedesktop.portal.Device</a></span><span class="refpurpose"> — Portal for device access</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Location">org.freedesktop.portal.Location</a></span><span class="refpurpose"> — Portal for obtaining information about the location</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Screenshot">org.freedesktop.portal.Screenshot</a></span><span class="refpurpose"> — Portal for taking screenshots</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.ScreenCast">org.freedesktop.portal.ScreenCast</a></span><span class="refpurpose"> — Screen cast portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.RemoteDesktop">org.freedesktop.portal.RemoteDesktop</a></span><span class="refpurpose"> — Remote desktop portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Notification">org.freedesktop.portal.Notification</a></span><span class="refpurpose"> — Portal for sending notifications</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Inhibit">org.freedesktop.portal.Inhibit</a></span><span class="refpurpose"> — Portal for inhibiting session transitions</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.NetworkMonitor">org.freedesktop.portal.NetworkMonitor</a></span><span class="refpurpose"> — Network monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.ProxyResolver">org.freedesktop.portal.ProxyResolver</a></span><span class="refpurpose"> — Proxy information</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Settings">org.freedesktop.portal.Settings</a></span><span class="refpurpose"> — Settings interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Secret">org.freedesktop.portal.Secret</a></span><span class="refpurpose"> — Portal for retrieving application secret</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Background">org.freedesktop.portal.Background</a></span><span class="refpurpose"> — Portal for requesting autostart and background activity</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.GameMode">org.freedesktop.portal.GameMode</a></span><span class="refpurpose"> — Portal for accessing GameMode</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Camera">org.freedesktop.portal.Camera</a></span><span class="refpurpose"> — Camera portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Documents">org.freedesktop.portal.Documents</a></span><span class="refpurpose"> — Document portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Wallpaper">org.freedesktop.portal.Wallpaper</a></span><span class="refpurpose"> — Portal for setting the desktop's Wallpaper</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.MemoryMonitor">org.freedesktop.portal.MemoryMonitor</a></span><span class="refpurpose"> — Memory monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.PowerProfileMonitor">org.freedesktop.portal.PowerProfileMonitor</a></span><span class="refpurpose"> — Power Profile monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.FileTransfer">org.freedesktop.portal.FileTransfer</a></span><span class="refpurpose"> — Portal for transferring files between apps</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Realtime">org.freedesktop.portal.Realtime</a></span><span class="refpurpose"> — Portal for setting threads to realtime</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Flatpak">org.freedesktop.portal.Flatpak</a></span><span class="refpurpose"> — Flatpak portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Flatpak.UpdateMonitor">org.freedesktop.portal.Flatpak.UpdateMonitor</a></span><span class="refpurpose"></span></dt></dl></dd><dt><span class="reference"><a href="#idm45883005466768">II. Portal Backend API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Account">org.freedesktop.impl.portal.Account</a></span><span class="refpurpose"> — Backend for the portal for obtaining user information</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Request">org.freedesktop.impl.portal.Request</a></span><span class="refpurpose"> — Shared request interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Session">org.freedesktop.impl.portal.Session</a></span><span class="refpurpose"> — Shared session interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.FileChooser">org.freedesktop.impl.portal.FileChooser</a></span><span class="refpurpose"> — File chooser portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.AppChooser">org.freedesktop.impl.portal.AppChooser</a></span><span class="refpurpose"> — Interface for choosing an application</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Print">org.freedesktop.impl.portal.Print</a></span><span class="refpurpose"> — Print portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Email">org.freedesktop.impl.portal.Email</a></span><span class="refpurpose"> — Email portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Screenshot">org.freedesktop.impl.portal.Screenshot</a></span><span class="refpurpose"> — Screenshot portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.ScreenCast">org.freedesktop.impl.portal.ScreenCast</a></span><span class="refpurpose"> — Screen cast portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.RemoteDesktop">org.freedesktop.impl.portal.RemoteDesktop</a></span><span class="refpurpose"> — Remote desktop portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Notification">org.freedesktop.impl.portal.Notification</a></span><span class="refpurpose"> — Notification portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Inhibit">org.freedesktop.impl.portal.Inhibit</a></span><span class="refpurpose"> — Inhibit portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Access">org.freedesktop.impl.portal.Access</a></span><span class="refpurpose"> — Interface for presenting an access dialog</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Settings">org.freedesktop.impl.portal.Settings</a></span><span class="refpurpose"> — Settings portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Secret">org.freedesktop.impl.portal.Secret</a></span><span class="refpurpose"> — Secret portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Lockdown">org.freedesktop.impl.portal.Lockdown</a></span><span class="refpurpose"> — Lockdown backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Background">org.freedesktop.impl.portal.Background</a></span><span class="refpurpose"> — Background portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.PermissionStore">org.freedesktop.impl.portal.PermissionStore</a></span><span class="refpurpose"> — Database to store permissions</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Wallpaper">org.freedesktop.impl.portal.Wallpaper</a></span><span class="refpurpose"> — Portal for setting the desktop's Wallpaper</span></dt></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="common-conventions"></a>Chapter 1. Common Conventions</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="#idm45883005057296">Portal requests</a></span></dt><dt><span class="section"><a href="#idm45883006034800">Sessions</a></span></dt><dt><span class="section"><a href="#parent_window">Parent window identifiers</a></span></dt></dl></div><p>
       Requests made via portal interfaces generally involve user interaction,
       and dialogs that can stay open for a long time. Therefore portal APIs
       don't just use async method calls (which time out after at most 25 seconds),
       but instead return results via a Response signal on Request objects.
    </p><p>
       Portal APIs don't use properties very much. This is partially because
       we need to be careful about the flow of information, and partially because
       it would be unexpected to have a dialog appear when you just set a property.
    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="idm45883005057296"></a>Portal requests</h2></div></div></div><p>
        The general flow of the portal API is that the application makes
        a portal request, the portal replies to that method call with a
        handle (i.e. object path) to Request object that corresponds to the
        request. The object is exported on the bus and stays alive as long
        as the user interaction lasts. When the user interaction is over,
        the portal sends a Response signal back to the application with
        the results from the interaction, if any.
      </p><p>
        To avoid a race condition between the caller subscribing to the signal
        after receiving the reply for the method call and the signal getting emitted,
        a convention for Request object paths has been established that allows the
        caller to subscribe to the signal before making the method call.
      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="idm45883006034800"></a>Sessions</h2></div></div></div><p>
        Some portal requests are connected to each other and need to be used in
        sequence. The pattern we use in such cases is a Session object. Just like
        Requests, Sessions are represented by an object path, that is returned by
        the initial CreateSession call. Subsequent calls take the object path of
        the session they operate on as an argument.
      </p><p>
        Sessions can be ended from the application side by calling the Close()
        method. They can also be closed from the service side, in which case the
        ::Closed signal is emitted to inform the application.
      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="parent_window"></a>Parent window identifiers</h2></div></div></div><p>
        Most portals interact with the user by showing dialogs. These dialogs
        should generally be placed on top of the application window that triggered
        them. To arrange this, the compositor needs to know about the application
        window. Many portal requests expect a "parent_window" string argument for
        this reason.
      </p><p>
        Under X11, the "parent_window" argument should have the form
        "x11:<em class="replaceable"><code>XID</code></em>", where <em class="replaceable"><code>XID</code></em>
        is the XID of the application window in hexadecimal notation.
      </p><p>
        Under Wayland, it should have the form "wayland:<em class="replaceable"><code>HANDLE</code></em>",
        where <em class="replaceable"><code>HANDLE</code></em> is a surface handle obtained with the
        <a class="ulink" href="https://github.com/wayland-project/wayland-protocols/blob/master/unstable/xdg-foreign/xdg-foreign-unstable-v2.xml" target="_top">xdg_foreign</a> protocol.
      </p><p>
        For other windowing systems, or if you don't have a suitable handle, just
        pass an empty string for "parent_window".
      </p></div></div><div class="reference"><div class="titlepage"><div><div><h1 class="title"><a id="idm45883007681696"></a>Portal API Reference</h1></div></div><hr /></div><div class="partintro"><div></div><p>
        Portal interfaces are available to sandboxed applications with the
        default filtered session bus access of Flatpak. Unless otherwise
        specified, they appear under the bus name org.freedesktop.portal.Desktop
        and the object path /org/freedesktop/portal/desktop on the session
        bus.
      </p><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Account">org.freedesktop.portal.Account</a></span><span class="refpurpose"> — Portal for obtaining information about the user</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Request">org.freedesktop.portal.Request</a></span><span class="refpurpose"> — Shared request interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Session">org.freedesktop.portal.Session</a></span><span class="refpurpose"> — Shared session interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.FileChooser">org.freedesktop.portal.FileChooser</a></span><span class="refpurpose"> — File chooser portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Trash">org.freedesktop.portal.Trash</a></span><span class="refpurpose"> — Portal for trashing files</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.OpenURI">org.freedesktop.portal.OpenURI</a></span><span class="refpurpose"> — Portal for opening URIs</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Print">org.freedesktop.portal.Print</a></span><span class="refpurpose"> — Portal for printing</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Email">org.freedesktop.portal.Email</a></span><span class="refpurpose"> — Portal for sending email</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Device">org.freedesktop.portal.Device</a></span><span class="refpurpose"> — Portal for device access</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Location">org.freedesktop.portal.Location</a></span><span class="refpurpose"> — Portal for obtaining information about the location</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Screenshot">org.freedesktop.portal.Screenshot</a></span><span class="refpurpose"> — Portal for taking screenshots</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.ScreenCast">org.freedesktop.portal.ScreenCast</a></span><span class="refpurpose"> — Screen cast portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.RemoteDesktop">org.freedesktop.portal.RemoteDesktop</a></span><span class="refpurpose"> — Remote desktop portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Notification">org.freedesktop.portal.Notification</a></span><span class="refpurpose"> — Portal for sending notifications</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Inhibit">org.freedesktop.portal.Inhibit</a></span><span class="refpurpose"> — Portal for inhibiting session transitions</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.NetworkMonitor">org.freedesktop.portal.NetworkMonitor</a></span><span class="refpurpose"> — Network monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.ProxyResolver">org.freedesktop.portal.ProxyResolver</a></span><span class="refpurpose"> — Proxy information</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Settings">org.freedesktop.portal.Settings</a></span><span class="refpurpose"> — Settings interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Secret">org.freedesktop.portal.Secret</a></span><span class="refpurpose"> — Portal for retrieving application secret</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Background">org.freedesktop.portal.Background</a></span><span class="refpurpose"> — Portal for requesting autostart and background activity</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.GameMode">org.freedesktop.portal.GameMode</a></span><span class="refpurpose"> — Portal for accessing GameMode</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Camera">org.freedesktop.portal.Camera</a></span><span class="refpurpose"> — Camera portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Documents">org.freedesktop.portal.Documents</a></span><span class="refpurpose"> — Document portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Wallpaper">org.freedesktop.portal.Wallpaper</a></span><span class="refpurpose"> — Portal for setting the desktop's Wallpaper</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.MemoryMonitor">org.freedesktop.portal.MemoryMonitor</a></span><span class="refpurpose"> — Memory monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.PowerProfileMonitor">org.freedesktop.portal.PowerProfileMonitor</a></span><span class="refpurpose"> — Power Profile monitoring portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.FileTransfer">org.freedesktop.portal.FileTransfer</a></span><span class="refpurpose"> — Portal for transferring files between apps</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Realtime">org.freedesktop.portal.Realtime</a></span><span class="refpurpose"> — Portal for setting threads to realtime</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Flatpak">org.freedesktop.portal.Flatpak</a></span><span class="refpurpose"> — Flatpak portal</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.portal.Flatpak.UpdateMonitor">org.freedesktop.portal.Flatpak.UpdateMonitor</a></span><span class="refpurpose"></span></dt></dl></div></div><div class="refentry"><a id="gdbus-org.freedesktop.portal.Account"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Account — Portal for obtaining information about the user</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Account.GetUserInformation" title="The GetUserInformation() method">GetUserInformation</a> (IN  s     window,
                    IN  a{sv} options,
                    OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001263728"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Account.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Account"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications query basic
      information about the user, like his name and avatar photo.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Account"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Account.GetUserInformation"></a><h3>The GetUserInformation() method</h3><a id="idm45883001657520" class="indexterm"></a><pre class="programlisting">
GetUserInformation (IN  s     window,
                    IN  a{sv} options,
                    OUT o     handle);
</pre><p>        Gets information about the user.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">reason s</span></dt><dd><p>
              A string that can be shown in the dialog to expain why the information is needed.
              This should be a complete sentence that explains what the application will do with
              the returned information, for example: Allows your personal information to be included
              with recipes you share with your friends.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">id s</span></dt><dd><p>
              The user id.
            </p></dd><dt><span class="term">name s</span></dt><dd><p>
                The users real name.
              </p></dd><dt><span class="term">image s</span></dt><dd><p>
                The uri of an image file for the users avatar photo.
              </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>Identifier for the window</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Account"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Account.version"></a><h3>The "version" property</h3><a id="idm45883001797456" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Request"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Request — Shared request interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Request.Close" title="The Close() method">Close</a> ();
</pre></div><div class="refsect1"><a id="idm45883000332688"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">Response</a> (u     response,
          a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Request"></a><h2>Description</h2><p>      The Request interface is shared by all portal interfaces. When a
      portal method is called, the reply includes a handle (i.e. object path)
      for a Request object, which will stay alive for the duration of the
      user interaction related to the method call.
</p><p>      The portal indicates that a portal request interaction is over by
      emitting the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal on the
      Request object.
</p><p>      The application can abort the interaction calling
      <a class="link" href="#gdbus-method-org-freedesktop-portal-Request.Close" title="The Close() method">Close()</a> on the Request object.
</p><p>      Since version 0.9 of xdg-desktop-portal, the handle will be of the form
       /org/freedesktop/portal/desktop/request/SENDER/TOKEN,
      where SENDER is the callers unique name, with the initial ':' removed and
      all '.' replaced by '_', and TOKEN is a unique token that the caller provided
      with the handle_token key in the options vardict.
</p><p>      This change was made to let applications subscribe to the Response signal before
      making the initial portal call, thereby avoiding a race condition. It is recommended
      that the caller should verify that the returned handle is what it expected, and update
      its signal subscription if it isn't. This ensures that applications will work with both
      old and new versions of xdg-desktop-portal.
</p><p>      The token that the caller provides should be unique and not guessable. To avoid clashes
      with calls made from unrelated libraries, it is a good idea to use a per-library prefix
      combined with a random number.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Request"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Request.Close"></a><h3>The Close() method</h3><a id="idm45883003951056" class="indexterm"></a><pre class="programlisting">
Close ();
</pre><p>        Closes the portal request to which this object refers and ends all
        related user interaction (dialogs, etc).
        A Response signal will not be emitted in this case.
</p></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Request"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Request.Response"></a><h3>The "Response" signal</h3><a id="idm45883003945536" class="indexterm"></a><pre class="programlisting">
Response (u     response,
          a{sv} results);
</pre><p>        Emitted when the user interaction for a portal request is over.
</p><p>        The <em class="parameter"><code>response</code></em> indicates how the user interaction ended:
            </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Success, the request is carried out</td></tr><tr><td>1: The user cancelled the interaction</td></tr><tr><td>2: The user interaction was ended in some other way</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with results. The keys and values in the vardict depend on the request.</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Session"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Session — Shared session interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Session.Close" title="The Close() method">Close</a> ();
</pre></div><div class="refsect1"><a id="idm45883001925920"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Session.Closed" title="The &quot;Closed&quot; signal">Closed</a> (a{sv} details);
</pre></div><div class="refsect1"><a id="idm45883001373184"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Session.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Session"></a><h2>Description</h2><p>      The Session interface is shared by all portal interfaces that involve
      long lived sessions.  When a method that creates a session is called, if
      successful, the reply will include a session handle (i.e. object path) for
      a Session object, which will stay alive for the duration of the session.
</p><p>      The duration of the session is defined by the interface that creates it.
      For convenience, the interface contains a method
      <a class="link" href="#gdbus-method-org-freedesktop-portal-Session.Close" title="The Close() method">Close()</a>, and a signal
      org.freedesktop.portal.Session::Closed. Whether it is allowed to directly
      call Close() depends on the interface.
</p><p>      The handle of a session will be of the form
      /org/freedesktop/portal/desktop/session/SENDER/TOKEN, where SENDER is the
      callers unique name, with the initial ':' removed and all '.' replaced by
      '_', and TOKEN is a unique token that the caller provided with the
      session_handle_token key in the options vardict of the method creating
      the session.
</p><p>      The token that the caller provides should be unique and not guessable. To
      avoid clashes with calls made from unrelated libraries, it is a good idea
      to use a per-library prefix combined with a random number.
</p><p>      A client who started a session vanishing from the D-Bus is equivalent to
      closing all active sessions made by said client.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Session"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Session.Close"></a><h3>The Close() method</h3><a id="idm45883003034976" class="indexterm"></a><pre class="programlisting">
Close ();
</pre><p>        Closes the portal session to which this object refers and ends all
        related user interaction (dialogs, etc).
</p></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Session"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Session.Closed"></a><h3>The "Closed" signal</h3><a id="idm45883000821728" class="indexterm"></a><pre class="programlisting">
Closed (a{sv} details);
</pre><p>        Emitted when a session is closed.
</p><p>        The content of <em class="parameter"><code>details</code></em> is specified by the interface creating the session.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>details</code></em></code>:</span></dt><dd><p>A key value Vardict with details about the closed session.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Session"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Session.version"></a><h3>The "version" property</h3><a id="idm45883003628272" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.FileChooser"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.FileChooser — File chooser portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile</a>  (IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.SaveFile" title="The SaveFile() method">SaveFile</a>  (IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.SaveFiles" title="The SaveFiles() method">SaveFiles</a> (IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883000651888"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-FileChooser.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-FileChooser"></a><h2>Description</h2><p>      The FileChooser portal allows sandboxed applications to ask
      the user for access to files outside the sandbox. The portal
      backend will present the user with a file chooser dialog.
</p><p>      The selected files will be made accessible to the application
      via the document portal, and the returned URI will point
      into the document portal fuse filesystem in /run/user/$UID/doc/.
</p><p>      This documentation describes version 3 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.FileChooser"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileChooser.OpenFile"></a><h3>The OpenFile() method</h3><a id="idm45883003759312" class="indexterm"></a><pre class="programlisting">
OpenFile (IN  s     parent_window,
          IN  s     title,
          IN  a{sv} options,
          OUT o     handle);
</pre><p>      Asks to open one or more files.
</p><p>      Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
            A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
            object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
            more information about the <em class="parameter"><code>handle</code></em>.
          </p></dd><dt><span class="term">accept_label s</span></dt><dd><p>
            Label for the accept button. Mnemonic underlines are allowed.
          </p></dd><dt><span class="term">modal b</span></dt><dd><p>
            Whether the dialog should be modal. Default is yes.
          </p></dd><dt><span class="term">multiple b</span></dt><dd><p>
            Whether multiple files can be selected or not. Default is single-selection.
          </p></dd><dt><span class="term">directory b</span></dt><dd><p>
            Whether to select for folders instead of files. Default is to select files. This option was added in version 3.
          </p></dd><dt><span class="term">filters a(sa(us))</span></dt><dd><p>
              List of serialized file filters.
            </p><p>
              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-style pattern
              (indicated by 0) or a mimetype (indicated by 1). Patterns are case-sensitive.
              To match different capitalizations of, e.g. '*.ico', use a pattern like
              '*.[iI][cC][oO]'.
            </p><p>
              Example: [('Images', [(0, '*.ico'), (1, 'image/png')]), ('Text', [(0, '*.txt')])]
            </p><p>
              Note that filters are purely there to aid the user in making a useful selection.
              The portal may still allow the user to select files that don't match any filter
              criteria, and applications must be prepared to handle that.
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
            Request that this filter be set by default at dialog creation. If
            the filters list is nonempty, it should match a filter in the
            list to set the default filter from the list. Alternatively, it
            may be specified when the list is empty to apply the filter
            unconditionally.
          </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
              List of serialized combo boxes to add to the file chooser.
            </p><p>
              For each element, the first string is an ID that will be returned
              with the response, the second string is a user-visible label. The
              a(ss) is the list of choices, each being 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.
            </p><p>
              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.
            </p><p>
              Example: [('encoding', 'Encoding', [('utf8', 'Unicode (UTF-8)'), ('latin15', 'Western')], 'latin15'), ('reencode', 'Reencode', [], 'false')]
            </p></dd></dl></div><p>
</p><p>      The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
            An array of strings containing the uris of the selected files.
          </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
              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.
            </p><p>
              Example: [('encoding', 'utf8'), ('reencode', 'true')]
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
              The filter that was selected. This may match a filter in the
              filter list or another filter that was applied unconditionally.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileChooser.SaveFile"></a><h3>The SaveFile() method</h3><a id="idm45883002605712" class="indexterm"></a><pre class="programlisting">
SaveFile (IN  s     parent_window,
          IN  s     title,
          IN  a{sv} options,
          OUT o     handle);
</pre><p>      Asks for a location to save a file.
</p><p>      Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
            A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
            object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
            more information about the <em class="parameter"><code>handle</code></em>.
          </p></dd><dt><span class="term">accept_label s</span></dt><dd><p>
            Label for the accept button. Mnemonic underlines are allowed.
          </p></dd><dt><span class="term">modal b</span></dt><dd><p>
            Whether the dialog should be modal. Default is yes.
          </p></dd><dt><span class="term">filters a(sa(us))</span></dt><dd><p>
            List of serialized file filters.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
            Request that this filter be set by default at dialog creation.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
            List of serialized combo boxes.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">current_name s</span></dt><dd><p>Suggested filename.</p></dd><dt><span class="term">current_folder ay</span></dt><dd><p>
              Suggested folder to save the file in. The byte array is expected to be null-terminated.
            </p></dd><dt><span class="term">current_file ay</span></dt><dd><p>
              The current file (when saving an existing file). The byte array is expected to be null-terminated.
            </p></dd></dl></div><p>
</p><p>      The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
            An array of strings containing the uri of the selected file.
          </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
            An array of pairs of strings, corresponding to the passed-in choices.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
              The filter that was selected.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileChooser.SaveFiles"></a><h3>The SaveFiles() method</h3><a id="idm45883002561104" class="indexterm"></a><pre class="programlisting">
SaveFiles (IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT o     handle);
</pre><p>      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.
</p><p>      Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
            A string that will be used as the last element of the
            <em class="parameter"><code>handle</code></em>. Must be a valid object path element. See the
            <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for more
            information about the <em class="parameter"><code>handle</code></em>.
          </p></dd><dt><span class="term">accept_label s</span></dt><dd><p>
            Label for the accept button. Mnemonic underlines are allowed.
          </p></dd><dt><span class="term">modal b</span></dt><dd><p>
            Whether the dialog should be modal. Default is yes.
          </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
            List of serialized combo boxes.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">current_folder ay</span></dt><dd><p>
              Suggested folder to save the files in. The byte array is
              expected to be null-terminated.
            </p></dd><dt><span class="term">files aay</span></dt><dd><p>
              An array of file names to be saved. The byte arrays are
              expected to be null-terminated.
            </p></dd></dl></div><p>
</p><p>      The following results get returned via the
      <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
            An array of strings containing the uri corresponding to
            each file given by <em class="parameter"><code>options</code></em>, 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.
          </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
            An array of pairs of strings, corresponding to the passed-in choices.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.FileChooser"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-FileChooser.version"></a><h3>The "version" property</h3><a id="idm45883002522144" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Trash"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Trash — Portal for trashing files</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Trash.TrashFile" title="The TrashFile() method">TrashFile</a> (IN  h fd,
           OUT u result);
</pre></div><div class="refsect1"><a id="idm45883003853744"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Trash.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Trash"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications send files to
      the trashcan.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Trash"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Trash.TrashFile"></a><h3>The TrashFile() method</h3><a id="idm45883003795216" class="indexterm"></a><pre class="programlisting">
TrashFile (IN  h fd,
           OUT u result);
</pre><p>        Sends a file to the trashcan. Applications are allowed to
        trash a file if they can open it in r/w mode.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>file descriptor for the file to trash</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>the result. 0 if trashing failed, 1 if trashing succeeded, other values may be returned in the future</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Trash"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Trash.version"></a><h3>The "version" property</h3><a id="idm45883003870080" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.OpenURI"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.OpenURI — Portal for opening URIs</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-OpenURI.OpenURI" title="The OpenURI() method">OpenURI</a>       (IN  s     parent_window,
               IN  s     uri,
               IN  a{sv} options,
               OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-OpenURI.OpenFile" title="The OpenFile() method">OpenFile</a>      (IN  s     parent_window,
               IN  h     fd,
               IN  a{sv} options,
               OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory" title="The OpenDirectory() method">OpenDirectory</a> (IN  s     parent_window,
               IN  h     fd,
               IN  a{sv} options,
               OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001349232"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-OpenURI.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-OpenURI"></a><h2>Description</h2><p>       The OpenURI portal allows sandboxed applications to open
       URIs (e.g. a http: link to the applications homepage)
       under the control of the user.
</p><p>       This documentation describes version 4 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.OpenURI"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-OpenURI.OpenURI"></a><h3>The OpenURI() method</h3><a id="idm45883001054176" class="indexterm"></a><pre class="programlisting">
OpenURI (IN  s     parent_window,
         IN  s     uri,
         IN  a{sv} options,
         OUT o     handle);
</pre><p>        Asks to open a uri.
</p><p>        Note that file:// uris are explicitly not supported by this method.
        To request opening local files, use <a class="link" href="#gdbus-method-org-freedesktop-portal-OpenURI.OpenFile" title="The OpenFile() method">OpenFile()</a>.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">writable b</span></dt><dd><p>
              Whether to allow the chosen application to write to the file.
            </p><p>
              This key only takes effect the uri points to a local file that
              is exported in the document portal, and the chosen application
              is sandboxed itself.
            </p></dd><dt><span class="term">ask b</span></dt><dd><p>
              Whether to ask the user to choose an app. If this is not passed, or false,
              the portal may use a default or pick the last choice.
            </p><p>
              The ask option was introduced in version 3 of the interface.
            </p></dd><dt><span class="term">activation_token s</span></dt><dd><p>
              A token that can be used to activate the chosen application.
            </p><p>
              The activation_token option was introduced in version 4 of the interface.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>uri</code></em></code>:</span></dt><dd><p>The uri to open</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further onformation</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-OpenURI.OpenFile"></a><h3>The OpenFile() method</h3><a id="idm45883003191888" class="indexterm"></a><pre class="programlisting">
OpenFile (IN  s     parent_window,
          IN  h     fd,
          IN  a{sv} options,
          OUT o     handle);
</pre><p>        Asks to open a local file.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">writable b</span></dt><dd><p>
              Whether to allow the chosen application to write to the file.
            </p><p>
              This key only takes effect the uri points to a local file that
              is exported in the document portal, and the chosen application
              is sandboxed itself.
            </p></dd><dt><span class="term">ask b</span></dt><dd><p>
              Whether to ask the user to choose an app. If this is not passed, or false,
              the portal may use a default or pick the last choice.
            </p><p>
              The ask option was introduced in version 3 of the interface.
            </p></dd><dt><span class="term">activation_token s</span></dt><dd><p>
              A token that can be used to activate the chosen application.
            </p><p>
              The activation_token option was introduced in version 4 of the interface.
            </p></dd></dl></div><p>
</p><p>        The OpenFile method was introduced in version 2 of the OpenURI portal API.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor for the file to open</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further onformation</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory"></a><h3>The OpenDirectory() method</h3><a id="idm45883002390960" class="indexterm"></a><pre class="programlisting">
OpenDirectory (IN  s     parent_window,
               IN  h     fd,
               IN  a{sv} options,
               OUT o     handle);
</pre><p>        Asks to open the directory containing a local file in the file browser.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">activation_token s</span></dt><dd><p>
              A token that can be used to activate the chosen application.
            </p><p>
              The activation_token option was introduced in version 4 of the interface.
            </p></dd></dl></div><p>
</p><p>        The OpenDirectory method was introduced in version 3 of the OpenURI portal API.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor for a file</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further onformation</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.OpenURI"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-OpenURI.version"></a><h3>The "version" property</h3><a id="idm45883002365296" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Print"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Print — Portal for printing</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Print.Print" title="The Print() method">Print</a>        (IN  s     parent_window,
              IN  s     title,
              IN  h     fd,
              IN  a{sv} options,
              OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Print.PreparePrint" title="The PreparePrint() method">PreparePrint</a> (IN  s     parent_window,
              IN  s     title,
              IN  a{sv} settings,
              IN  a{sv} page_setup,
              IN  a{sv} options,
              OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883000354368"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Print.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Print"></a><h2>Description</h2><p>      The Print portal allows sandboxed applications to print.
</p><p>      Due to the way in which printing requires bi-directional communication,
      using this portal will often require applications to make multiple requests.
      First, use <a class="link" href="#gdbus-method-org-freedesktop-portal-Print.PreparePrint" title="The PreparePrint() method">PreparePrint()</a> to obtain print settings,
      use them to format your output, then use <a class="link" href="#gdbus-method-org-freedesktop-portal-Print.Print" title="The Print() method">Print()</a>
      to print the formatted document. It is expected that high-level toolkit
      APIs such as GtkPrintOperation will hide most of this complexity.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Print"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Print.Print"></a><h3>The Print() method</h3><a id="idm45883000394352" class="indexterm"></a><pre class="programlisting">
Print (IN  s     parent_window,
       IN  s     title,
       IN  h     fd,
       IN  a{sv} options,
       OUT o     handle);
</pre><p>        Asks to print a file.
</p><p>        The file must be passed in the form of a file descriptor open for reading.
        This ensures that sandboxed applications only print files that they have
        access to.
</p><p>        If a valid token is present in the <em class="parameter"><code>options</code></em>, 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.
</p><p>        Note that it is up to the portal implementation to determine how long
        it considers tokens valid.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Defaults to yes.
            </p></dd><dt><span class="term">token u</span></dt><dd><p>
              Token that was returned by a previous <a class="link" href="#gdbus-method-org-freedesktop-portal-Print.PreparePrint" title="The PreparePrint() method">PreparePrint()</a> call.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the print dialog</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor for reading the content to print</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Print.PreparePrint"></a><h3>The PreparePrint() method</h3><a id="idm45882999679728" class="indexterm"></a><pre class="programlisting">
PreparePrint (IN  s     parent_window,
              IN  s     title,
              IN  a{sv} settings,
              IN  a{sv} page_setup,
              IN  a{sv} options,
              OUT o     handle);
</pre><p>        Presents a print dialog to the user and returns print settings
        and page setup.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Defaults to yes.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">settings a{sv}</span></dt><dd><p>
              Print settings as set up by the user in the print dialog.
            </p></dd><dt><span class="term">page-setup a{sv}</span></dt><dd><p>
              Page setup as set up by the user in the print dialog.
            </p></dd><dt><span class="term">token u</span></dt><dd><p>
              Token that can be passed to a subsequent <a class="link" href="#gdbus-method-org-freedesktop-portal-Print.Print" title="The Print() method">Print()</a> call to
              bypass the print dialog.
            </p></dd></dl></div><p>
</p><p>       The following keys are supported in the print settings vardict:
       </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">orientation s</span></dt><dd><p>
             One of landscape, portrait, reverse_landscape or reverse_portrait.
           </p></dd><dt><span class="term">paper-format s</span></dt><dd><p>
             A paper name according to <a class="ulink" href="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf" target="_top">PWG 5101.1-2002</a>.
           </p></dd><dt><span class="term">paper-width s</span></dt><dd><p>
             Paper width, in millimeters.
           </p></dd><dt><span class="term">paper-height s</span></dt><dd><p>
             Paper height, in millimeters.
           </p></dd><dt><span class="term">n-copies s</span></dt><dd><p>
             The number of copies to print.
           </p></dd><dt><span class="term">default-source s</span></dt><dd><p>
              The default paper source.
           </p></dd><dt><span class="term">quality s</span></dt><dd><p>
             Print quality, one of normal, high, low or draft.
           </p></dd><dt><span class="term">resolution s</span></dt><dd><p>
             The resolution, sets both resolution-x and resolution-y.
           </p></dd><dt><span class="term">use-color s</span></dt><dd><p>
             Whether to use color, one of true or false.
           </p></dd><dt><span class="term">duplex s</span></dt><dd><p>
             Duplex printing mode, one of simplex, horizontal or vertical.
           </p></dd><dt><span class="term">collate s</span></dt><dd><p>
             Whether to collate copies, one of true or false.
           </p></dd><dt><span class="term">reverse s</span></dt><dd><p>
             Whether to reverse the order of printed pages, one of true or false.
           </p></dd><dt><span class="term">media-type s</span></dt><dd><p>
             A media type according to <a class="ulink" href="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf" target="_top">PWG 5101.1-2002</a>.
           </p></dd><dt><span class="term">dither s</span></dt><dd><p>
             The dithering to use, one of fine, none, coarse, lineart, grayscale or error-diffusion.
           </p></dd><dt><span class="term">scale s</span></dt><dd><p>
             The scale in percent.
           </p></dd><dt><span class="term">print-pages s</span></dt><dd><p>
             What pages to print, one of all, selection, current or ranges.
           </p></dd><dt><span class="term">page-ranges s</span></dt><dd><p>
             A list of page ranges, formatted like this: 0-2,4,9-11.
           </p><p>
             Note that page ranges are 0-based, even if the are displayed as 1-based when presented to the user.
           </p></dd><dt><span class="term">page-set s</span></dt><dd><p>
             What pages to print, one of all, even or odd.
           </p></dd><dt><span class="term">finishings s</span></dt><dd><p>
           </p></dd><dt><span class="term">number-up s</span></dt><dd><p>
             The number of pages per sheet.
           </p></dd><dt><span class="term">number-up-layout s</span></dt><dd><p>
             One of lrtb, lrbt, rltb, rlbt, tblr, tbrl, btlr, btrl.
           </p></dd><dt><span class="term">output-bin s</span></dt><dd><p>
           </p></dd><dt><span class="term">resolution-x s</span></dt><dd><p>
             The horizontal resolution in dpi.
           </p></dd><dt><span class="term">resolution-y s</span></dt><dd><p>
             The vertical resolution in dpi.
           </p></dd><dt><span class="term">printer-lpi s</span></dt><dd><p>
             The resolution in lpi (lines per inch).
           </p></dd><dt><span class="term">output-basename s</span></dt><dd><p>
             Basename to use for print-to-file.
           </p></dd><dt><span class="term">output-file-format s</span></dt><dd><p>
             Format to use for print-to-file, one of PDF, PS, SVG.
           </p></dd><dt><span class="term">output-uri s</span></dt><dd><p>
             The uri used for print-to-file.
           </p></dd></dl></div><p>
</p><p>       The following keys are supported in the page setup vardict:
       </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">PPDName s</span></dt><dd><p>
             The PPD name.
           </p></dd><dt><span class="term">Name s</span></dt><dd><p>
             The name of the page setup.
           </p></dd><dt><span class="term">DisplayName s</span></dt><dd><p>
             User-visible name for the page setup.
           </p></dd><dt><span class="term">Width d</span></dt><dd><p>
             Paper width in millimeters.
           </p></dd><dt><span class="term">Height d</span></dt><dd><p>
             Paper height in millimeters.
           </p></dd><dt><span class="term">MarginTop d</span></dt><dd><p>
             Top margin in millimeters.
           </p></dd><dt><span class="term">MarginBottom d</span></dt><dd><p>
             Bottom margin in millimeters.
           </p></dd><dt><span class="term">MarginLeft d</span></dt><dd><p>
             Left margin in millimeters.
           </p></dd><dt><span class="term">MarginRight d</span></dt><dd><p>
             Right margin in millimeters.
           </p></dd><dt><span class="term">Orientation s</span></dt><dd><p>
             Orientation, one of portrait, landscape, reverse-portrait or reverse-landscape.
           </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the print dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>settings</code></em></code>:</span></dt><dd><p>Serialized print settings</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>page_setup</code></em></code>:</span></dt><dd><p>Serialized page setup</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Print"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Print.version"></a><h3>The "version" property</h3><a id="idm45882999523504" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Email"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Email — Portal for sending email</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Email.ComposeEmail" title="The ComposeEmail() method">ComposeEmail</a> (IN  s     parent_window,
              IN  a{sv} options,
              OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883003491088"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Email.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Email"></a><h2>Description</h2><p>      This simple portal lets sandboxed applications request to send an email,
      optionally providing an address, subject, body and attachments.
</p><p>      This documentation describes version 3 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Email"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Email.ComposeEmail"></a><h3>The ComposeEmail() method</h3><a id="idm45883000776640" class="indexterm"></a><pre class="programlisting">
ComposeEmail (IN  s     parent_window,
              IN  a{sv} options,
              OUT o     handle);
</pre><p>        Presents a window that lets the user compose an email.
</p><p>        Note that the default email client for the host will need to support mailto: URIs
        following <a class="ulink" href="https://tools.ietf.org/html/rfc2368" target="_top">RFC 2368</a>, with
        "cc", "bcc", "subject" and "body" query keys each corresponding to the email
        header of the same name, and with each attachment being passed as a "file://"
        URI as a value in an "attachment" query key.
</p><p>        For example:
        </p><pre class="programlisting">
        mailto:foo<em class="parameter"><code>bar</code></em>.com,baz<em class="parameter"><code>bar</code></em>.com?cc=ceo<em class="parameter"><code>bar</code></em>.com&amp;subject=Test<code class="constant">20e</code>-mail<code class="constant">20subject</code>&amp;attachment=file://path/to/full/file.txt
        </pre><p>
        would send a mail to "foo<em class="parameter"><code>bar</code></em>.com", "baz<em class="parameter"><code>bar</code></em>.com", with a CC:
        to "ceo<em class="parameter"><code>bar</code></em>.com", with the subject "Test e-mail subject"
        and the file pointed by URI "file://path/to/full/file.txt" as an attachment.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">address s</span></dt><dd><p>
              The email address to send to.
            </p></dd><dt><span class="term">addresses as</span></dt><dd><p>
              Email addresses to send to. This will be used in addition to address.
            </p><p>
              This option was added in version 3.
            </p></dd><dt><span class="term">cc as</span></dt><dd><p>
              Email addresses to cc.
            </p><p>
              This option was added in version 3.
            </p></dd><dt><span class="term">bcc as</span></dt><dd><p>
              Email addresses to bcc.
            </p><p>
              This option was added in version 3.
            </p></dd><dt><span class="term">subject s</span></dt><dd><p>
              The subject for the email.
            </p></dd><dt><span class="term">body s</span></dt><dd><p>
              The body for the email.
            </p></dd><dt><span class="term">attachment_fds ah</span></dt><dd><p>
              File descriptors for files to attach.
            </p></dd></dl></div><p>
</p><p>        All the keys in the options are are optional.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Email"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Email.version"></a><h3>The "version" property</h3><a id="idm45883000485072" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Device"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Device — Portal for device access</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Device.AccessDevice" title="The AccessDevice() method">AccessDevice</a> (IN  u     pid,
              IN  as    devices,
              IN  a{sv} options,
              OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883004105872"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Device.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Device"></a><h2>Description</h2><p>      This interface lets services ask if an application should
      get access to devices such as microphones, speakers or cameras.
      Not a portal in the strict sense, since the API is not directly
      accessible to applications inside the sandbox.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Device"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Device.AccessDevice"></a><h3>The AccessDevice() method</h3><a id="idm45883002311792" class="indexterm"></a><pre class="programlisting">
AccessDevice (IN  u     pid,
              IN  as    devices,
              IN  a{sv} options,
              OUT o     handle);
</pre><p>        Asks for access to a device.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>the pid of the application on whose behalf the request is made</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>devices</code></em></code>:</span></dt><dd><p>a list of devices to request access to. Supported values are 'microphone', 'speakers', 'camera'. Asking for multiple devices at the same time may or may not be supported</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Device"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Device.version"></a><h3>The "version" property</h3><a id="idm45883001429904" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Location"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Location — Portal for obtaining information about the location</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Location.CreateSession" title="The CreateSession() method">CreateSession</a> (IN  a{sv} options,
               OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Location.Start" title="The Start() method">Start</a>         (IN  o     session_handle,
               IN  s     parent_window,
               IN  a{sv} options,
               OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883003924880"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Location.LocationUpdated" title="The &quot;LocationUpdated&quot; signal">LocationUpdated</a> (o     session_handle,
                 a{sv} location);
</pre></div><div class="refsect1"><a id="idm45883003829488"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Location.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Location"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications query basic
      information about the location.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Location"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Location.CreateSession"></a><h3>The CreateSession() method</h3><a id="idm45883004046032" class="indexterm"></a><pre class="programlisting">
CreateSession (IN  a{sv} options,
               OUT o     handle);
</pre><p>        Create a location session. A successfully created session can at
        any time be closed using org.freedesktop.portal.Session::Close, or may
        at any time be closed by the portal implementation, which will be
        signalled via org.freedesktop.portal.Session::Closed.
`
        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session_handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the session handle. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> documentation for
              more information about the session handle.
            </p></dd><dt><span class="term">distance-threshold u</span></dt><dd><p>
              Distance threshold in meters. Default is 0.
            </p></dd><dt><span class="term">time-threshold u</span></dt><dd><p>
              Time threshold in seconds. Default is 0.
            </p></dd><dt><span class="term">accuracy u</span></dt><dd><p>
              Requested accuracy. Default is EXACT.
              Values: NONE 0, COUNTRY 1, CITY 2, NEIGHBORHOOD 3, STREET 4, EXACT 5
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the created <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Location.Start"></a><h3>The Start() method</h3><a id="idm45882999310880" class="indexterm"></a><pre class="programlisting">
Start (IN  o     session_handle,
       IN  s     parent_window,
       IN  a{sv} options,
       OUT o     handle);
</pre><p>        Start the location session.
        An application can only attempt start a session once.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Location"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Location.LocationUpdated"></a><h3>The "LocationUpdated" signal</h3><a id="idm45882999302928" class="indexterm"></a><pre class="programlisting">
LocationUpdated (o     session_handle,
                 a{sv} location);
</pre><p>        The LocationUpdated signal is emitted when the location has changed, as well
        as when the initial location has been determined.
</p><p>        The following results may get returned via the <em class="parameter"><code>location</code></em>:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">latitude d</span></dt><dd><p>
              The latitude, in degrees.
            </p></dd><dt><span class="term">longitude d</span></dt><dd><p>
              The longitude, in degrees.
            </p></dd><dt><span class="term">altitude d</span></dt><dd><p>
              The altitude, in meters.
            </p></dd><dt><span class="term">accuracy d</span></dt><dd><p>
              The accuracy, in meters.
            </p></dd><dt><span class="term">speed d</span></dt><dd><p>
              The speed, in meters per second.
            </p></dd><dt><span class="term">heading d</span></dt><dd><p>
              The heading, in degrees, going clockwise. North 0, East 90, South 180, West 270.
            </p></dd><dt><span class="term">timestamp (tt)</span></dt><dd><p>
              The timestamp, as seconds and microsections since the Unix epoch.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>location</code></em></code>:</span></dt><dd><p>Vardict with the current location data</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Location"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Location.version"></a><h3>The "version" property</h3><a id="idm45882999281296" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Screenshot"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Screenshot — Portal for taking screenshots</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Screenshot.Screenshot" title="The Screenshot() method">Screenshot</a> (IN  s     parent_window,
            IN  a{sv} options,
            OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Screenshot.PickColor" title="The PickColor() method">PickColor</a>  (IN  s     parent_window,
            IN  a{sv} options,
            OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001409792"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Screenshot.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Screenshot"></a><h2>Description</h2><p>      This simple portal lets sandboxed applications request a screenshot.
</p><p>      The screenshot will be made accessible to the application
      via the document portal, and the returned URI will point
      into the document portal fuse filesystem in /run/user/$UID/doc/.
</p><p>      This documentation describes version 2 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Screenshot"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Screenshot.Screenshot"></a><h3>The Screenshot() method</h3><a id="idm45883002441248" class="indexterm"></a><pre class="programlisting">
Screenshot (IN  s     parent_window,
            IN  a{sv} options,
            OUT o     handle);
</pre><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        <em class="parameter"><code>parent_window</code></em>: Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>options</code></em>: Vardict with optional further information
        <em class="parameter"><code>handle</code></em>: Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call
</p><p>        Takes a screenshot.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">modal b</span></dt><dd><p>
              Whether the dialog should be modal. Default is yes.
            </p></dd><dt><span class="term">interactive b</span></dt><dd><p>
              Hint shether the dialog should offer customization before taking a screenshot.
              Default is no. Since version 2.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uri s</span></dt><dd><p>String containing the uri of the screenshot.</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Screenshot.PickColor"></a><h3>The PickColor() method</h3><a id="idm45882999476320" class="indexterm"></a><pre class="programlisting">
PickColor (IN  s     parent_window,
           IN  a{sv} options,
           OUT o     handle);
</pre><p>        Obtains the color of a single pixel.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">color (ddd)</span></dt><dd><p>The color, rgb values in the range [0,1].</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Screenshot"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Screenshot.version"></a><h3>The "version" property</h3><a id="idm45882999260496" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.ScreenCast"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.ScreenCast — Screen cast portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-ScreenCast.CreateSession" title="The CreateSession() method">CreateSession</a>      (IN  a{sv} options,
                    OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-ScreenCast.SelectSources" title="The SelectSources() method">SelectSources</a>      (IN  o     session_handle,
                    IN  a{sv} options,
                    OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-ScreenCast.Start" title="The Start() method">Start</a>              (IN  o     session_handle,
                    IN  s     parent_window,
                    IN  a{sv} options,
                    OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-ScreenCast.OpenPipeWireRemote" title="The OpenPipeWireRemote() method">OpenPipeWireRemote</a> (IN  o     session_handle,
                    IN  a{sv} options,
                    OUT h     fd);
</pre></div><div class="refsect1"><a id="idm45883004210992"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-ScreenCast.AvailableSourceTypes" title="The &quot;AvailableSourceTypes&quot; property">AvailableSourceTypes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-portal-ScreenCast.AvailableCursorModes" title="The &quot;AvailableCursorModes&quot; property">AvailableCursorModes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-portal-ScreenCast.version" title="The &quot;version&quot; property">version</a>               readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-ScreenCast"></a><h2>Description</h2><p>      The Screen cast portal allows to create screen cast sessions.
</p><p>      This documentation describes version 4 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.ScreenCast"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-ScreenCast.CreateSession"></a><h3>The CreateSession() method</h3><a id="idm45882999331760" class="indexterm"></a><pre class="programlisting">
CreateSession (IN  a{sv} options,
               OUT o     handle);
</pre><p>        Create a screen cast session. A successfully created session can at
        any time be closed using org.freedesktop.portal.Session::Close, or may
        at any time be closed by the portal implementation, which will be
        signalled via org.freedesktop.portal.Session::Closed.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">session_handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the session handle. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> documentation for
              more information about the session handle.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session_handle o</span></dt><dd><p>
              The session handle. An object path for the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object representing the created
              session.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-ScreenCast.SelectSources"></a><h3>The SelectSources() method</h3><a id="idm45882999414896" class="indexterm"></a><pre class="programlisting">
SelectSources (IN  o     session_handle,
               IN  a{sv} options,
               OUT o     handle);
</pre><p>        Configure what the screen cast session should record. This method must
        be called before starting the session.
</p><p>        Passing invalid input to this method will cause the session to be
        closed. An application may only attempt to select sources once per
        session.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">types u</span></dt><dd><p>
              Bitmask of what types of content to record. Default is MONITOR.
            </p></dd><dt><span class="term">multiple b</span></dt><dd><p>
              Whether to allow selecting multiple sources. Default is no.
            </p></dd><dt><span class="term">cursor_mode u</span></dt><dd><p>
              Determines how the cursor will be drawn in the screen cast stream. It must be
              one of the curosr modes advertised in
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>.AvailableCursorModes. Setting a cursor mode
              not advertised will cause the screen cast session to be closed. The default
              cursor mode is 'Hidden'.
</p><p>              This option was added in version 2 of this interface.
            </p></dd><dt><span class="term">restore_token s</span></dt><dd><p>
              The token to restore a previous session.
</p><p>              If the stored session cannot be restored, this value is ignored
              and the user will be prompted normally. This may happen when, for
              example, the session contains a monitor or a window that is not
              available anymore, or when the stored permissions are withdrawn.
</p><p>              The restore token is invalidated after using it once. To restore
              the same session again, use the new restore token sent in response
              to starting this session.
</p><p>              This option was added in version 4 of this interface.
            </p></dd><dt><span class="term">persist_mode u</span></dt><dd><p>
              How this session should persist. Default is 0. Accepted values are:
</p><p>              </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Do not persist (default)</td></tr><tr><td>1: Permissions persist as long as the application is running</td></tr><tr><td>2: Permissions persist until explicitly revoked</td></tr></table><p>
</p><p>              Remote desktop screen cast sessions cannot persist. The only allowed
              persist_mode for remote desktop sessions is 0.
</p><p>              If the permission for the session to persist is granted, a restore token will
              be returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal of the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>.Start method.
</p><p>              This option was added in version 4 of this interface.
            </p></dd></dl></div><p>
</p><p>        For available source types, see the AvailableSourceTypes property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-ScreenCast.Start"></a><h3>The Start() method</h3><a id="idm45882999232224" class="indexterm"></a><pre class="programlisting">
Start (IN  o     session_handle,
       IN  s     parent_window,
       IN  a{sv} options,
       OUT o     handle);
</pre><p>        Start the screen cast session. This will typically result the portal
        presenting a dialog letting the user do the selection set up by
        SelectSources. An application can only attempt start a session once.
</p><p>        A screen cast session may only be started after having selected sources
        using org.freedesktop.portal.ScreenCast::SelectSources.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the
        <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">streams a(ua{sv})</span></dt><dd><p>
              An array of PipeWire streams. Each stream consists of a PipeWire
              node ID (the first element in the tuple, and a Vardict of
              properties.
</p><p>              The array will contain a single stream if 'multiple' (see
              SelectSources) was set to 'false', or at least one stream if
              'multiple' was set to 'true' as part of the SelectSources method.
            </p></dd><dt><span class="term">restore_token s</span></dt><dd><p>
              The restore token. This token is a single use token that can later
              be used to restore a session. See
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>.SelectSources for details.
</p><p>              This response option was added in version 4 of this interface.
            </p></dd></dl></div><p>
</p><p>        Stream properties include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">id s</span></dt><dd><p>
              Opaque identifier. Will be unique for this stream and local to this
              session. Will persist with future sessions, if they are restored
              using a restore token. This property was added in version 4 of this
              interface. Optional.
            </p></dd><dt><span class="term">position (ii)</span></dt><dd><p>
              A tuple consisting of the position (x, y) in the compositor
              coordinate space. Note that the position may not be equivalent to a
              position in a pixel coordinate space. Only available for monitor
              streams. Optional.
            </p></dd><dt><span class="term">size (ii)</span></dt><dd><p>
              A tuple consisting of (width, height). The size represents the size
              of the stream as it is displayed in the compositor coordinate
              space. Note that this size may not be equivalent to a size in a
              pixel coordinate space. The size may differ from the size of the
              stream. Optional.
            </p></dd><dt><span class="term">source_type u</span></dt><dd><p>
              The type of the content which is being screen casted.
              For available source types, see the AvailableSourceTypes property.
              This property was added in version 3 of this interface.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-ScreenCast.OpenPipeWireRemote"></a><h3>The OpenPipeWireRemote() method</h3><a id="idm45882999195920" class="indexterm"></a><pre class="programlisting">
OpenPipeWireRemote (IN  o     session_handle,
                    IN  a{sv} options,
                    OUT h     fd);
</pre><p>        Open a file descriptor to the PipeWire remote where the screen cast
        streams are available. The file descriptor should be used to create a
        <code class="classname">pw_core</code> object, by using
        <code class="function">pw_context_connect_fd</code>. Only the screen cast stream
        nodes will be available from this PipeWire node.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor of an open PipeWire remote.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.ScreenCast"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-ScreenCast.AvailableSourceTypes"></a><h3>The "AvailableSourceTypes" property</h3><a id="idm45882999179568" class="indexterm"></a><pre class="programlisting">
AvailableSourceTypes  readable   u
</pre><p>        A bitmask of available source types. Currently defined types are:
</p><p>        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: MONITOR</td></tr><tr><td>2: WINDOW</td></tr><tr><td>4: VIRTUAL</td></tr></table><p>
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-ScreenCast.AvailableCursorModes"></a><h3>The "AvailableCursorModes" property</h3><a id="idm45882999173008" class="indexterm"></a><pre class="programlisting">
AvailableCursorModes  readable   u
</pre><p>        A bitmask of available cursor modes.
</p><p>        Available cursor mode values:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Hidden. The cursor is not part of the screen cast stream.</td></tr><tr><td>2: Embedded: The cursor is embedded as part of the stream buffers.</td></tr><tr><td>4: Metadata: The cursor is not part of the screen cast stream, but sent as PipeWire stream metadata.</td></tr></table><p>
</p><p>        This property was added in version 2 of this interface.
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-ScreenCast.version"></a><h3>The "version" property</h3><a id="idm45882999166080" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.RemoteDesktop"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.RemoteDesktop — Remote desktop portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.CreateSession" title="The CreateSession() method">CreateSession</a>               (IN  a{sv} options,
                             OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.SelectDevices" title="The SelectDevices() method">SelectDevices</a>               (IN  o     session_handle,
                             IN  a{sv} options,
                             OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.Start" title="The Start() method">Start</a>                       (IN  o     session_handle,
                             IN  s     parent_window,
                             IN  a{sv} options,
                             OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerMotion" title="The NotifyPointerMotion() method">NotifyPointerMotion</a>         (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  d     dx,
                             IN  d     dy);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerMotionAbsolute" title="The NotifyPointerMotionAbsolute() method">NotifyPointerMotionAbsolute</a> (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerButton" title="The NotifyPointerButton() method">NotifyPointerButton</a>         (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     button,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerAxis" title="The NotifyPointerAxis() method">NotifyPointerAxis</a>           (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  d     dx,
                             IN  d     dy);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerAxisDiscrete" title="The NotifyPointerAxisDiscrete() method">NotifyPointerAxisDiscrete</a>   (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     axis,
                             IN  i     steps);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyKeyboardKeycode" title="The NotifyKeyboardKeycode() method">NotifyKeyboardKeycode</a>       (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     keycode,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyKeyboardKeysym" title="The NotifyKeyboardKeysym() method">NotifyKeyboardKeysym</a>        (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     keysym,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchDown" title="The NotifyTouchDown() method">NotifyTouchDown</a>             (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  u     slot,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchMotion" title="The NotifyTouchMotion() method">NotifyTouchMotion</a>           (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  u     slot,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchUp" title="The NotifyTouchUp() method">NotifyTouchUp</a>               (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     slot);
</pre></div><div class="refsect1"><a id="idm45883002455792"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-RemoteDesktop.AvailableDeviceTypes" title="The &quot;AvailableDeviceTypes&quot; property">AvailableDeviceTypes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-portal-RemoteDesktop.version" title="The &quot;version&quot; property">version</a>               readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-RemoteDesktop"></a><h2>Description</h2><p>      The Remote desktop portal allows to create remote desktop sessions.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.RemoteDesktop"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.CreateSession"></a><h3>The CreateSession() method</h3><a id="idm45883002482560" class="indexterm"></a><pre class="programlisting">
CreateSession (IN  a{sv} options,
               OUT o     handle);
</pre><p>        Create a remote desktop session.
</p><p>        A remote desktop session is used to allow remote controlling a desktop
        session. It can also be used together with a screen cast session (see
        org.freedesktop.portal.ScreenCast), but may only be started and stopped
        with this interface.
</p><p>        To also get a screen content, call the
        #org.freedesktop.ScreenCast.SelectSources with the
        #org.freedesktop.Session object created with this method.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">session_handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the session handle. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> documentation for
              more information about the session handle.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session_handle o</span></dt><dd><p>
              The session handle. An object path for the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object representing the created
              session.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.SelectDevices"></a><h3>The SelectDevices() method</h3><a id="idm45882999390176" class="indexterm"></a><pre class="programlisting">
SelectDevices (IN  o     session_handle,
               IN  a{sv} options,
               OUT o     handle);
</pre><p>        Select input devices to remote control.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">types u</span></dt><dd><p>
              Bitmask of what device types to request remote controlling of.
              Default is all.
            </p></dd></dl></div><p>
</p><p>        For available source types, see the AvailableDeviceTypes property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.Start"></a><h3>The Start() method</h3><a id="idm45882998773456" class="indexterm"></a><pre class="programlisting">
Start (IN  o     session_handle,
       IN  s     parent_window,
       IN  a{sv} options,
       OUT o     handle);
</pre><p>        Start the remote desktop session. This will typically result in the portal
        presenting a dialog letting the user select what to share, including
        devices and optionally screen content if screen cast sources was
        selected.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the
        <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">devices u</span></dt><dd><p>
              A bitmask of the devices selected by the user.
            </p></dd></dl></div><p>
</p><p>        If a screen cast source was selected, the results of the
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>.Start response signal may be
        included.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerMotion"></a><h3>The NotifyPointerMotion() method</h3><a id="idm45882998746656" class="indexterm"></a><pre class="programlisting">
NotifyPointerMotion (IN  o     session_handle,
                     IN  a{sv} options,
                     IN  d     dx,
                     IN  d     dy);
</pre><p>        Notify about a new relative pointer motion event. The (dx, dy) vector
        represents the new pointer position in the streams logical coordinate
        space.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dx</code></em></code>:</span></dt><dd><p>Relative movement on the x axis</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dy</code></em></code>:</span></dt><dd><p>Relative movement on the y axis</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerMotionAbsolute"></a><h3>The NotifyPointerMotionAbsolute() method</h3><a id="idm45882998730368" class="indexterm"></a><pre class="programlisting">
NotifyPointerMotionAbsolute (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  d     x,
                             IN  d     y);
</pre><p>        Notify about a new absolute pointer motion event. The (x, y) position
        represents the new pointer position in the streams logical coordinate
        space (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Pointer motion x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Pointer motion y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerButton"></a><h3>The NotifyPointerButton() method</h3><a id="idm45882998710688" class="indexterm"></a><pre class="programlisting">
NotifyPointerButton (IN  o     session_handle,
                     IN  a{sv} options,
                     IN  i     button,
                     IN  u     state);
</pre><p>        The pointer button is encoded according to Linux Evdev button codes.
</p><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Available button states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>button</code></em></code>:</span></dt><dd><p>The pointer button was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>The new state of the button</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerAxis"></a><h3>The NotifyPointerAxis() method</h3><a id="idm45882998692304" class="indexterm"></a><pre class="programlisting">
NotifyPointerAxis (IN  o     session_handle,
                   IN  a{sv} options,
                   IN  d     dx,
                   IN  d     dy);
</pre><p>        The axis movement from a 'smooth scroll' device, such as a touchpad.
        When applicable, the size of the motion delta should be equivalent to
        the motion vector of a pointer motion done using the same advice.
</p><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">finish b</span></dt><dd><p>
              If set to true, this is the last axis event in a series, for
              example as a result of the fingers being lifted from a touchpad
              after a two-finger scroll.  Default is false.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dx</code></em></code>:</span></dt><dd><p>Relative axis movement on the x axis</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dy</code></em></code>:</span></dt><dd><p>Relative axis movement on the y axis</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyPointerAxisDiscrete"></a><h3>The NotifyPointerAxisDiscrete() method</h3><a id="idm45882998672304" class="indexterm"></a><pre class="programlisting">
NotifyPointerAxisDiscrete (IN  o     session_handle,
                           IN  a{sv} options,
                           IN  u     axis,
                           IN  i     steps);
</pre><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Available axes:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Vertical scroll</td></tr><tr><td>1: Horizontal scroll</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>axis</code></em></code>:</span></dt><dd><p>The axis that was scrolled</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>steps</code></em></code>:</span></dt><dd><p>The number of steps scrolled</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyKeyboardKeycode"></a><h3>The NotifyKeyboardKeycode() method</h3><a id="idm45882998654176" class="indexterm"></a><pre class="programlisting">
NotifyKeyboardKeycode (IN  o     session_handle,
                       IN  a{sv} options,
                       IN  i     keycode,
                       IN  u     state);
</pre><p>        May only be called if KEYBOARD access was provided after starting the
        session.
</p><p>        Available keyboard keysym states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>keycode</code></em></code>:</span></dt><dd><p>Keyboard code that was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>New state of keyboard keysym</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyKeyboardKeysym"></a><h3>The NotifyKeyboardKeysym() method</h3><a id="idm45882998635952" class="indexterm"></a><pre class="programlisting">
NotifyKeyboardKeysym (IN  o     session_handle,
                      IN  a{sv} options,
                      IN  i     keysym,
                      IN  u     state);
</pre><p>        May only be called if KEYBOARD access was provided after starting the
        session.
</p><p>        Available keyboard keysym states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>keysym</code></em></code>:</span></dt><dd><p>Keyboard symbol that was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>New state of keyboard keysym</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchDown"></a><h3>The NotifyTouchDown() method</h3><a id="idm45882998617728" class="indexterm"></a><pre class="programlisting">
NotifyTouchDown (IN  o     session_handle,
                 IN  a{sv} options,
                 IN  u     stream,
                 IN  u     slot,
                 IN  d     x,
                 IN  d     y);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch down event. The (x, y) position
        represents the new touch point position in the streams logical
        coordinate space (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Touch down x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Touch down y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchMotion"></a><h3>The NotifyTouchMotion() method</h3><a id="idm45882998595056" class="indexterm"></a><pre class="programlisting">
NotifyTouchMotion (IN  o     session_handle,
                   IN  a{sv} options,
                   IN  u     stream,
                   IN  u     slot,
                   IN  d     x,
                   IN  d     y);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch motion event. The (x, y) position
        represents where the touch point position in the streams logical
        coordinate space moved (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Touch motion x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Touch motion y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-RemoteDesktop.NotifyTouchUp"></a><h3>The NotifyTouchUp() method</h3><a id="idm45882998572240" class="indexterm"></a><pre class="programlisting">
NotifyTouchUp (IN  o     session_handle,
               IN  a{sv} options,
               IN  u     slot);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch up event.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.RemoteDesktop"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-RemoteDesktop.AvailableDeviceTypes"></a><h3>The "AvailableDeviceTypes" property</h3><a id="idm45882998556688" class="indexterm"></a><pre class="programlisting">
AvailableDeviceTypes  readable   u
</pre><p>        A bitmask of available source types. Currently defined types are:
</p><p>        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: KEYBOARD</td></tr><tr><td>2: POINTER</td></tr><tr><td>4: TOUCHSCREEN</td></tr></table><p>
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-RemoteDesktop.version"></a><h3>The "version" property</h3><a id="idm45882998549984" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Notification"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Notification — Portal for sending notifications</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Notification.AddNotification" title="The AddNotification() method">AddNotification</a>    (IN  s     id,
                    IN  a{sv} notification);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Notification.RemoveNotification" title="The RemoveNotification() method">RemoveNotification</a> (IN  s     id);
</pre></div><div class="refsect1"><a id="idm45883000714224"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Notification.ActionInvoked" title="The &quot;ActionInvoked&quot; signal">ActionInvoked</a> (s  id,
               s  action,
               av parameter);
</pre></div><div class="refsect1"><a id="idm45882999493888"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Notification.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Notification"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications send and withdraw
      notifications. It is not possible for the application to learn
      if the notification was actually presented to the user. Not a
      portal in the strict sense, since there is no user interaction.
</p><p>      Note that in contrast to most other portal requests, notifications
      are expected to outlast the running application. If a user clicks
      on a notification after the application has exited, it will get
      activated again.
</p><p>      Notifications can specify actions that can be activated by the
      user. Actions whose name starts with 'app.' are assumed to be
      exported and will be activated via the ActivateAction()
      method in the org.freedesktop.Application interface. Other
      actions are activated by sending the
      #org.freedeskop.portal.Notification::ActionInvoked signal
      to the application.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Notification"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Notification.AddNotification"></a><h3>The AddNotification() method</h3><a id="idm45883000906352" class="indexterm"></a><pre class="programlisting">
AddNotification (IN  s     id,
                 IN  a{sv} notification);
</pre><p>        Sends a notification.
</p><p>        The ID can be used to later withdraw the notification.
        If the application reuses the same ID without withdrawing,
        the notification is replaced by the new one.
</p><p>        The format of the serialized notification is a vardict, with
        the following supported keys, all of which are optional:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">title s</span></dt><dd><p>
              User-visible string to display as the title.
            </p></dd><dt><span class="term">body s</span></dt><dd><p>
              User-visible string to display as the body.
            </p></dd><dt><span class="term">icon v</span></dt><dd><p>
              Serialized icon (see g_icon_serialize()).
            </p><p>
              The portal only accepts serialized GThemedIcon and GBytesIcons. Both of
              these have the form (sv). For themed icons, the string is "themed",
              and the value is an array of strings containing the icon names.
              For bytes icons, the string is "bytes", and the value is a bytestring
              containing the icon data in png, jpeg or svg form. For historical
              reasons, it is also possible to send a simple string for themed
              icons with a single icon name.
            </p><p>
              There may be further restrictions on the supported kinds of icons.
            </p></dd><dt><span class="term">priority s</span></dt><dd><p>
              The priority for the notification. Supported values: low, normal,
              high, urgent.
            </p></dd><dt><span class="term">default-action s</span></dt><dd><p>
              Name of an action that is exported by the application. This
              action will be activated when the user clicks on the notification.
            </p></dd><dt><span class="term">default-action-target v</span></dt><dd><p>
              Target parameter to send along when activating the default action.
            </p></dd><dt><span class="term">buttons aa{sv}</span></dt><dd><p>
              Array of serialized buttons to add to the notification.
            </p></dd></dl></div><p>
</p><p>        The format for serialized buttons is a vardict with the following supported keys:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">label s</span></dt><dd><p>
              User-visible label for the button. Mandatory.
            </p></dd><dt><span class="term">action s</span></dt><dd><p>
              Name of an action that is exported by the application. The action
              will be activated when the user clicks on the button. Mandatory.
            </p></dd><dt><span class="term">target v</span></dt><dd><p>
              Target parameter to send along when activating the action.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>Application-provided ID for this notification</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>notification</code></em></code>:</span></dt><dd><p>Vardict with the serialized notification</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Notification.RemoveNotification"></a><h3>The RemoveNotification() method</h3><a id="idm45882999017392" class="indexterm"></a><pre class="programlisting">
RemoveNotification (IN  s id);
</pre><p>        Withdraws a notification.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>Application-provided ID for this notification</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Notification"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Notification.ActionInvoked"></a><h3>The "ActionInvoked" signal</h3><a id="idm45882999128224" class="indexterm"></a><pre class="programlisting">
ActionInvoked (s  id,
               s  action,
               av parameter);
</pre><p>          for the action, if one was specified
</p><p>        Send to the application when a non-exported action is
        activated.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the application-provided ID for the notification</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>action</code></em></code>:</span></dt><dd><p>the name of the action</p></dd><dt><span class="term"><code class="literal">av <em class="parameter"><code>parameter</code></em></code>:</span></dt><dd><p>array which will contain the target parameter</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Notification"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Notification.version"></a><h3>The "version" property</h3><a id="idm45882999113616" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Inhibit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Inhibit — Portal for inhibiting session transitions</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Inhibit.Inhibit" title="The Inhibit() method">Inhibit</a>          (IN  s     window,
                  IN  u     flags,
                  IN  a{sv} options,
                  OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Inhibit.CreateMonitor" title="The CreateMonitor() method">CreateMonitor</a>    (IN  s     window,
                  IN  a{sv} options,
                  OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Inhibit.QueryEndResponse" title="The QueryEndResponse() method">QueryEndResponse</a> (IN  o     session_handle);
</pre></div><div class="refsect1"><a id="idm45883001236000"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Inhibit.StateChanged" title="The &quot;StateChanged&quot; signal">StateChanged</a> (o     session_handle,
              a{sv} state);
</pre></div><div class="refsect1"><a id="idm45882999144880"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Inhibit.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Inhibit"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications inhibit the user
      session from ending, suspending, idling or getting switched away.
</p><p>      This documentation describes version 3 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Inhibit"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Inhibit.Inhibit"></a><h3>The Inhibit() method</h3><a id="idm45883001950304" class="indexterm"></a><pre class="programlisting">
Inhibit (IN  s     window,
         IN  u     flags,
         IN  a{sv} options,
         OUT o     handle);
</pre><p>        Inhibits a session status changes. To remove the inhibition,
        call <a class="link" href="#gdbus-method-org-freedesktop-portal-Request.Close" title="The Close() method">Close()</a> on the returned
        handle.
</p><p>        The flags determine what changes are inhibited:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Logout</td></tr><tr><td>2: User Switch</td></tr><tr><td>4: Suspend</td></tr><tr><td>8: Idle</td></tr></table><p>
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">reason s</span></dt><dd><p>User-visible reason for the inhibition.</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>Identifier for the window</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>Flags identifying what is inhibited</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Inhibit.CreateMonitor"></a><h3>The CreateMonitor() method</h3><a id="idm45883004327584" class="indexterm"></a><pre class="programlisting">
CreateMonitor (IN  s     window,
               IN  a{sv} options,
               OUT o     handle);
</pre><p>        Creates a monitoring session. While this session is
        active, the caller will receive StateChanged signals
        with updates on the session state.
</p><p>        A successfully created session can at any time be closed using
        org.freedesktop.portal.Session::Close, or may at any time be closed
        by the portal implementation, which will be signalled via
        org.freedesktop.portal.Session::Closed.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">session_handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the session handle. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> documentation for
              more information about the session handle.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session_handle o</span></dt><dd><p>
              The session handle. An object path for the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object representing the created
              session.
            </p></dd></dl></div><p>
</p><p>        This method was added in version 2 of this interface.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>the parent window</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Inhibit.QueryEndResponse"></a><h3>The QueryEndResponse() method</h3><a id="idm45882998858816" class="indexterm"></a><pre class="programlisting">
QueryEndResponse (IN  o session_handle);
</pre><p>      Acknowledges that the caller received the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Inhibit.StateChanged" title="The &quot;StateChanged&quot; signal">"StateChanged"</a>
      signal. This method should be called within one second or receiving a StateChanged
      signal with the 'Query End' state.
</p><p>      Since version 3.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Inhibit"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Inhibit.StateChanged"></a><h3>The "StateChanged" signal</h3><a id="idm45882998847952" class="indexterm"></a><pre class="programlisting">
StateChanged (o     session_handle,
              a{sv} state);
</pre><p>        The StateChanged signal is sent to active monitoring sessions when
        the session state changes.
</p><p>        When the session state changes to 'Query End', clients with active monitoring
        sessions are expected to respond by calling 
        <a class="link" href="#gdbus-method-org-freedesktop-portal-Inhibit.QueryEndResponse" title="The QueryEndResponse() method">QueryEndResponse()</a> within a second
        of receiving the StateChanged signal. They may call <a class="link" href="#gdbus-method-org-freedesktop-portal-Inhibit.Inhibit" title="The Inhibit() method">Inhibit()</a>
        first to inhibit logout, to prevent the session from proceeding to the Ending state.
</p><p>        The following information may get returned in the <em class="parameter"><code>state</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">screensaver-active b</span></dt><dd><p>
              Whether the screensaver is active.
            </p></dd><dt><span class="term">session-state u</span></dt><dd><p>
              The state of the session. This member is new in version 3.
            </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Running</td></tr><tr><td>2: Query End</td></tr><tr><td>3: Ending</td></tr></table></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>Vardict with information about the session state</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Inhibit"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Inhibit.version"></a><h3>The "version" property</h3><a id="idm45882998826992" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.NetworkMonitor"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.NetworkMonitor — Network monitoring portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-NetworkMonitor.GetAvailable" title="The GetAvailable() method">GetAvailable</a>    (OUT b     available);
<a class="link" href="#gdbus-method-org-freedesktop-portal-NetworkMonitor.GetMetered" title="The GetMetered() method">GetMetered</a>      (OUT b     metered);
<a class="link" href="#gdbus-method-org-freedesktop-portal-NetworkMonitor.GetConnectivity" title="The GetConnectivity() method">GetConnectivity</a> (OUT u     connectivity);
<a class="link" href="#gdbus-method-org-freedesktop-portal-NetworkMonitor.GetStatus" title="The GetStatus() method">GetStatus</a>       (OUT a{sv} status);
<a class="link" href="#gdbus-method-org-freedesktop-portal-NetworkMonitor.CanReach" title="The CanReach() method">CanReach</a>        (IN  s     hostname,
                 IN  u     port,
                 OUT b     reachable);
</pre></div><div class="refsect1"><a id="idm45883002763760"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-NetworkMonitor.changed" title="The &quot;changed&quot; signal">changed</a> ();
</pre></div><div class="refsect1"><a id="idm45883002760912"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-NetworkMonitor.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-NetworkMonitor"></a><h2>Description</h2><p>      The NetworkMonitor interface provides network status information
      to sandboxed applications. It is not a portal in the strict sense,
      since it does not involve user interaction. Applications are
      expected to use this interface indirectly, via a library API
      such as the GLib GNetworkMonitor interface.
</p><p>      This documentation describes version 3 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.NetworkMonitor"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-NetworkMonitor.GetAvailable"></a><h3>The GetAvailable() method</h3><a id="idm45883002697200" class="indexterm"></a><pre class="programlisting">
GetAvailable (OUT b available);
</pre><p>        Returns whether the network is considered available.
        That is, whether the system as a default route for
        at least one of IPv4 or IPv6.
</p><p>        This method was added in version 2 to replace
        the available property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT b <em class="parameter"><code>available</code></em></code>:</span></dt><dd><p>whether the network is available</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-NetworkMonitor.GetMetered"></a><h3>The GetMetered() method</h3><a id="idm45883002734800" class="indexterm"></a><pre class="programlisting">
GetMetered (OUT b metered);
</pre><p>        Returns whether the network is considered metered.
        That is, whether the system as traffic flowing through
        the default connection that is subject ot limitations
        by service providers.
</p><p>        This method was added in version 2 to replace
        the metered property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT b <em class="parameter"><code>metered</code></em></code>:</span></dt><dd><p>whether the network is metered</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-NetworkMonitor.GetConnectivity"></a><h3>The GetConnectivity() method</h3><a id="idm45883004193792" class="indexterm"></a><pre class="programlisting">
GetConnectivity (OUT u connectivity);
</pre><p>        Returns more detailed information about the host's network
        connectivity. The meaning of the value is:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Local only. The host is not configured with a route to the internet.</td></tr><tr><td>2: Limited connectivity. The host is connected to a network, but can't reach the full internet.</td></tr><tr><td>3: Captive portal. The host is behind a captive portal and cannot reach the full internet.</td></tr><tr><td>4: Full network. The host connected to a network, and can reach the full internet.</td></tr></table><p>
</p><p>        This method was added in version 2 to replace
        the connectivity property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>connectivity</code></em></code>:</span></dt><dd><p>the level of connectivity</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-NetworkMonitor.GetStatus"></a><h3>The GetStatus() method</h3><a id="idm45883004183360" class="indexterm"></a><pre class="programlisting">
GetStatus (OUT a{sv} status);
</pre><p>        Returns the three values all at once.
</p><p>        The following results get returned via <em class="parameter"><code>status</code></em>:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">available b</span></dt><dd><p>
              Whether the network is available.
            </p></dd><dt><span class="term">metered b</span></dt><dd><p>
              Whether the network is metered.
            </p></dd><dt><span class="term">connectivity u</span></dt><dd><p>
              The level of connectivity.
            </p></dd></dl></div><p>
</p><p>        This method was added in version 3 to avoid multiple round-trips.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>status</code></em></code>:</span></dt><dd><p>a dictionary with the current values</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-NetworkMonitor.CanReach"></a><h3>The CanReach() method</h3><a id="idm45882998530192" class="indexterm"></a><pre class="programlisting">
CanReach (IN  s hostname,
          IN  u port,
          OUT b reachable);
</pre><p>        Returns whether the given hostname is believed to be reachable.
        This method was added in version 3.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>hostname</code></em></code>:</span></dt><dd><p>the hostname to reach</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>port</code></em></code>:</span></dt><dd><p>the port to reach</p></dd><dt><span class="term"><code class="literal">OUT b <em class="parameter"><code>reachable</code></em></code>:</span></dt><dd><p>Whether the hostname:port was reachable</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.NetworkMonitor"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-NetworkMonitor.changed"></a><h3>The "changed" signal</h3><a id="idm45882998515728" class="indexterm"></a><pre class="programlisting">
changed ();
</pre><p>        Emitted when the network configuration changes.
</p></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.NetworkMonitor"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-NetworkMonitor.version"></a><h3>The "version" property</h3><a id="idm45882998509888" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.ProxyResolver"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.ProxyResolver — Proxy information</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup" title="The Lookup() method">Lookup</a> (IN  s  uri,
        OUT as proxies);
</pre></div><div class="refsect1"><a id="idm45883001362880"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-ProxyResolver.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-ProxyResolver"></a><h2>Description</h2><p>      The ProxyResolver interface provides network proxy information to sandboxed
      applications. It is not a portal in the strict sense, since it does not involve
      user interaction. Applications are expected to use this interface indirectly,
      via a library API such as the GLib GProxyResolver interface.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.ProxyResolver"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup"></a><h3>The Lookup() method</h3><a id="idm45883000003808" class="indexterm"></a><pre class="programlisting">
Lookup (IN  s  uri,
        OUT as proxies);
</pre><p>        Looks up which proxy to use to connect to <em class="parameter"><code>uri</code></em>. The returned
        proxy uri are of the form 'protocol://[user[:password]<em class="parameter"><code>host</code></em>:port'.
        The protocol can be http, rtsp, socks or another proxying protocol.
        'direct://' is used when no proxy is needed.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>uri</code></em></code>:</span></dt><dd><p>Destination to connect to</p></dd><dt><span class="term"><code class="literal">OUT as <em class="parameter"><code>proxies</code></em></code>:</span></dt><dd><p>List of proxy uris</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.ProxyResolver"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-ProxyResolver.version"></a><h3>The "version" property</h3><a id="idm45882999454608" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Settings"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Settings — Settings interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Settings.ReadAll" title="The ReadAll() method">ReadAll</a> (IN  as        namespaces,
         OUT a{sa{sv}} value);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Settings.Read" title="The Read() method">Read</a>    (IN  s         namespace,
         IN  s         key,
         OUT v         value);
</pre></div><div class="refsect1"><a id="idm45882999826224"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Settings.SettingChanged" title="The &quot;SettingChanged&quot; signal">SettingChanged</a> (s namespace,
                s key,
                v value);
</pre></div><div class="refsect1"><a id="idm45883000067936"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Settings.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Settings"></a><h2>Description</h2><p>    This interface provides read-only access to a small number
    of host settings required for toolkits similar to XSettings.
    It is not for general purpose settings.
</p><p>    Currently the interface provides the following keys:
</p><p>    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">org.freedesktop.appearance color-scheme u</span></dt><dd><p>
          Indicates the system's preferred color scheme.
          Supported values are:
          </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: No preference</td></tr><tr><td>1: Prefer dark appearance</td></tr><tr><td>2: Prefer light appearance</td></tr></table><p>
          Unknown values should be treated as 0 (no preference).
        </p></dd></dl></div><p>
</p><p>    Implementations can provide other keys; they are entirely
    implementation details that are undocumented. If you are a
    toolkit and want to use this please open an issue.
</p><p>    This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Settings"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Settings.ReadAll"></a><h3>The ReadAll() method</h3><a id="idm45882999895600" class="indexterm"></a><pre class="programlisting">
ReadAll (IN  as        namespaces,
         OUT a{sa{sv}} value);
</pre><p>      If <em class="parameter"><code>namespaces</code></em> is an empty array or contains an empty string it matches all. Globbing is supported but only for
      trailing sections, e.g. "org.example.*".
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>namespaces</code></em></code>:</span></dt><dd><p>List of namespaces to filter results by, supports simple globbing explained below.</p></dd><dt><span class="term"><code class="literal">OUT a{sa{sv}} <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>Dictionary of namespaces to its keys and values.</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Settings.Read"></a><h3>The Read() method</h3><a id="idm45882999107072" class="indexterm"></a><pre class="programlisting">
Read (IN  s namespace,
      IN  s key,
      OUT v value);
</pre><p>      Reads a single value. Returns an error on any unknown namespace or key.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>namespace</code></em></code>:</span></dt><dd><p>Namespace to look up <em class="parameter"><code>key</code></em> in.</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>The key to get.</p></dd><dt><span class="term"><code class="literal">OUT v <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>The value <em class="parameter"><code>key</code></em> is set to.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Settings"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Settings.SettingChanged"></a><h3>The "SettingChanged" signal</h3><a id="idm45882998506512" class="indexterm"></a><pre class="programlisting">
SettingChanged (s namespace,
                s key,
                v value);
</pre><p>      Emitted when a setting changes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>namespace</code></em></code>:</span></dt><dd><p>Namespace of changed setting.</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>The key of changed setting.</p></dd><dt><span class="term"><code class="literal">v <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>The new value.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Settings"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Settings.version"></a><h3>The "version" property</h3><a id="idm45882998492448" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Secret"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Secret — Portal for retrieving application secret</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Secret.RetrieveSecret" title="The RetrieveSecret() method">RetrieveSecret</a> (IN  h     fd,
                IN  a{sv} options,
                OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001732800"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Secret.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Secret"></a><h2>Description</h2><p>      The Secret portal allows sandboxed applications to retrieve a
      per-application secret.  The secret can then be used for
      encrypting confidential data inside the sandbox.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Secret"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Secret.RetrieveSecret"></a><h3>The RetrieveSecret() method</h3><a id="idm45882999665472" class="indexterm"></a><pre class="programlisting">
RetrieveSecret (IN  h     fd,
                IN  a{sv} options,
                OUT o     handle);
</pre><p>        Retrieves a master secret for a sandboxed application.
</p><p>        The master secret is unique per application and does not
        change as long as the application is installed (once it has
        been created). In a typical backend implementation, it is
        stored in the user's keyring, under the application ID as a
        key.
</p><p>        While the master secret can be used for encrypting any
        confidential data in the sandbox, the format is opaque to the
        application. In particular, the length of the secret might not
        be sufficient for the use with certain encryption
        algorithm. In that case, the application is supposed to expand
        it using a KDF algorithm.
</p><p>        The portal may return an additional identifier associated with
        the secret in the results vardict of
        org.freedesktop.portal.Request.Response() call. In the next
        call of this method, the application shall indicate it through
        a token element in <em class="parameter"><code>options</code></em>.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">token s</span></dt><dd><p>
              An opaque string returned by a previous <a class="link" href="#gdbus-method-org-freedesktop-portal-Secret.RetrieveSecret" title="The RetrieveSecret() method">RetrieveSecret()</a> call.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>Writable file descriptor for transporting the secret</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Secret"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Secret.version"></a><h3>The "version" property</h3><a id="idm45883000538368" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Background"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Background — Portal for requesting autostart and background activity</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Background.RequestBackground" title="The RequestBackground() method">RequestBackground</a> (IN  s     parent_window,
                   IN  a{sv} options,
                   OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883003576304"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Background.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Background"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications request that
      the application is allowed to run in the background or started
      automatically when the user logs in.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Background"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Background.RequestBackground"></a><h3>The RequestBackground() method</h3><a id="idm45883001165104" class="indexterm"></a><pre class="programlisting">
RequestBackground (IN  s     parent_window,
                   IN  a{sv} options,
                   OUT o     handle);
</pre><p>            <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>options</code></em>: Vardict with optional further information
        <em class="parameter"><code>handle</code></em>: Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a>
            object representing this call
</p><p>        Requests that the application is allowed to run in the
        background.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the
              <em class="parameter"><code>handle</code></em>. Must be a valid object path element. See the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for more
              information about the <em class="parameter"><code>handle</code></em>.
            </p></dd><dt><span class="term">reason s</span></dt><dd><p>
              User-visible reason for the request.
            </p></dd><dt><span class="term">autostart b</span></dt><dd><p>
              TRUE if the app also wants to be started automatically
              at login.
            </p></dd><dt><span class="term">commandline as</span></dt><dd><p>
              Commandline to use add when autostarting at login.
              If this is not specified, the Exec line from the
              desktop file will be used.
            </p></dd><dt><span class="term">dbus-activatable b</span></dt><dd><p>
              If TRUE, use D-Bus activation for autostart.
            </p></dd></dl></div><p>
</p><p>       The following results get returned via the
       <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
</p><p>      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">background b</span></dt><dd><p>
            TRUE if the application is allowed to run in the background.
          </p></dd><dt><span class="term">autostart b</span></dt><dd><p>
            TRUE if the application is will be autostarted.
          </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Background"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Background.version"></a><h3>The "version" property</h3><a id="idm45882998799296" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.GameMode"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.GameMode — Portal for accessing GameMode</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.QueryStatus" title="The QueryStatus() method">QueryStatus</a>           (IN  i pid,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.RegisterGame" title="The RegisterGame() method">RegisterGame</a>          (IN  i pid,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.UnregisterGame" title="The UnregisterGame() method">UnregisterGame</a>        (IN  i pid,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.QueryStatusByPid" title="The QueryStatusByPid() method">QueryStatusByPid</a>      (IN  i target,
                       IN  i requester,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.RegisterGameByPid" title="The RegisterGameByPid() method">RegisterGameByPid</a>     (IN  i target,
                       IN  i requester,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.UnregisterGameByPid" title="The UnregisterGameByPid() method">UnregisterGameByPid</a>   (IN  i target,
                       IN  i requester,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.QueryStatusByPIDFd" title="The QueryStatusByPIDFd() method">QueryStatusByPIDFd</a>    (IN  h target,
                       IN  h requester,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.RegisterGameByPIDFd" title="The RegisterGameByPIDFd() method">RegisterGameByPIDFd</a>   (IN  h target,
                       IN  h requester,
                       OUT i result);
<a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.UnregisterGameByPIDFd" title="The UnregisterGameByPIDFd() method">UnregisterGameByPIDFd</a> (IN  h target,
                       IN  h requester,
                       OUT i result);
</pre></div><div class="refsect1"><a id="idm45883004294192"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-GameMode.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-GameMode"></a><h2>Description</h2><p>      Interface for accessing GameMode from within the sandbox. It
      is analogous to the com.feralinteractive.GameMode interface
      and will proxy request there, but with additional permission
      checking and pid mapping. The latter is necessary in the case
      that sandbox has pid  namespace isolation enabled. See the man
      page for pid_namespaces(7) for more details, but briefly, it
      means that the sandbox has its own process id namespace which
      is separated from the one on the host. Thus there will be two
      separate process  ids (pids) within two different namespaces
      that both identify same process. One id from the pid namespace
      inside the sandbox and one id from the host pid namespace.
      Since GameMode expects pids from the host pid namespace but
      programs inside the sandbox can only know pids from the sandbox
      namespace, process ids need to be translated from the portal to
      the host namespace. The portal will do that transparently for
      all calls where this is necessary.
</p><p>      Note: GameMode will monitor active clients, i.e. games and
      other programs that have successfully called 'RegisterGame'.
      In the event that a client terminates without a call to the
      'UnregisterGame' method, GameMode will automatically un-register
      the client. This might happen with a (small) delay.
</p><p>      This documentation describes version 3 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.GameMode"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.QueryStatus"></a><h3>The QueryStatus() method</h3><a id="idm45882998912896" class="indexterm"></a><pre class="programlisting">
QueryStatus (IN  i pid,
             OUT i result);
</pre><p>          Query the GameMode status for a process. If the caller
          is running inside a sandbox with pid namespace isolation,
          the pid will be translated to the respective host pid. See
          the general introduction for details. Will return:
            0 if GameMode is inactive,
            1 if GameMode is active,
            2 if GameMode is active and <em class="parameter"><code>pid</code></em> is registered,
           -1 if the query failed inside GameMode
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>Process id to query the GameMode status of</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>The GameMode status for <em class="parameter"><code>pid</code></em> '</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.RegisterGame"></a><h3>The RegisterGame() method</h3><a id="idm45882998975280" class="indexterm"></a><pre class="programlisting">
RegisterGame (IN  i pid,
              OUT i result);
</pre><p>          Register a game with GameMode and thus request GameMode to
          be activated. If the caller is running inside a sandbox with
          pid namespace isolation, the pid will be translated to the
          respective host pid. See the general introduction for details.
          If the GameMode has already been requested for <em class="parameter"><code>pid</code></em> before,
          this call will fail, i.e. result will be -1.
          Will return:
            0 if the game with <em class="parameter"><code>pid</code></em> was successfully registered,
           -1 if the request was rejected by GameMode
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>Process id of the game to register</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.UnregisterGame"></a><h3>The UnregisterGame() method</h3><a id="idm45882998963840" class="indexterm"></a><pre class="programlisting">
UnregisterGame (IN  i pid,
                OUT i result);
</pre><p>          Un-register a game from GameMode; if the call is successful
          and there are no other games or clients registered, GameMode
          will be deactivated. If the caller is running inside a sandbox
          with pid namespace isolation, the pid will be translated to
          the respective host pid.
          Will return:
            0 if the game with <em class="parameter"><code>pid</code></em> was successfully un-registered,
           -1 if the request was rejected by GameMode
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>Process id of the game to un-register</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.QueryStatusByPid"></a><h3>The QueryStatusByPid() method</h3><a id="idm45882998146240" class="indexterm"></a><pre class="programlisting">
QueryStatusByPid (IN  i target,
                  IN  i requester,
                  OUT i result);
</pre><p>          Query the GameMode status for a process.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.QueryStatus" title="The QueryStatus() method">QueryStatus()</a> but <em class="parameter"><code>requester</code></em>
          acting on behalf of <em class="parameter"><code>target</code></em>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Process id to query the GameMode status of</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Process id of the process requesting the information</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>The GameMode status for <em class="parameter"><code>target</code></em></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.RegisterGameByPid"></a><h3>The RegisterGameByPid() method</h3><a id="idm45882998130640" class="indexterm"></a><pre class="programlisting">
RegisterGameByPid (IN  i target,
                   IN  i requester,
                   OUT i result);
</pre><p>          Register a game with GameMode.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.RegisterGame" title="The RegisterGame() method">RegisterGame()</a> but <em class="parameter"><code>requester</code></em>
          acting on behalf of <em class="parameter"><code>target</code></em>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Process id of the game to register</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Process id of the process requesting the registration</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.UnregisterGameByPid"></a><h3>The UnregisterGameByPid() method</h3><a id="idm45882998115408" class="indexterm"></a><pre class="programlisting">
UnregisterGameByPid (IN  i target,
                     IN  i requester,
                     OUT i result);
</pre><p>          Un-register a game with GameMode.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.UnregisterGame" title="The UnregisterGame() method">UnregisterGame()</a> but <em class="parameter"><code>requester</code></em>
          acting on behalf of <em class="parameter"><code>target</code></em>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Process id of the game to un-register</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Process id of the process requesting the un-registration</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.QueryStatusByPIDFd"></a><h3>The QueryStatusByPIDFd() method</h3><a id="idm45882998100096" class="indexterm"></a><pre class="programlisting">
QueryStatusByPIDFd (IN  h target,
                    IN  h requester,
                    OUT i result);
</pre><p>          Query the GameMode status for a process.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.QueryStatusByPid" title="The QueryStatusByPid() method">QueryStatusByPid()</a> but <em class="parameter"><code>requester</code></em>
          and <em class="parameter"><code>target</code></em> are pidfds representing the processes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Pidfd to query the GameMode status of</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Pidfd of the process requesting the information</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>The GameMode status for <em class="parameter"><code>target</code></em></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.RegisterGameByPIDFd"></a><h3>The RegisterGameByPIDFd() method</h3><a id="idm45882998084384" class="indexterm"></a><pre class="programlisting">
RegisterGameByPIDFd (IN  h target,
                     IN  h requester,
                     OUT i result);
</pre><p>          Register a game with GameMode.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.RegisterGameByPid" title="The RegisterGameByPid() method">RegisterGameByPid()</a> but <em class="parameter"><code>requester</code></em>
          and <em class="parameter"><code>target</code></em> are pidfds representing the processes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Pidfd of the game to register</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Pidfd of the process requesting the registration</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-GameMode.UnregisterGameByPIDFd"></a><h3>The UnregisterGameByPIDFd() method</h3><a id="idm45882998069200" class="indexterm"></a><pre class="programlisting">
UnregisterGameByPIDFd (IN  h target,
                       IN  h requester,
                       OUT i result);
</pre><p>          Un-register a game with GameMode.
</p><p>          Like <a class="link" href="#gdbus-method-org-freedesktop-portal-GameMode.UnregisterGameByPid" title="The UnregisterGameByPid() method">UnregisterGameByPid()</a> but <em class="parameter"><code>requester</code></em>
          and <em class="parameter"><code>target</code></em> are pidfds representing the processes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>target</code></em></code>:</span></dt><dd><p>Pidfd of the game to un-register</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>requester</code></em></code>:</span></dt><dd><p>Pidfd of the process requesting the un-registration</p></dd><dt><span class="term"><code class="literal">OUT i <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>Status of the request: 0 for success, -1 indicates an error</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.GameMode"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-GameMode.version"></a><h3>The "version" property</h3><a id="idm45882998052592" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Camera"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Camera — Camera portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Camera.AccessCamera" title="The AccessCamera() method">AccessCamera</a>       (IN  a{sv} options,
                    OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Camera.OpenPipeWireRemote" title="The OpenPipeWireRemote() method">OpenPipeWireRemote</a> (IN  a{sv} options,
                    OUT h     fd);
</pre></div><div class="refsect1"><a id="idm45883002935616"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Camera.IsCameraPresent" title="The &quot;IsCameraPresent&quot; property">IsCameraPresent</a>  readable   b
<a class="link" href="#gdbus-property-org-freedesktop-portal-Camera.version" title="The &quot;version&quot; property">version</a>          readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Camera"></a><h2>Description</h2><p>      The camera portal enables applications to access camera devices, such as
      web cams.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Camera"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Camera.AccessCamera"></a><h3>The AccessCamera() method</h3><a id="idm45883003331424" class="indexterm"></a><pre class="programlisting">
AccessCamera (IN  a{sv} options,
              OUT o     handle);
</pre><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
              A string that will be used as the last element of the <em class="parameter"><code>handle</code></em>. Must be a valid
              object path element. See the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for
              more information about the <em class="parameter"><code>handle</code></em>.
            </p></dd></dl></div><p>
</p><p>        Following the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal, if
        granted, #org.freedesktop.org.Camera.OpenPipeWireRemote can be used to
        open a PipeWire remote.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Camera.OpenPipeWireRemote"></a><h3>The OpenPipeWireRemote() method</h3><a id="idm45883001647504" class="indexterm"></a><pre class="programlisting">
OpenPipeWireRemote (IN  a{sv} options,
                    OUT h     fd);
</pre><p>        Open a file descriptor to the PipeWire remote where the camera nodes
        are available. The file descriptor should be used to create a
        <code class="classname">pw_core</code> object, by using
        <code class="function">pw_context_connect_fd</code>.
</p><p>        This method will only succeed if the application already has permission
        to access camera devices.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor of an open PipeWire remote.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Camera"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Camera.IsCameraPresent"></a><h3>The "IsCameraPresent" property</h3><a id="idm45882998276544" class="indexterm"></a><pre class="programlisting">
IsCameraPresent  readable   b
</pre><p>        A boolean stating whether there is any cameras available.
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Camera.version"></a><h3>The "version" property</h3><a id="idm45882998272608" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Documents"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Documents — Document portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.GetMountPoint" title="The GetMountPoint() method">GetMountPoint</a>     (OUT ay     path);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.Add" title="The Add() method">Add</a>               (IN  h      o_path_fd,
                   IN  b      reuse_existing,
                   IN  b      persistent,
                   OUT s      doc_id);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.AddNamed" title="The AddNamed() method">AddNamed</a>          (IN  h      o_path_parent_fd,
                   IN  ay     filename,
                   IN  b      reuse_existing,
                   IN  b      persistent,
                   OUT s      doc_id);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.AddFull" title="The AddFull() method">AddFull</a>           (IN  ah     o_path_fds,
                   IN  u      flags,
                   IN  s      app_id,
                   IN  as     permissions,
                   OUT as     doc_ids,
                   OUT a{sv}  extra_out);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.AddNamedFull" title="The AddNamedFull() method">AddNamedFull</a>      (IN  h      o_path_fd,
                   IN  ay     filename,
                   IN  u      flags,
                   IN  s      app_id,
                   IN  as     permissions,
                   OUT s      doc_id,
                   OUT a{sv}  extra_out);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.GrantPermissions" title="The GrantPermissions() method">GrantPermissions</a>  (IN  s      doc_id,
                   IN  s      app_id,
                   IN  as     permissions);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.RevokePermissions" title="The RevokePermissions() method">RevokePermissions</a> (IN  s      doc_id,
                   IN  s      app_id,
                   IN  as     permissions);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.Delete" title="The Delete() method">Delete</a>            (IN  s      doc_id);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.Lookup" title="The Lookup() method">Lookup</a>            (IN  ay     filename,
                   OUT s      doc_id);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.Info" title="The Info() method">Info</a>              (IN  s      doc_id,
                   OUT ay     path,
                   OUT a{sas} apps);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.List" title="The List() method">List</a>              (IN  s      app_id,
                   OUT a{say} docs);
</pre></div><div class="refsect1"><a id="idm45882999067152"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Documents.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Documents"></a><h2>Description</h2><p>      The document portal allows to make files from the outside world
      available to sandboxed applications in a controlled way.
</p><p>      Exported files will be made accessible to the application via
      a fuse filesystem that gets mounted at /run/user/$UID/doc/. The
      filesystem gets mounted both outside and inside the sandbox, but
      the view inside the sandbox is restricted to just those files
      that the application is allowed to access.
</p><p>      Individual files will appear at /run/user/$UID/doc/$DOC_ID/filename,
      where $DOC_ID is the ID of the file in the document store. It is
      returned by the <a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.Add" title="The Add() method">Add()</a> and
      <a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.AddNamed" title="The AddNamed() method">AddNamed()</a> calls.
</p><p>      The permissions that the application has for a document store entry
      (see <a class="link" href="#gdbus-method-org-freedesktop-portal-Documents.GrantPermissions" title="The GrantPermissions() method">GrantPermissions()</a>) are reflected
      in the POSIX mode bits in the fuse filesystem.
</p><p>      The D-Bus interface for the document portal is available under the
      bus name org.freedesktop.portal.Documents and the object path
      /org/freedesktop/portal/documents.
</p><p>      This documentation describes version 4 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Documents"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.GetMountPoint"></a><h3>The GetMountPoint() method</h3><a id="idm45882999366128" class="indexterm"></a><pre class="programlisting">
GetMountPoint (OUT ay path);
</pre><p>        Returns the path at which the document store fuse filesystem
        is mounted. This will typically be /run/user/$UID/doc/.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT ay <em class="parameter"><code>path</code></em></code>:</span></dt><dd><p>the path at which the fuse filesystem is mounted</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.Add"></a><h3>The Add() method</h3><a id="idm45883004440832" class="indexterm"></a><pre class="programlisting">
Add (IN  h o_path_fd,
     IN  b reuse_existing,
     IN  b persistent,
     OUT s doc_id);
</pre><p>        Adds a file to the document store. The file is passed in the
        form of an open file descriptor to prove that the caller has
        access to the file.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>o_path_fd</code></em></code>:</span></dt><dd><p>open file descriptor for the file to add</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>reuse_existing</code></em></code>:</span></dt><dd><p>whether to reuse an existing document store entry for the file</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>persistent</code></em></code>:</span></dt><dd><p>whether to add the file only for this session or permanently</p></dd><dt><span class="term"><code class="literal">OUT s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.AddNamed"></a><h3>The AddNamed() method</h3><a id="idm45883004425952" class="indexterm"></a><pre class="programlisting">
AddNamed (IN  h  o_path_parent_fd,
          IN  ay filename,
          IN  b  reuse_existing,
          IN  b  persistent,
          OUT s  doc_id);
</pre><p>        Creates an entry in the document store for writing a new file.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>o_path_parent_fd</code></em></code>:</span></dt><dd><p>open file descriptor for the parent directory</p></dd><dt><span class="term"><code class="literal">IN ay <em class="parameter"><code>filename</code></em></code>:</span></dt><dd><p>the basename for the file</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>reuse_existing</code></em></code>:</span></dt><dd><p>whether to reuse an existing document store entry for the file</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>persistent</code></em></code>:</span></dt><dd><p>whether to add the file only for this session or permanently</p></dd><dt><span class="term"><code class="literal">OUT s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.AddFull"></a><h3>The AddFull() method</h3><a id="idm45882998031488" class="indexterm"></a><pre class="programlisting">
AddFull (IN  ah    o_path_fds,
         IN  u     flags,
         IN  s     app_id,
         IN  as    permissions,
         OUT as    doc_ids,
         OUT a{sv} extra_out);
</pre><p>        Adds multiple files to the document store. The file is passed in the
        form of an open file descriptor to prove that the caller has
        access to the file.
</p><p>        If the as-needed-by-app flag is given, files will only be added to
        the document store if the application does not already have access to them.
        For files that are not added to the document store, the doc_ids array will
        contain an empty string.
</p><p>        Additionally, if app_id is specified, it will be given the permissions
        listed in GrantPermission.
</p><p>        The method also returns some extra info that can be used to avoid
        multiple roundtrips. For now it only contains as "mountpoint", the
        fuse mountpoint of the document portal.
</p><p>        This method was added in version 2 of the org.freedesktop.portal.Documents interface.
</p><p>        Support for exporting directories were added in version 4 of the org.freedesktop.portal.Documents interface.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN ah <em class="parameter"><code>o_path_fds</code></em></code>:</span></dt><dd><p>open file descriptors for the files to export</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>flags, 1 == reuse_existing, 2 == persistent, 4 == as-needed-by-app, 8 = export directory</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>an application ID, or empty string</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>the permissions to grant, possible values are 'read', 'write', 'grant-permissions' and 'delete'</p></dd><dt><span class="term"><code class="literal">OUT as <em class="parameter"><code>doc_ids</code></em></code>:</span></dt><dd><p>the IDs of the files in the document store</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>extra_out</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.AddNamedFull"></a><h3>The AddNamedFull() method</h3><a id="idm45882998009264" class="indexterm"></a><pre class="programlisting">
AddNamedFull (IN  h     o_path_fd,
              IN  ay    filename,
              IN  u     flags,
              IN  s     app_id,
              IN  as    permissions,
              OUT s     doc_id,
              OUT a{sv} extra_out);
</pre><p>        Creates an entry in the document store for writing a new file.
</p><p>        If the as-needed-by-app flag is given, file will only be added to
        the document store if the application does not already have access to it.
        For file that is not added to the document store, the doc_id will
        contain an empty string.
</p><p>        Additionally, if app_id is specified, it will be given the permissions
        listed in GrantPermission.
</p><p>        The method also returns some extra info that can be used to avoid
        multiple roundtrips. For now it only contains as "mountpoint", the
        fuse mountpoint of the document portal.
</p><p>        This method was added in version 3 of the org.freedesktop.portal.Documents interface.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>o_path_fd</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN ay <em class="parameter"><code>filename</code></em></code>:</span></dt><dd><p>the basename for the file</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>flags, 1 == reuse_existing, 2 == persistent, 4 == as-needed-by-app</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>an application ID, or empty string</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>the permissions to grant, possible values are 'read', 'write', 'grant-permissions' and 'delete'</p></dd><dt><span class="term"><code class="literal">OUT s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>extra_out</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.GrantPermissions"></a><h3>The GrantPermissions() method</h3><a id="idm45882997985072" class="indexterm"></a><pre class="programlisting">
GrantPermissions (IN  s  doc_id,
                  IN  s  app_id,
                  IN  as permissions);
</pre><p>        Grants access permissions for a file in the document store
        to an application.
</p><p>        This call is available inside the sandbox if the application
        has the 'grant-permissions' permission for the document.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>the ID of the application to which permissions are granted</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>the permissions to grant, possible values are 'read', 'write', 'grant-permissions' and 'delete'</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.RevokePermissions"></a><h3>The RevokePermissions() method</h3><a id="idm45882997971776" class="indexterm"></a><pre class="programlisting">
RevokePermissions (IN  s  doc_id,
                   IN  s  app_id,
                   IN  as permissions);
</pre><p>        Revokes access permissions for a file in the document store
        from an application.
</p><p>        This call is available inside the sandbox if the application
        has the 'grant-permissions' permission for the document.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>the ID of the application from which permissions are revoked</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>the permissions to revoke, possible values are 'read', 'write', 'grant-permissions' and 'delete'</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.Delete"></a><h3>The Delete() method</h3><a id="idm45882997958736" class="indexterm"></a><pre class="programlisting">
Delete (IN  s doc_id);
</pre><p>        Removes an entry from the document store. The file itself is
        not deleted.
</p><p>        This call is available inside the sandbox if the application
        has the 'delete' permission for the document.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.Lookup"></a><h3>The Lookup() method</h3><a id="idm45882997951040" class="indexterm"></a><pre class="programlisting">
Lookup (IN  ay filename,
        OUT s  doc_id);
</pre><p>        Looks up the document ID for a file.
</p><p>        This call is not available inside the sandbox.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN ay <em class="parameter"><code>filename</code></em></code>:</span></dt><dd><p>a path in the host filesystem</p></dd><dt><span class="term"><code class="literal">OUT s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store, or '' if the file is not in the document store</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.Info"></a><h3>The Info() method</h3><a id="idm45882997940928" class="indexterm"></a><pre class="programlisting">
Info (IN  s      doc_id,
      OUT ay     path,
      OUT a{sas} apps);
</pre><p>        Gets the filesystem path and application permissions for a document store
        entry.
</p><p>        This call is not available inside the sandbox.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>doc_id</code></em></code>:</span></dt><dd><p>the ID of the file in the document store</p></dd><dt><span class="term"><code class="literal">OUT ay <em class="parameter"><code>path</code></em></code>:</span></dt><dd><p>the path for the file in the host filesystem</p></dd><dt><span class="term"><code class="literal">OUT a{sas} <em class="parameter"><code>apps</code></em></code>:</span></dt><dd><p>a dictionary mapping application IDs to the permissions for that application</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Documents.List"></a><h3>The List() method</h3><a id="idm45882997928160" class="indexterm"></a><pre class="programlisting">
List (IN  s      app_id,
      OUT a{say} docs);
</pre><p>        Lists documents in the document store for an application (or for
        all applications).
</p><p>        This call is not available inside the sandbox.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>an application ID, or '' to list all documents</p></dd><dt><span class="term"><code class="literal">OUT a{say} <em class="parameter"><code>docs</code></em></code>:</span></dt><dd><p>a dictonary mapping document IDs to their filesystem path</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Documents"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Documents.version"></a><h3>The "version" property</h3><a id="idm45882997916288" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Wallpaper"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Wallpaper — Portal for setting the desktop's Wallpaper</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Wallpaper.SetWallpaperURI" title="The SetWallpaperURI() method">SetWallpaperURI</a>  (IN  s     parent_window,
                  IN  s     uri,
                  IN  a{sv} options,
                  OUT o     handle);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Wallpaper.SetWallpaperFile" title="The SetWallpaperFile() method">SetWallpaperFile</a> (IN  s     parent_window,
                  IN  h     fd,
                  IN  a{sv} options,
                  OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001745344"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Wallpaper.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Wallpaper"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications set the user's
      desktop background picture.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Wallpaper"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Wallpaper.SetWallpaperURI"></a><h3>The SetWallpaperURI() method</h3><a id="idm45882998268304" class="indexterm"></a><pre class="programlisting">
SetWallpaperURI (IN  s     parent_window,
                 IN  s     uri,
                 IN  a{sv} options,
                 OUT o     handle);
</pre><p>            <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>uri</code></em>: The picture file uri
        <em class="parameter"><code>options</code></em>: Options that influence the behavior of the portal
        <em class="parameter"><code>handle</code></em>: Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call
</p><p>        Asks to set a given picture as the desktop background picture.
</p><p>        Note that file: uris are explicitly not supported here. To use a local image file as
        background, use the SetWallpaperFile method.
</p><p>        The following options are supported:
        show-preview: (b) whether to show a preview of the picture. Note that the portal may
             decide to show a preview even if this option is not set
        set-on: (s) where to set the wallpaper. Possible values are 'background', 'lockscreen' or 'both'
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>uri</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Wallpaper.SetWallpaperFile"></a><h3>The SetWallpaperFile() method</h3><a id="idm45883004416960" class="indexterm"></a><pre class="programlisting">
SetWallpaperFile (IN  s     parent_window,
                  IN  h     fd,
                  IN  a{sv} options,
                  OUT o     handle);
</pre><p>            <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>fd</code></em>: File descriptor for the file to open
        <em class="parameter"><code>options</code></em>: Options that influence the behavior of the portal
        <em class="parameter"><code>handle</code></em>: Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call
</p><p>        Asks to set a given local file as the desktop background picture.
</p><p>        The following options are supported:
        show-preview: (b) whether to show a preview of the picture. Note that the portal may
             decide to show a preview even if this option is not set
        set-on: (s) where to set the wallpaper. Possible values are 'background', 'lockscreen' or 'both'
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Wallpaper"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Wallpaper.version"></a><h3>The "version" property</h3><a id="idm45882997718736" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.MemoryMonitor"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.MemoryMonitor — Memory monitoring portal</p></div><div class="refsect1"><a id="idm45883000831040"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-MemoryMonitor.LowMemoryWarning" title="The &quot;LowMemoryWarning&quot; signal">LowMemoryWarning</a> (y level);
</pre></div><div class="refsect1"><a id="idm45883002656240"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-MemoryMonitor.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-MemoryMonitor"></a><h2>Description</h2><p>      The Memory Monitor interface provides information about low system
      memory to sandboxed applications. It is not a portal in the strict
      sense, since it does not involve user interaction. Applications are
      expected to use this interface indirectly, via a library API
      such as the GLib GMemoryMonitor interface.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.MemoryMonitor"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-MemoryMonitor.LowMemoryWarning"></a><h3>The "LowMemoryWarning" signal</h3><a id="idm45882997789760" class="indexterm"></a><pre class="programlisting">
LowMemoryWarning (y level);
</pre><p>        Signal emitted when a particular low memory situation happens with 0 being the lowest
        level of memory availability warning, and 255 being the highest. Those levels are defined
        and documented in <a class="ulink" href="https://hadess.pages.freedesktop.org/low-memory-monitor/" target="_top">
        Low Memory Monitor's documentation</a>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">y <em class="parameter"><code>level</code></em></code>:</span></dt><dd><p>An integer representing the level of low memory warning.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.MemoryMonitor"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-MemoryMonitor.version"></a><h3>The "version" property</h3><a id="idm45882999049056" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.PowerProfileMonitor"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.PowerProfileMonitor — Power Profile monitoring portal</p></div><div class="refsect1"><a id="idm45883000112432"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-PowerProfileMonitor.power-saver-enabled" title="The &quot;power-saver-enabled&quot; property">power-saver-enabled</a>  readable   b
<a class="link" href="#gdbus-property-org-freedesktop-portal-PowerProfileMonitor.version" title="The &quot;version&quot; property">version</a>              readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-PowerProfileMonitor"></a><h2>Description</h2><p>      The Power Profile Monitor interface provides information about the
      user-selected system-wide power profile, to sandboxed applications.
      It is not a portal in the strict sense, since it does not involve
      user interaction. Applications are expected to use this interface
      indirectly, via a library API such as the GLib GPowerProfileMonitor interface.
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.PowerProfileMonitor"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-PowerProfileMonitor.power-saver-enabled"></a><h3>The "power-saver-enabled" property</h3><a id="idm45883002497824" class="indexterm"></a><pre class="programlisting">
power-saver-enabled  readable   b
</pre><p>        Whether “Power Saver” mode is enabled on the system.
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-PowerProfileMonitor.version"></a><h3>The "version" property</h3><a id="idm45882998381040" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.FileTransfer"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.FileTransfer — Portal for transferring files between apps</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileTransfer.StartTransfer" title="The StartTransfer() method">StartTransfer</a> (IN  a{sv} options,
               OUT s     key);
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileTransfer.AddFiles" title="The AddFiles() method">AddFiles</a>      (IN  s     key,
               IN  ah    fds,
               IN  a{sv} options);
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileTransfer.RetrieveFiles" title="The RetrieveFiles() method">RetrieveFiles</a> (IN  s     key,
               IN  a{sv} options,
               OUT as    files);
<a class="link" href="#gdbus-method-org-freedesktop-portal-FileTransfer.StopTransfer" title="The StopTransfer() method">StopTransfer</a>  (IN  s     key);
</pre></div><div class="refsect1"><a id="idm45883002854416"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-FileTransfer.TransferClosed" title="The &quot;TransferClosed&quot; signal">TransferClosed</a> (s key);
</pre></div><div class="refsect1"><a id="idm45883000325680"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-FileTransfer.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-FileTransfer"></a><h2>Description</h2><p>       The FileTransfer portal operates as a middle-man between apps
       when transferring files via drag-and-drop or copy-paste, taking
       care of the necessary exporting of files in the document portal.
</p><p>       Toolkits are expected to use the application/vnd.portal.filetransfer
       mimetype when using this mechanism for file exchange via copy-paste
       or drag-and-drop.
</p><p>       The data that is transmitted with this mimetype should be the key
       returned by the StartTransfer method. Upon receiving this mimetype,
       the target should call RetrieveFiles with the key, to obtain the
       list of files. The portal will take care of exporting files in
       the document store as necessary to make them accessible to the
       target.
</p><p>       The D-Bus interface for the this portal is available under the
       bus name org.freedesktop.portal.Documents and the object path
       /org/freedesktop/portal/documents.
</p><p>       This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.FileTransfer"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileTransfer.StartTransfer"></a><h3>The StartTransfer() method</h3><a id="idm45882999459712" class="indexterm"></a><pre class="programlisting">
StartTransfer (IN  a{sv} options,
               OUT s     key);
</pre><p>        Starts a session for a file transfer.
        The caller should call AddFiles at least once, to add files to this session.
</p><p>        Another application can then call RetrieveFiles to obtain them, if it has
        the <em class="parameter"><code>session</code></em> and <em class="parameter"><code>secret</code></em>.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">writable b</span></dt><dd><p>
              Whether to allow the chosen application to write to the files.
              Default: False
            </p><p>
              This key only takes effect for files that need to be exported
              in the document portal for the receiving app. But it does require
              the passed-in file descriptors to be writable.
            </p></dd><dt><span class="term">autostop b</span></dt><dd><p>
              Whether to stop the transfer automatically after the first
              RetrieveFiles call. Default: True
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further onformation</p></dd><dt><span class="term"><code class="literal">OUT s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>a key that needs to be passed to RetrieveFiles to obtain the files</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileTransfer.AddFiles"></a><h3>The AddFiles() method</h3><a id="idm45882997711520" class="indexterm"></a><pre class="programlisting">
AddFiles (IN  s     key,
          IN  ah    fds,
          IN  a{sv} options);
</pre><p>        Adds files to a session. This method can be called multiple times on
        a given session. Note that only regular files (not directories) can
        be added.
</p><p>        Note that the session bus often has a low limit of file descriptors per
        message (typically, 16), so you may have to send large file lists with
        multiple AddFiles calls.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>A key returned by StartTransfer</p></dd><dt><span class="term"><code class="literal">IN ah <em class="parameter"><code>fds</code></em></code>:</span></dt><dd><p>File descriptors for the files to register</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileTransfer.RetrieveFiles"></a><h3>The RetrieveFiles() method</h3><a id="idm45882997693696" class="indexterm"></a><pre class="programlisting">
RetrieveFiles (IN  s     key,
               IN  a{sv} options,
               OUT as    files);
</pre><p>        Retrieves files that were previously added to the session with
        AddFiles. The files will be exported in the document portal
        as-needed for the caller, and they will be writable if the
        owner of the session allowed it.
</p><p>        After the first RetrieveFiles call, the session will be closed
        by the portal, unless autostop has been set to False.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>A key returned by StartTransfer</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further onformation</p></dd><dt><span class="term"><code class="literal">OUT as <em class="parameter"><code>files</code></em></code>:</span></dt><dd><p>list of paths</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-FileTransfer.StopTransfer"></a><h3>The StopTransfer() method</h3><a id="idm45882997680736" class="indexterm"></a><pre class="programlisting">
StopTransfer (IN  s key);
</pre><p>        Ends the transfer. Further calls to AddFiles or RetrieveFiles
        for this key will return an error.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>A key returned by StartTransfer</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.FileTransfer"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-FileTransfer.TransferClosed"></a><h3>The "TransferClosed" signal</h3><a id="idm45882997671536" class="indexterm"></a><pre class="programlisting">
TransferClosed (s key);
</pre><p>        The TransferClosed signal is emitted to the caller of StartTransfer
        when the transfer is closed.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>key returned by StartTransfer</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.FileTransfer"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-FileTransfer.version"></a><h3>The "version" property</h3><a id="idm45882997662304" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Realtime"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Realtime — Portal for setting threads to realtime</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Realtime.MakeThreadRealtimeWithPID" title="The MakeThreadRealtimeWithPID() method">MakeThreadRealtimeWithPID</a>     (IN  t process,
                               IN  t thread,
                               IN  u priority);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Realtime.MakeThreadHighPriorityWithPID" title="The MakeThreadHighPriorityWithPID() method">MakeThreadHighPriorityWithPID</a> (IN  t process,
                               IN  t thread,
                               IN  i priority);
</pre></div><div class="refsect1"><a id="idm45883002059072"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.MaxRealtimePriority" title="The &quot;MaxRealtimePriority&quot; property">MaxRealtimePriority</a>  readable   i
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.MinNiceLevel" title="The &quot;MinNiceLevel&quot; property">MinNiceLevel</a>         readable   i
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.RTTimeUSecMax" title="The &quot;RTTimeUSecMax&quot; property">RTTimeUSecMax</a>        readable   x
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.version" title="The &quot;version&quot; property">version</a>              readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Realtime"></a><h2>Description</h2><p>      Interface for setting a thread to realtime from within the
      sandbox. It is analogous to the org.freedesktop.RealtimeKit1
      interface and will proxy requests there but with pid mapping.
      The latter is necessary in the case that sandbox has pid namespace
      isolation enabled.
</p><p>      Note that this proxy does not bypass any limitations that
      RealtimeKit imposes on processes which are documented here:
      https://git.0pointer.net/rtkit.git/tree/README
</p><p>      This documentation describes version 1 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Realtime"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Realtime.MakeThreadRealtimeWithPID"></a><h3>The MakeThreadRealtimeWithPID() method</h3><a id="idm45883000030416" class="indexterm"></a><pre class="programlisting">
MakeThreadRealtimeWithPID (IN  t process,
                           IN  t thread,
                           IN  u priority);
</pre><p></p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN t <em class="parameter"><code>process</code></em></code>:</span></dt><dd><p>Process id</p></dd><dt><span class="term"><code class="literal">IN t <em class="parameter"><code>thread</code></em></code>:</span></dt><dd><p>Thread id</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>priority</code></em></code>:</span></dt><dd><p>Priority</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Realtime.MakeThreadHighPriorityWithPID"></a><h3>The MakeThreadHighPriorityWithPID() method</h3><a id="idm45882997432192" class="indexterm"></a><pre class="programlisting">
MakeThreadHighPriorityWithPID (IN  t process,
                               IN  t thread,
                               IN  i priority);
</pre><p></p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN t <em class="parameter"><code>process</code></em></code>:</span></dt><dd><p>Process id</p></dd><dt><span class="term"><code class="literal">IN t <em class="parameter"><code>thread</code></em></code>:</span></dt><dd><p>Thread id</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>priority</code></em></code>:</span></dt><dd><p>Priority</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Realtime"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Realtime.MaxRealtimePriority"></a><h3>The "MaxRealtimePriority" property</h3><a id="idm45882997358880" class="indexterm"></a><pre class="programlisting">
MaxRealtimePriority  readable   i
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Realtime.MinNiceLevel"></a><h3>The "MinNiceLevel" property</h3><a id="idm45882997354992" class="indexterm"></a><pre class="programlisting">
MinNiceLevel  readable   i
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Realtime.RTTimeUSecMax"></a><h3>The "RTTimeUSecMax" property</h3><a id="idm45882997621936" class="indexterm"></a><pre class="programlisting">
RTTimeUSecMax  readable   x
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Realtime.version"></a><h3>The "version" property</h3><a id="idm45882997618208" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Flatpak"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Flatpak — Flatpak portal</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn</a>               (IN  ay    cwd_path,
                     IN  aay   argv,
                     IN  a{uh} fds,
                     IN  a{ss} envs,
                     IN  u     flags,
                     IN  a{sv} options,
                     OUT u     pid);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.SpawnSignal" title="The SpawnSignal() method">SpawnSignal</a>         (IN  u     pid,
                     IN  u     signal,
                     IN  b     to_process_group);
<a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.CreateUpdateMonitor" title="The CreateUpdateMonitor() method">CreateUpdateMonitor</a> (IN  a{sv} options,
                     OUT o     handle);
</pre></div><div class="refsect1"><a id="idm45883001822816"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak.SpawnStarted" title="The &quot;SpawnStarted&quot; signal">SpawnStarted</a> (u pid,
              u relpid);
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak.SpawnExited" title="The &quot;SpawnExited&quot; signal">SpawnExited</a>  (u pid,
              u exit_status);
</pre></div><div class="refsect1"><a id="idm45882997452480"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-portal-Flatpak.version" title="The &quot;version&quot; property">version</a>   readable   u
<a class="link" href="#gdbus-property-org-freedesktop-portal-Flatpak.supports" title="The &quot;supports&quot; property">supports</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Flatpak"></a><h2>Description</h2><p>      The flatpak portal exposes some interactions with flatpak on the
      host to the sandbox. For example, it allows you to restart the
      applications or start a more sandboxed instance.
</p><p>      This portal is available on the D-Bus session bus under the
      bus name org.freedesktop.portal.Flatpak and the object path
      /org/freedesktop/portal/Flatpak.
</p><p>      This documentation describes version 6 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Flatpak"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Flatpak.Spawn"></a><h3>The Spawn() method</h3><a id="idm45883004461568" class="indexterm"></a><pre class="programlisting">
Spawn (IN  ay    cwd_path,
       IN  aay   argv,
       IN  a{uh} fds,
       IN  a{ss} envs,
       IN  u     flags,
       IN  a{sv} options,
       OUT u     pid);
</pre><p>         This method lets you start a new instance of your
         application, optionally enabling a tighter sandbox.
</p><p>         The following flags values are supported:
         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">1 (FLATPAK_SPAWN_FLAGS_CLEAR_ENV)</span></dt><dd><p>
               Clear the environment.
             </p></dd><dt><span class="term">2 (FLATPAK_SPAWN_FLAGS_LATEST_VERSION)</span></dt><dd><p>
               Spawn the latest version of the app.
             </p></dd><dt><span class="term">4 (FLATPAK_SPAWN_FLAGS_SANDBOX)</span></dt><dd><p>
               Spawn in a sandbox (equivalent of the sandbox option of flatpak run).
             </p></dd><dt><span class="term">8 (FLATPAK_SPAWN_FLAGS_NO_NETWORK)</span></dt><dd><p>
               Spawn without network (equivalent of the unshare=network option of flatpak run).
             </p></dd><dt><span class="term">16 (FLATPAK_SPAWN_FLAGS_WATCH_BUS)</span></dt><dd><p>
               Kill the sandbox when the caller disappears from the session bus.
             </p></dd><dt><span class="term">32 (FLATPAK_SPAWN_FLAGS_EXPOSE_PIDS)</span></dt><dd><p>
               Expose the sandbox pids in the callers sandbox, only supported if using user namespaces for containers (not setuid), see the support property.
               </p><p>
               This was added in version 3 of this interface (available from flatpak 1.6.0 and later).
             </p></dd><dt><span class="term">64 (FLATPAK_SPAWN_FLAGS_NOTIFY_START)</span></dt><dd><p>
               Emit a SpawnStarted signal once the sandboxed process has been
               fully started.
               </p><p>
               This was added in version 4 of this interface (available from flatpak 1.8.0 and later).
             </p></dd><dt><span class="term">128 (FLATPAK_SPAWN_FLAGS_SHARE_PIDS)</span></dt><dd><p>
              Expose the sandbox process IDs in the caller's sandbox and
              the caller's process IDs in the new sandbox. Only supported
              if using user namespaces for containers (not setuid), see the
              support property.
             </p><p>
               This was added in version 5 of this interface (available from flatpak 1.10.0 and later).
             </p></dd><dt><span class="term">256 (FLATPAK_SPAWN_FLAGS_EMPTY_APP)</span></dt><dd><p>
               Don't provide app files at <code class="filename">/app</code> in the
               new sandbox. Instead, <code class="filename">/app</code> will be an
               empty directory. This flag and the <code class="option">app-fd</code>
               option are mutually exclusive.
             </p><p>
               As with the <code class="option">app-fd</code> option, the caller's
               Flatpak app files and extensions will be mounted on
               <code class="filename">/run/parent/app</code>, with
               filenames like <code class="filename">/run/parent/app/bin/myapp</code>.
             </p><p>
               This was added in version 6 of this interface (available from
               flatpak 1.12.0 and later).
             </p></dd></dl></div><p>
</p><p>        Unknown (unsupported) flags are an error and will cause Spawn()
        to fail.
</p><p>        Unknown (unsupported) options are ignored.
        The following options are supported:
         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">sandbox-expose as</span></dt><dd><p>
               A list of filenames for files inside the sandbox that will be exposed
               to the new sandbox, for reading and writing. Note that absolute paths
               or subdirectories are not allowed.
             </p><p>
               The files must be in the <code class="filename">sandbox</code> subdirectory of
               the instance directory (i.e. <code class="filename">~/.var/app/$APP_ID/sandbox</code>).
             </p></dd><dt><span class="term">sandbox-expose-ro as</span></dt><dd><p>
               A list of filenames for files inside the sandbox that will be exposed
               to the new sandbox, readonly. Note that absolute paths or subdirectories
               are not allowed.
             </p><p>
               The files must be in the <code class="filename">sandbox</code> subdirectory of
               the instance directory (i.e. <code class="filename">~/.var/app/$APP_ID/sandbox</code>).
             </p></dd><dt><span class="term">sandbox-expose-fd ah</span></dt><dd><p>
               A list of file descriptor for files inside the sandbox that will be exposed
               to the new sandbox, for reading and writing (if the caller has write access).
               The file descriptors must be opened with O_PATH and O_NOFOLLOW and cannot be symlinks.
             </p><p>
               This was added in version 3 of this interface (available from flatpak 1.6.0 and later).
             </p></dd><dt><span class="term">sandbox-expose-fd-ro ah</span></dt><dd><p>
               A list of file descriptor for files inside the sandbox that will be exposed
               to the new sandbox, readonly. The file descriptors must be opened with O_PATH and O_NOFOLLOW and cannot be symlinks.
             </p><p>
               This was added in version 3 of this interface (available from flatpak 1.6.0 and later).
             </p></dd><dt><span class="term">sandbox-flags u</span></dt><dd><p>
             Flags affecting the created sandbox. The following flags values are supported:
             </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">1</span></dt><dd><p>
                   Share the display access (X11, wayland) with the caller.
                 </p></dd><dt><span class="term">2</span></dt><dd><p>
                   Share the sound access (pulseaudio) with the caller.
                 </p></dd><dt><span class="term">4</span></dt><dd><p>
                   Share the gpu access with the caller.
                 </p></dd><dt><span class="term">8</span></dt><dd><p>
                   Allow sandbox access to (filtered) session bus.
                 </p></dd><dt><span class="term">16</span></dt><dd><p>
                   Allow sandbox access to accessibility bus.
                 </p></dd></dl></div><p>
</p><p>             </p><p>
             This was added in version 3 of this interface (available from flatpak 1.6.0 and later).
             </p></dd><dt><span class="term">unset-env as</span></dt><dd><p>
             A list of environment variables to unset (remove from the environment).
             </p><p>
             This was added in version 5 of this interface (available from flatpak 1.10.0 and later).
             </p></dd><dt><span class="term">usr-fd h</span></dt><dd><p>
               A file descriptor for the directory that will be used as
               <code class="filename">/usr</code> in the new sandbox, instead of the
               <code class="filename">files</code> directory
               from the caller's Flatpak runtime.
               The new sandbox's <code class="filename">/etc</code> will be based
               on the <code class="filename">etc</code> subdirectory of the given
               directory, and compatibility symlinks in its
               root directory (<code class="filename">/lib</code>,
               <code class="filename">/bin</code> and so on) will point into the
               given directory. The caller's Flatpak runtime and its
               extensions will be mounted on
               <code class="filename">/run/parent/usr</code>, with filenames like
               <code class="filename">/run/parent/usr/bin/env</code>,
               and compatibility symlinks like
               <code class="filename">/run/parent/bin</code> →
               <code class="filename">usr/bin</code>.
             </p><p>
               The file descriptor must be opened with O_PATH and
               O_NOFOLLOW and cannot be a symlink.
             </p><p>
               This was added in version 6 of this interface (available from
               flatpak 1.12.0 and later).
             </p></dd><dt><span class="term">app-fd h</span></dt><dd><p>
               A file descriptor for the directory that will be used as
               <code class="filename">/app</code> in the new sandbox, instead of the
               <code class="filename">files</code> directory
               from the caller's Flatpak app. The caller's Flatpak app
               files and extensions will be
               mounted on <code class="filename">/run/parent/app</code>, with
               filenames like <code class="filename">/run/parent/app/bin/myapp</code>.
             </p><p>
               This option and the
               <code class="option">FLATPAK_SPAWN_FLAGS_EMPTY_APP</code>
               flag are mutually exclusive.
             </p><p>
               The file descriptor must be opened with O_PATH and
               O_NOFOLLOW and cannot be a symlink.
             </p><p>
               This was added in version 6 of this interface (available from
               flatpak 1.12.0 and later).
             </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN ay <em class="parameter"><code>cwd_path</code></em></code>:</span></dt><dd><p>the working directory for the new process</p></dd><dt><span class="term"><code class="literal">IN aay <em class="parameter"><code>argv</code></em></code>:</span></dt><dd><p>the argv for the new process, starting with the executable to launch</p></dd><dt><span class="term"><code class="literal">IN a{uh} <em class="parameter"><code>fds</code></em></code>:</span></dt><dd><p>an array of file descriptors to pass to the new process</p></dd><dt><span class="term"><code class="literal">IN a{ss} <em class="parameter"><code>envs</code></em></code>:</span></dt><dd><p>an array of variable/value pairs for the environment of the new process</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>flags</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>the PID of the new process</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Flatpak.SpawnSignal"></a><h3>The SpawnSignal() method</h3><a id="idm45882997311680" class="indexterm"></a><pre class="programlisting">
SpawnSignal (IN  u pid,
             IN  u signal,
             IN  b to_process_group);
</pre><p>        This method lets you send a Unix signal to a process
        that was started with <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a>.
        The <em class="parameter"><code>pid</code></em> argument here should be the PID that is returned
        by the Spawn() call: it is not necessarily valid in the caller's
        PID namespace.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>the PID inside the container to signal</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>signal</code></em></code>:</span></dt><dd><p>the signal to send (see <span class="citerefentry"><span class="refentrytitle">signal</span>(7)</span>)</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>to_process_group</code></em></code>:</span></dt><dd><p>whether to send the signal to the process group</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Flatpak.CreateUpdateMonitor"></a><h3>The CreateUpdateMonitor() method</h3><a id="idm45882997298112" class="indexterm"></a><pre class="programlisting">
CreateUpdateMonitor (IN  a{sv} options,
                     OUT o     handle);
</pre><p>        Creates an update monitor object that will emit
        signals when an update for the caller becomes
        available, and can be used to install it.
</p><p>        The handle will be of the form /org/freedesktop/portal/Flatpak/update_monitor/SENDER/TOKEN,
        where SENDER is the caller's unique name, with the initial ':' removed and
        all '.' replaced by '_', and TOKEN is a unique token that the caller can optionally provide
        with the 'handle_token' key in the options vardict.
</p><p>        Currently, no other options are accepted.
</p><p>        This was added in version 2 of this interface (available from flatpak 1.5.0 and later).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Flatpak-UpdateMonitor.top_of_page">org.freedesktop.portal.Flatpak.UpdateMonitor</a> object</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Flatpak"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Flatpak.SpawnStarted"></a><h3>The "SpawnStarted" signal</h3><a id="idm45882997286032" class="indexterm"></a><pre class="programlisting">
SpawnStarted (u pid,
              u relpid);
</pre><p>        This is only non-zero if the expose PIDs flag (32) or the share
        PIDs flag (128) was passed to
        <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a>, and it may still be zero if
        the process exits before its relative PID could be read.
</p><p>        Emitted when a process started by <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a>
        has fully started. In other words, <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a> returns once the sandbox
        has been started, and this signal is emitted once the process inside
        itself is started.
</p><p>        Only emitted by version 4 of this interface (available from flatpak
        1.8.0 and later) and if the notify start flag (64) was passed to
        <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">u <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>the PID of the process that has been started</p></dd><dt><span class="term"><code class="literal">u <em class="parameter"><code>relpid</code></em></code>:</span></dt><dd><p>the PID of the process relative to the current namespace.</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Flatpak.SpawnExited"></a><h3>The "SpawnExited" signal</h3><a id="idm45882997273904" class="indexterm"></a><pre class="programlisting">
SpawnExited (u pid,
             u exit_status);
</pre><p>        Emitted when a process started by <a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak.Spawn" title="The Spawn() method">Spawn()</a>
        exits.
        Use g_spawn_check_exit_status(), or the macros such as
        WIFEXITED documented in
        <span class="citerefentry"><span class="refentrytitle">waitpid</span>(2)</span>,
        to interpret the <em class="parameter"><code>exit_status</code></em>.
</p><p>        This signal is not emitted for processes that were not launched
        directly by Spawn(), for example if a process launched by
        Spawn() runs foreground or background child processes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">u <em class="parameter"><code>pid</code></em></code>:</span></dt><dd><p>the PID of the process that has ended</p></dd><dt><span class="term"><code class="literal">u <em class="parameter"><code>exit_status</code></em></code>:</span></dt><dd><p>the wait status (see <span class="citerefentry"><span class="refentrytitle">waitpid</span>(2)</span>)</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.portal.Flatpak"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Flatpak.version"></a><h3>The "version" property</h3><a id="idm45882997260592" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-portal-Flatpak.supports"></a><h3>The "supports" property</h3><a id="idm45882997257232" class="indexterm"></a><pre class="programlisting">
supports  readable   u
</pre><p>        Flags marking what optional features are available.
         The following flags values are supported:
         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">1 (FLATPAK_SPAWN_SUPPORT_FLAGS_EXPOSE_PIDS)</span></dt><dd><p>
              Supports the expose sandbox pids flag of Spawn.
              If the version of this interface is 5 or later, this also
              indicates that the share sandbox pids flag is available.
             </p></dd></dl></div><p>
</p><p>         This was added in version 3 of this interface (available from flatpak 1.6.0 and later).
</p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.portal.Flatpak.UpdateMonitor"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.portal.Flatpak.UpdateMonitor</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak-UpdateMonitor.Close" title="The Close() method">Close</a>  ();
<a class="link" href="#gdbus-method-org-freedesktop-portal-Flatpak-UpdateMonitor.Update" title="The Update() method">Update</a> (IN  s     parent_window,
        IN  a{sv} options);
</pre></div><div class="refsect1"><a id="idm45883002176464"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.UpdateAvailable" title="The &quot;UpdateAvailable&quot; signal">UpdateAvailable</a> (a{sv} update_info);
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.Progress" title="The &quot;Progress&quot; signal">Progress</a>        (a{sv} info);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-portal-Flatpak-UpdateMonitor"></a><h2>Description</h2><p></p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.portal.Flatpak.UpdateMonitor"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Flatpak-UpdateMonitor.Close"></a><h3>The Close() method</h3><a id="idm45882997389168" class="indexterm"></a><pre class="programlisting">
Close ();
</pre><p>        Ends the update monitoring and cancels any ongoing
        installation.
</p></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-portal-Flatpak-UpdateMonitor.Update"></a><h3>The Update() method</h3><a id="idm45882997459840" class="indexterm"></a><pre class="programlisting">
Update (IN  s     parent_window,
        IN  a{sv} options);
</pre><p>          see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>options</code></em>: Vardict with optional further information
</p><p>        Asks to install an update of the calling app.
        During the installation,
        <a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.Progress" title="The &quot;Progress&quot; signal">"Progress"</a>
        signals will be emitted to communicate the status
        and progress.
</p><p>        Note that updates are only allowed if the new version
        has the same permissions (or less) than the currently installed
        version. If the new version requires a new permission then the
        operation will fail with the error org.freedesktop.DBus.Error.NotSupported
        and updates has to be done with the system tools.
</p><p>        Currently, no options are accepted.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window,</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.portal.Flatpak.UpdateMonitor"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.UpdateAvailable"></a><h3>The "UpdateAvailable" signal</h3><a id="idm45882998347168" class="indexterm"></a><pre class="programlisting">
UpdateAvailable (a{sv} update_info);
</pre><p>        Gets emitted when a new update is available. This is only
        sent once with the same information, but can be sent many
        times if new updates appear.
</p><p>        The following information may be included in the
        <em class="parameter"><code>update_info</code></em> dictionary:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">running-commit s</span></dt><dd><p>
              The commit of the currently running instance.
            </p></dd><dt><span class="term">local-commit s</span></dt><dd><p>
              The commit that is currently installed. Restarting
              the application will cause this commit to be used.
            </p></dd><dt><span class="term">remote-commit s</span></dt><dd><p>
              The commit that is available as an update from the
              remote. Updating the application will deploy this
              commit.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>update_info</code></em></code>:</span></dt><dd><p>More information about the available update</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.Progress"></a><h3>The "Progress" signal</h3><a id="idm45882998333760" class="indexterm"></a><pre class="programlisting">
Progress (a{sv} info);
</pre><p>      Gets emitted to indicate progress of the installation.  It's
      undefined exactly how often this is sent, but it will be emitted
      at least once at the end with non-zero status field. For each
      successful operation in the update we're also guaranteed to send
      one (and only one) signal with progress 100.
</p><p>      The following fields may be included in the info:
         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">n_ops u</span></dt><dd><p>
               The number of operations that the update
               consists of.
             </p></dd><dt><span class="term">op u</span></dt><dd><p>
               The position of the currently active
               operation.
             </p></dd><dt><span class="term">progress u</span></dt><dd><p>
               The progress of the currently active
               operation, as a number between 0 and 100.
             </p></dd><dt><span class="term">status u</span></dt><dd><p>
               The overall status of the update.
               </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Running</td></tr><tr><td>1: Empty. No update to install</td></tr><tr><td>2: Done</td></tr><tr><td>3: Failed</td></tr></table><p>
             </p></dd><dt><span class="term">error s</span></dt><dd><p>
               The error name, sent when status is Failed
             </p></dd><dt><span class="term">error_message s</span></dt><dd><p>
               The error message, sent when status is Failed
             </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>info</code></em></code>:</span></dt><dd><p>More information about the update progress</p></dd></dl></div></div></div></div></div><div class="reference"><div class="titlepage"><div><div><h1 class="title"><a id="idm45883005466768"></a>Portal Backend API Reference</h1></div></div><hr /></div><div class="partintro"><div></div><p>
      The backend interfaces are used by the portal frontend to
      carry out portal requests. They are provided by a separate process
      (or processes), and are not accessible to sandboxed applications.
    </p><p>
      The separation or the portal infrastructure into frontend and backend
      is a clean way to provide suitable user interfaces that fit into
      different desktop environments, while sharing the portal frontend.
    </p><p>
      The portal backends are focused on providing user interfaces and
      accessing session- or host-specific APIs and resources. Details of
      interacting with the containment infrastructure such as checking
      access, registering files in the document portal, etc., are handled
      by the portal frontend.
    </p><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Account">org.freedesktop.impl.portal.Account</a></span><span class="refpurpose"> — Backend for the portal for obtaining user information</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Request">org.freedesktop.impl.portal.Request</a></span><span class="refpurpose"> — Shared request interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Session">org.freedesktop.impl.portal.Session</a></span><span class="refpurpose"> — Shared session interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.FileChooser">org.freedesktop.impl.portal.FileChooser</a></span><span class="refpurpose"> — File chooser portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.AppChooser">org.freedesktop.impl.portal.AppChooser</a></span><span class="refpurpose"> — Interface for choosing an application</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Print">org.freedesktop.impl.portal.Print</a></span><span class="refpurpose"> — Print portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Email">org.freedesktop.impl.portal.Email</a></span><span class="refpurpose"> — Email portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Screenshot">org.freedesktop.impl.portal.Screenshot</a></span><span class="refpurpose"> — Screenshot portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.ScreenCast">org.freedesktop.impl.portal.ScreenCast</a></span><span class="refpurpose"> — Screen cast portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.RemoteDesktop">org.freedesktop.impl.portal.RemoteDesktop</a></span><span class="refpurpose"> — Remote desktop portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Notification">org.freedesktop.impl.portal.Notification</a></span><span class="refpurpose"> — Notification portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Inhibit">org.freedesktop.impl.portal.Inhibit</a></span><span class="refpurpose"> — Inhibit portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Access">org.freedesktop.impl.portal.Access</a></span><span class="refpurpose"> — Interface for presenting an access dialog</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Settings">org.freedesktop.impl.portal.Settings</a></span><span class="refpurpose"> — Settings portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Secret">org.freedesktop.impl.portal.Secret</a></span><span class="refpurpose"> — Secret portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Lockdown">org.freedesktop.impl.portal.Lockdown</a></span><span class="refpurpose"> — Lockdown backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Background">org.freedesktop.impl.portal.Background</a></span><span class="refpurpose"> — Background portal backend interface</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.PermissionStore">org.freedesktop.impl.portal.PermissionStore</a></span><span class="refpurpose"> — Database to store permissions</span></dt><dt><span class="refentrytitle"><a href="#gdbus-org.freedesktop.impl.portal.Wallpaper">org.freedesktop.impl.portal.Wallpaper</a></span><span class="refpurpose"> — Portal for setting the desktop's Wallpaper</span></dt></dl></div></div><div class="refentry"><a id="gdbus-org.freedesktop.impl.portal.Account"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Account — Backend for the portal for obtaining user information</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Account.GetUserInformation" title="The GetUserInformation() method">GetUserInformation</a> (IN  o     handle,
                    IN  s     app_id,
                    IN  s     window,
                    IN  a{sv} options,
                    OUT u     response,
                    OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Account"></a><h2>Description</h2><p>      This Account portal lets sandboxed applications query basic
      information about the user, like his name and avatar photo.
      The portal backend will present the user with a dialog to confirm
      which (if any) information to share.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Account"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Account.GetUserInformation"></a><h3>The GetUserInformation() method</h3><a id="idm45882997503536" class="indexterm"></a><pre class="programlisting">
GetUserInformation (IN  o     handle,
                    IN  s     app_id,
                    IN  s     window,
                    IN  a{sv} options,
                    OUT u     response,
                    OUT a{sv} results);
</pre><p>        Gets information about the user.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">reason s</span></dt><dd><p>
              A string that can be shown in the dialog to expain why the information is needed.
              This should be a complete sentence that explains what the application will do with
              the returned information, for example: Allows your personal information to be included
              with recipes you share with your friends.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">id s</span></dt><dd><p>
              The user id.
            </p></dd><dt><span class="term">name s</span></dt><dd><p>
                The users real name.
              </p></dd><dt><span class="term">image s</span></dt><dd><p>
                The uri of an image file for the users avatar photo.
              </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>Identifier for the window</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Request"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Request — Shared request interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Request.Close" title="The Close() method">Close</a> ();
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Request"></a><h2>Description</h2><p>      The Request interface is shared by all portal backend interfaces.
      When a backend method is called, the backend exports a Request object
      on the object path that was sent with the method call. The Request
      will stay alive for the duration of the user interaction related to
      the method call.
</p><p>      The portal can abort the interaction calling
      <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Request.Close" title="The Close() method">Close()</a> on the Request object.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Request"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Request.Close"></a><h3>The Close() method</h3><a id="idm45882998163248" class="indexterm"></a><pre class="programlisting">
Close ();
</pre><p>        Ends the user interaction to which this object refers.
        Dialogs and other UIs related to the request should be closed.
</p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Session"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Session — Shared session interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Session.Close" title="The Close() method">Close</a> ();
</pre></div><div class="refsect1"><a id="idm45883001550112"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Session.Closed" title="The &quot;Closed&quot; signal">Closed</a> ();
</pre></div><div class="refsect1"><a id="idm45882997574032"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Session.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Session"></a><h2>Description</h2><p>      The Session interface is shared by all portal interfaces that involve
      long lived sessions.  When a method that creates a session is called, the
      reply will include a session handle (i.e. object path) for a Session
      object, which will stay alive for the duration of the session.
</p><p>      The portal can abort the interaction by calling
      <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Session.Close" title="The Close() method">Close()</a> on the Session object.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Session"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Session.Close"></a><h3>The Close() method</h3><a id="idm45882997483072" class="indexterm"></a><pre class="programlisting">
Close ();
</pre><p>        Close the session.
</p></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.Session"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-Session.Closed"></a><h3>The "Closed" signal</h3><a id="idm45882997477664" class="indexterm"></a><pre class="programlisting">
Closed ();
</pre><p>        The session was closed by the portal implementation.
</p></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.Session"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Session.version"></a><h3>The "version" property</h3><a id="idm45882997605408" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.FileChooser"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.FileChooser — File chooser portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile</a>  (IN  o     handle,
           IN  s     app_id,
           IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT u     response,
           OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-FileChooser.SaveFile" title="The SaveFile() method">SaveFile</a>  (IN  o     handle,
           IN  s     app_id,
           IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT u     response,
           OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-FileChooser.SaveFiles" title="The SaveFiles() method">SaveFiles</a> (IN  o     handle,
           IN  s     app_id,
           IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT u     response,
           OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-FileChooser"></a><h2>Description</h2><p>      The FileChooser portal allows sandboxed applications to ask
      the user for access to files outside the sandbox. The portal
      backend will present the user with a file chooser dialog.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.FileChooser"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-FileChooser.OpenFile"></a><h3>The OpenFile() method</h3><a id="idm45882997469984" class="indexterm"></a><pre class="programlisting">
OpenFile (IN  o     handle,
          IN  s     app_id,
          IN  s     parent_window,
          IN  s     title,
          IN  a{sv} options,
          OUT u     response,
          OUT a{sv} results);
</pre><p>        Presents a file chooser dialog to the user to open one or more files.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">accept_label s</span></dt><dd><p>
              The label for the accept button. Mnemonic underlines are allowed.
            </p></dd><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Default is yes.
            </p></dd><dt><span class="term">multiple b</span></dt><dd><p>
              Whether to allow selection of multiple files. Default is no.
            </p></dd><dt><span class="term">directory b</span></dt><dd><p>
              Whether to select for folders instead of files. Default is to select files.
            </p></dd><dt><span class="term">filters a(sa(us))</span></dt><dd><p>
              A list of serialized file filters.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
              Request that this filter be set by default at dialog creation.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
              A list of serialized combo boxes.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
              An array of strings containing the uris of the selected files.
            </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
              An array of pairs of strings, corresponding to the passed-in choices.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
                The filter that was selected.
                See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
              </p></dd><dt><span class="term">writable b</span></dt><dd><p>
              Whether the file is opened with write access. Default is no.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-FileChooser.SaveFile"></a><h3>The SaveFile() method</h3><a id="idm45882997536176" class="indexterm"></a><pre class="programlisting">
SaveFile (IN  o     handle,
          IN  s     app_id,
          IN  s     parent_window,
          IN  s     title,
          IN  a{sv} options,
          OUT u     response,
          OUT a{sv} results);
</pre><p>        Presents a file chooser dialog to the user to save a file.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">accept_label s</span></dt><dd><p>
              The label for the accept button. Mnemonic underlines are allowed.
            </p></dd><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Default is yes.
            </p></dd><dt><span class="term">multiple b</span></dt><dd><p>
              Whether to allow selection of multiple files. Default is no.
            </p></dd><dt><span class="term">filters a(sa(us))</span></dt><dd><p>
              A list of serialized file filters.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
              Request that this filter be set by default at dialog creation.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
              A list of serialized combo boxes.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">current_name s</span></dt><dd><p>
              A suggested filename.
            </p></dd><dt><span class="term">current_folder ay</span></dt><dd><p>
              A suggested folder to save the file in.
            </p></dd><dt><span class="term">current_file ay</span></dt><dd><p>
              The current file (when saving an existing file).
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
              An array of strings containing the uri of the selected file.
            </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
              An array of pairs of strings, corresponding to the passed-in choices.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd><dt><span class="term">current_filter (sa(us))</span></dt><dd><p>
                The filter that was selected.
                See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
              </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-FileChooser.SaveFiles"></a><h3>The SaveFiles() method</h3><a id="idm45882997891696" class="indexterm"></a><pre class="programlisting">
SaveFiles (IN  o     handle,
           IN  s     app_id,
           IN  s     parent_window,
           IN  s     title,
           IN  a{sv} options,
           OUT u     response,
           OUT a{sv} results);
</pre><p>      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.
</p><p>      Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">handle_token s</span></dt><dd><p>
            A string that will be used as the last element of the
            <em class="parameter"><code>handle</code></em>. Must be a valid object path element. See the
            <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> documentation for more
            information about the <em class="parameter"><code>handle</code></em>.
          </p></dd><dt><span class="term">accept_label s</span></dt><dd><p>
            Label for the accept button. Mnemonic underlines are allowed.
          </p></dd><dt><span class="term">modal b</span></dt><dd><p>
            Whether the dialog should be modal. Default is yes.
          </p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
            List of serialized combo boxes.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd><dt><span class="term">current_folder ay</span></dt><dd><p>
              Suggested folder to save the files in. The byte array is
              expected to be null-terminated.
            </p></dd><dt><span class="term">files aay</span></dt><dd><p>
              An array of file names to be saved. The array and byte
              arrays are expected to be null-terminated.
            </p></dd></dl></div><p>
</p><p>      The following results get returned via the
      <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uris as</span></dt><dd><p>
            An array of strings containing the uri corresponding to
            each file given by <em class="parameter"><code>options</code></em>, 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.
          </p></dd><dt><span class="term">choices a(ss)</span></dt><dd><p>
            An array of pairs of strings, corresponding to the passed-in choices.
            See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
          </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Request.top_of_page">org.freedesktop.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the file chooser dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.AppChooser"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.AppChooser — Interface for choosing an application</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-AppChooser.ChooseApplication" title="The ChooseApplication() method">ChooseApplication</a> (IN  o     handle,
                   IN  s     app_id,
                   IN  s     parent_window,
                   IN  as    choices,
                   IN  a{sv} options,
                   OUT u     response,
                   OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-AppChooser.UpdateChoices" title="The UpdateChoices() method">UpdateChoices</a>     (IN  o     handle,
                   IN  as    choices);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-AppChooser"></a><h2>Description</h2><p>      This backend can be used by portal implementations that
      need to choose an application from a list of applications.
</p><p>      This documentation describes version 2 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.AppChooser"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-AppChooser.ChooseApplication"></a><h3>The ChooseApplication() method</h3><a id="idm45883004478320" class="indexterm"></a><pre class="programlisting">
ChooseApplication (IN  o     handle,
                   IN  s     app_id,
                   IN  s     parent_window,
                   IN  as    choices,
                   IN  a{sv} options,
                   OUT u     response,
                   OUT a{sv} results);
</pre><p>        Presents a list of applications to the user to choose one.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">last_choice s</span></dt><dd><p>The app id that was selected the last time.</p></dd><dt><span class="term">modal b</span></dt><dd><p>Whether to make the dialog modal. Defaults to yes.</p></dd><dt><span class="term">content_type s</span></dt><dd><p>The content type to choose an application for.</p></dd><dt><span class="term">uri s</span></dt><dd><p>The uri to choose an application for.</p></dd><dt><span class="term">filename s</span></dt><dd><p>The filename to choose an application for. Note that this
               is just a basename, without a path.</p></dd><dt><span class="term">activation_token s</span></dt><dd><p>
              A token that can be used to activate the application chooser.
            </p><p>
              The activation_token option was introduced in version 2 of the interface.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">choice s</span></dt><dd><p>The app id that was selected.</p></dd><dt><span class="term">activation_token s</span></dt><dd><p>
              A token that can be used to activate the chosen application. If
              the application selection has involved user interaction, a new
              token should be generated by the portal implementation.
              Otherwise, this token may be the same as the one passed in
              <em class="parameter"><code>options</code></em>.
            </p><p>
              The activation_token option was introduced in version 2 of the interface.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path to export the Request object at</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>choices</code></em></code>:</span></dt><dd><p>App ids of applications to let the user choose from</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-AppChooser.UpdateChoices"></a><h3>The UpdateChoices() method</h3><a id="idm45882997727824" class="indexterm"></a><pre class="programlisting">
UpdateChoices (IN  o  handle,
               IN  as choices);
</pre><p>        This method can be called between the time of a ChooseApplication call
        and receiving the Response signal, to update the list of applications
        that are offered by the backend.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>the request handle</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>choices</code></em></code>:</span></dt><dd><p>App ids of applications to let the user choose from</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Print"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Print — Print portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Print.Print" title="The Print() method">Print</a>        (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  s     title,
              IN  h     fd,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Print.PreparePrint" title="The PreparePrint() method">PreparePrint</a> (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  s     title,
              IN  a{sv} settings,
              IN  a{sv} page_setup,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Print"></a><h2>Description</h2><p>      The Print portal allows sandboxed applications to print.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Print"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Print.Print"></a><h3>The Print() method</h3><a id="idm45882998173616" class="indexterm"></a><pre class="programlisting">
Print (IN  o     handle,
       IN  s     app_id,
       IN  s     parent_window,
       IN  s     title,
       IN  h     fd,
       IN  a{sv} options,
       OUT u     response,
       OUT a{sv} results);
</pre><p>        Prints a file.
</p><p>        The file is given in the form of a file descriptor open for reading.
</p><p>        If a valid token is present in the <em class="parameter"><code>options</code></em>, 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.
</p><p>        Note that it is up to the portal implementation to determine how long
        it considers tokens valid.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Defaults to yes.
            </p></dd><dt><span class="term">token u</span></dt><dd><p>
              Token that was returned by a previous <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Print.PreparePrint" title="The PreparePrint() method">PreparePrint()</a> call.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the print dialog</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>File descriptor from which to read the content to print</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Print.PreparePrint"></a><h3>The PreparePrint() method</h3><a id="idm45882997836128" class="indexterm"></a><pre class="programlisting">
PreparePrint (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  s     title,
              IN  a{sv} settings,
              IN  a{sv} page_setup,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre><p>        Presents a print dialog to the user and returns print settings
        and page setup.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">modal b</span></dt><dd><p>
              Whether to make the dialog modal. Defaults to yes.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">settings a{sv}</span></dt><dd><p>
              Print settings as set up by the user in the print dialog.
            </p></dd><dt><span class="term">page-setup a{sv}</span></dt><dd><p>
              Page setup as set up by the user in the print dialog.
            </p></dd><dt><span class="term">token u</span></dt><dd><p>
              Token that can be passed to a subsequent <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Print.Print" title="The Print() method">Print()</a> call to
              bypass the print dialog.
            </p></dd></dl></div><p>
</p><p>        The <a class="link" href="#gdbus-method-org-freedesktop-portal-Print.Print" title="The Print() method">Print()</a> documentation has details about
        the supported keys in settings and page-setup.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the print dialog</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>settings</code></em></code>:</span></dt><dd><p>Serialized print settings</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>page_setup</code></em></code>:</span></dt><dd><p>Serialized page setup</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Email"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Email — Email portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Email.ComposeEmail" title="The ComposeEmail() method">ComposeEmail</a> (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Email"></a><h2>Description</h2><p>      This Email portal lets sandboxed applications request sending an email.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Email"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Email.ComposeEmail"></a><h3>The ComposeEmail() method</h3><a id="idm45882998223968" class="indexterm"></a><pre class="programlisting">
ComposeEmail (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre><p>        Lets the user compose an email.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">address s</span></dt><dd><p>
              The email address to send to.
            </p></dd><dt><span class="term">addresses as</span></dt><dd><p>
              Email addresses to send to.
            </p></dd><dt><span class="term">cc as</span></dt><dd><p>
              Email addresses to cc.
            </p></dd><dt><span class="term">bcc as</span></dt><dd><p>
              Email addresses to bcc.
            </p></dd><dt><span class="term">subject s</span></dt><dd><p>
              The subject for the email.
            </p></dd><dt><span class="term">body s</span></dt><dd><p>
              The body for the email.
            </p></dd><dt><span class="term">attachments as</span></dt><dd><p>
              The uris for files to attach.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Screenshot"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Screenshot — Screenshot portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Screenshot.Screenshot" title="The Screenshot() method">Screenshot</a> (IN  o     handle,
            IN  s     app_id,
            IN  s     parent_window,
            IN  a{sv} options,
            OUT u     response,
            OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Screenshot.PickColor" title="The PickColor() method">PickColor</a>  (IN  o     handle,
            IN  s     app_id,
            IN  s     parent_window,
            IN  a{sv} options,
            OUT u     response,
            OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Screenshot"></a><h2>Description</h2><p>      This screenshot portal lets sandboxed applications request a screenshot.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Screenshot"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Screenshot.Screenshot"></a><h3>The Screenshot() method</h3><a id="idm45882998477648" class="indexterm"></a><pre class="programlisting">
Screenshot (IN  o     handle,
            IN  s     app_id,
            IN  s     parent_window,
            IN  a{sv} options,
            OUT u     response,
            OUT a{sv} results);
</pre><p>        Takes a screenshot.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">modal b</span></dt><dd><p>
              Whether the dialog should be modal. Defaults to yes.
            </p></dd><dt><span class="term">interactive b</span></dt><dd><p>
              Hint whether the dialog should offer customization before taking a screenshot.
              Defaults to no.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">uri s</span></dt><dd><p>A string containing the uri of the screenshot.</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Screenshot.PickColor"></a><h3>The PickColor() method</h3><a id="idm45882997823168" class="indexterm"></a><pre class="programlisting">
PickColor (IN  o     handle,
           IN  s     app_id,
           IN  s     parent_window,
           IN  a{sv} options,
           OUT u     response,
           OUT a{sv} results);
</pre><p>        Obtains the value of a pixel.
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">color (ddd)</span></dt><dd><p>The color, rgb values in the range [0,1].</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.ScreenCast"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.ScreenCast — Screen cast portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-ScreenCast.CreateSession" title="The CreateSession() method">CreateSession</a> (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-ScreenCast.SelectSources" title="The SelectSources() method">SelectSources</a> (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-ScreenCast.Start" title="The Start() method">Start</a>         (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  s     parent_window,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
</pre></div><div class="refsect1"><a id="idm45883001290576"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-ScreenCast.AvailableSourceTypes" title="The &quot;AvailableSourceTypes&quot; property">AvailableSourceTypes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-ScreenCast.AvailableCursorModes" title="The &quot;AvailableCursorModes&quot; property">AvailableCursorModes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-ScreenCast.version" title="The &quot;version&quot; property">version</a>               readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-ScreenCast"></a><h2>Description</h2><p>      The Screen cast portal allows to create screen cast sessions.
</p><p>      This documentation describes version 4 of this interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.ScreenCast"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-ScreenCast.CreateSession"></a><h3>The CreateSession() method</h3><a id="idm45882998457056" class="indexterm"></a><pre class="programlisting">
CreateSession (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
</pre><p>        Create a screen cast session.
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session_id s</span></dt><dd><p>
              The session id. A string representing the created screen cast session.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Session.top_of_page">org.freedesktop.impl.portal.Session</a> object representing the session being created</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-ScreenCast.SelectSources"></a><h3>The SelectSources() method</h3><a id="idm45882998415456" class="indexterm"></a><pre class="programlisting">
SelectSources (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
</pre><p>        Configure what the screen cast session should record.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">types u</span></dt><dd><p>
              Bitmask of what type of content to record. Default is MONITOR.
            </p></dd><dt><span class="term">multiple b</span></dt><dd><p>
              Whether to allow selecting multiple sources. Default is no.
            </p></dd><dt><span class="term">restore_data (suv)</span></dt><dd><p>
              The data to restore from a previous session.
            </p><p>
              If the stored session cannot be restored, this value is ignored
              and the user will be prompted normally. This may happen when, for
              example, the session contains a monitor or a window that is not
              available anymore, or when the stored permissions are withdrawn.
            </p><p>
              The restore data is composed of the vendor name (e.g. "GNOME" or
              "KDE"), the version of the implementation-specific private data,
              and the implementation-specific private data itself.
            </p><p>
              This option was added in version 4 of this interface.
            </p></dd><dt><span class="term">persist_mode u</span></dt><dd><p>
              How this session should persist. Default is 0. Accepted values are:
            </p><p>
              </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Do not persist (default)</td></tr><tr><td>1: Permissions persist as long as the application is running</td></tr><tr><td>2: Permissions persist until explicitly revoked</td></tr></table><p>
            </p><p>
              If the permission for the session to persist is granted, a restore token will
              be returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal of the
              <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>.SelectSources method.
            </p><p>
              This option was added in version 4 of this interface.
            </p></dd></dl></div><p>
</p><p>        For available source types, see the AvailableSourceTypes property.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Session.top_of_page">org.freedesktop.impl.portal.Session</a> object representing the session</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-ScreenCast.Start"></a><h3>The Start() method</h3><a id="idm45882996613440" class="indexterm"></a><pre class="programlisting">
Start (IN  o     handle,
       IN  o     session_handle,
       IN  s     app_id,
       IN  s     parent_window,
       IN  a{sv} options,
       OUT u     response,
       OUT a{sv} results);
</pre><p>        Start the screen cast session. This will typically result the portal presenting
        a dialog letting the user do the selection set up by SelectSources.
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">streams a(ua{sv})</span></dt><dd><p>
              An array of PipeWire streams. Each stream consists of a PipeWire
              node ID (the first element in the tuple, and a Vardict of
              properties.
</p><p>              The array will contain a single stream if 'multiple' (see
              SelectSources) was set to 'false', or at least one stream if
              'multiple' was set to 'true' as part of the SelectSources method.
            </p></dd><dt><span class="term">persist_mode u</span></dt><dd><p>
              Portal implementations can optionally offer ways to "reduce" the
              persist mode, for example by explicitly asking the user. See the
              'persist_mode' option of SelectSources for a list of possible
              values.
</p><p>              If no persist mode is returned by the Start request, it is assumed
              to be the same persist mode received during SelectSources.
</p><p>              This option was added in version 4 of this interface.
            </p></dd><dt><span class="term">restore_data (suv)</span></dt><dd><p>
              The data to be restored. This is the data that a portal
              implementation sent in reaction to transient or persistent
              modes.
            </p><p>
              This data will be stored in the permission store if the effective
              persist mode is 2, and may be passed in the future as part of the
              SelectSources() method call. The portal backend should store enough
              information in 'restore_data' to be able to restore the session
              later. The portal backend can deal with unavailable sources however
              they see fit.
            </p><p>
              Data generated by a portal implementation must be consumable by
              the same portal implementation, but not necessarily by others.
              Thus, it is important to properly handle 'restore_data' not being
              in a valid format. This may happen when, e.g., the user switched
              to another desktop environment, or is using a different portal
              implementation.
            </p><p>
              This response option was added in version 4 of this interface.
            </p></dd></dl></div><p>
</p><p>        Stream properties include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">position (ii)</span></dt><dd><p>
              A tuple consisting of the position (x, y) in the compositor
              coordinate space. Note that the position may not be equivalent to a
              position in a pixel coordinate space. Only available for monitor
              streams.
            </p></dd><dt><span class="term">size (ii)</span></dt><dd><p>
              A tuple consisting of (width, height). The size represents the size
              of the stream as it is displayed in the compositor coordinate
              space. Note that this size may not be equivalent to a size in a
              pixel coordinate space. The size may differ from the size of the
              stream.
            </p></dd><dt><span class="term">source_type u</span></dt><dd><p>
              The type of the content which is being screen casted.
              For available source types, see the AvailableSourceTypes property.
              This property was added in version 3 of this interface.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Session.top_of_page">org.freedesktop.impl.portal.Session</a> object representing the session</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.ScreenCast"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-ScreenCast.AvailableSourceTypes"></a><h3>The "AvailableSourceTypes" property</h3><a id="idm45882996577520" class="indexterm"></a><pre class="programlisting">
AvailableSourceTypes  readable   u
</pre><p>        A bitmask of available source types. Currently defined types are:
</p><p>        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: MONITOR</td></tr><tr><td>2: WINDOW</td></tr><tr><td>4: VIRTUAL</td></tr></table><p>
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-ScreenCast.AvailableCursorModes"></a><h3>The "AvailableCursorModes" property</h3><a id="idm45882996571456" class="indexterm"></a><pre class="programlisting">
AvailableCursorModes  readable   u
</pre><p>        Available cursor mode values:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Hidden. The cursor is not part of the screen cast stream.</td></tr><tr><td>2: Embedded: The cursor is embedded as part of the stream buffers.</td></tr><tr><td>4: Metadata: The cursor is not part of the screen cast stream, but sent as PipeWire stream metadata.</td></tr></table><p>
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-ScreenCast.version"></a><h3>The "version" property</h3><a id="idm45882996565520" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.RemoteDesktop"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.RemoteDesktop — Remote desktop portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.CreateSession" title="The CreateSession() method">CreateSession</a>               (IN  o     handle,
                             IN  o     session_handle,
                             IN  s     app_id,
                             IN  a{sv} options,
                             OUT u     response,
                             OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.SelectDevices" title="The SelectDevices() method">SelectDevices</a>               (IN  o     handle,
                             IN  o     session_handle,
                             IN  s     app_id,
                             IN  a{sv} options,
                             OUT u     response,
                             OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.Start" title="The Start() method">Start</a>                       (IN  o     handle,
                             IN  o     session_handle,
                             IN  s     app_id,
                             IN  s     parent_window,
                             IN  a{sv} options,
                             OUT u     response,
                             OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerMotion" title="The NotifyPointerMotion() method">NotifyPointerMotion</a>         (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  d     dx,
                             IN  d     dy);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerMotionAbsolute" title="The NotifyPointerMotionAbsolute() method">NotifyPointerMotionAbsolute</a> (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerButton" title="The NotifyPointerButton() method">NotifyPointerButton</a>         (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     button,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerAxis" title="The NotifyPointerAxis() method">NotifyPointerAxis</a>           (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  d     dx,
                             IN  d     dy);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerAxisDiscrete" title="The NotifyPointerAxisDiscrete() method">NotifyPointerAxisDiscrete</a>   (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     axis,
                             IN  i     steps);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyKeyboardKeycode" title="The NotifyKeyboardKeycode() method">NotifyKeyboardKeycode</a>       (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     keycode,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyKeyboardKeysym" title="The NotifyKeyboardKeysym() method">NotifyKeyboardKeysym</a>        (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  i     keysym,
                             IN  u     state);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchDown" title="The NotifyTouchDown() method">NotifyTouchDown</a>             (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  u     slot,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchMotion" title="The NotifyTouchMotion() method">NotifyTouchMotion</a>           (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  u     slot,
                             IN  d     x,
                             IN  d     y);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchUp" title="The NotifyTouchUp() method">NotifyTouchUp</a>               (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     slot);
</pre></div><div class="refsect1"><a id="idm45882996764624"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-RemoteDesktop.AvailableDeviceTypes" title="The &quot;AvailableDeviceTypes&quot; property">AvailableDeviceTypes</a>  readable   u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-RemoteDesktop.version" title="The &quot;version&quot; property">version</a>               readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-RemoteDesktop"></a><h2>Description</h2><p>      The Remote desktop portal allows to create remote desktop sessions.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.RemoteDesktop"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.CreateSession"></a><h3>The CreateSession() method</h3><a id="idm45882997057808" class="indexterm"></a><pre class="programlisting">
CreateSession (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
</pre><p>        Create a remote desktop session.
</p><p>        A remote desktop session is used to allow remote controlling a desktop
        session. It can also be used together with a screen cast session (see
        org.freedesktop.portal.ScreenCast), but may only be started and stopped
        with this interface.
</p><p>        The following results get returned via the <a class="link" href="#gdbus-signal-org-freedesktop-portal-Request.Response" title="The &quot;Response&quot; signal">"Response"</a> signal:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">session s</span></dt><dd><p>
              The session id. A string representing the created screen cast session.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.SelectDevices"></a><h3>The SelectDevices() method</h3><a id="idm45882996562192" class="indexterm"></a><pre class="programlisting">
SelectDevices (IN  o     handle,
               IN  o     session_handle,
               IN  s     app_id,
               IN  a{sv} options,
               OUT u     response,
               OUT a{sv} results);
</pre><p></p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.Start"></a><h3>The Start() method</h3><a id="idm45882996542656" class="indexterm"></a><pre class="programlisting">
Start (IN  o     handle,
       IN  o     session_handle,
       IN  s     app_id,
       IN  s     parent_window,
       IN  a{sv} options,
       OUT u     response,
       OUT a{sv} results);
</pre><p>        Start the remote desktop session.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerMotion"></a><h3>The NotifyPointerMotion() method</h3><a id="idm45882996519360" class="indexterm"></a><pre class="programlisting">
NotifyPointerMotion (IN  o     session_handle,
                     IN  a{sv} options,
                     IN  d     dx,
                     IN  d     dy);
</pre><p>        Notify about a new relative pointer motion event. The (dx, dy) vector
        represents the new pointer position in the streams logical coordinate
        space.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dx</code></em></code>:</span></dt><dd><p>Relative movement on the x axis</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dy</code></em></code>:</span></dt><dd><p>Relative movement on the y axis</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerMotionAbsolute"></a><h3>The NotifyPointerMotionAbsolute() method</h3><a id="idm45882996503072" class="indexterm"></a><pre class="programlisting">
NotifyPointerMotionAbsolute (IN  o     session_handle,
                             IN  a{sv} options,
                             IN  u     stream,
                             IN  d     x,
                             IN  d     y);
</pre><p>        Notify about a new absolute pointer motion event. The (x, y) position
        represents the new pointer position in the streams logical coordinate
        space (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Pointer motion x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Pointer motion y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerButton"></a><h3>The NotifyPointerButton() method</h3><a id="idm45882996483584" class="indexterm"></a><pre class="programlisting">
NotifyPointerButton (IN  o     session_handle,
                     IN  a{sv} options,
                     IN  i     button,
                     IN  u     state);
</pre><p>        The pointer button is encoded according to Linux Evdev button codes.
</p><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Available button states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>button</code></em></code>:</span></dt><dd><p>The pointer button was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>The new state of the button</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerAxis"></a><h3>The NotifyPointerAxis() method</h3><a id="idm45882996465152" class="indexterm"></a><pre class="programlisting">
NotifyPointerAxis (IN  o     session_handle,
                   IN  a{sv} options,
                   IN  d     dx,
                   IN  d     dy);
</pre><p>        The axis movement from a 'smooth scroll' device, such as a touchpad.
        When applicable, the size of the motion delta should be equivalent to
        the motion vector of a pointer motion done using the same advice.
</p><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">finish b</span></dt><dd><p>
              If set to true, this is the last axis event in a series, for
              example as a result of the fingers being lifted from a touchpad
              after a two-finger scroll.  Default is false.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dx</code></em></code>:</span></dt><dd><p>Relative axis movement on the x axis</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>dy</code></em></code>:</span></dt><dd><p>Relative axis movement on the y axis</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyPointerAxisDiscrete"></a><h3>The NotifyPointerAxisDiscrete() method</h3><a id="idm45882996445072" class="indexterm"></a><pre class="programlisting">
NotifyPointerAxisDiscrete (IN  o     session_handle,
                           IN  a{sv} options,
                           IN  u     axis,
                           IN  i     steps);
</pre><p>        May only be called if POINTER access was provided after starting the
        session.
</p><p>        Available axes:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Vertical scroll</td></tr><tr><td>1: Horizontal scroll</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>axis</code></em></code>:</span></dt><dd><p>The axis that was scrolled</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>steps</code></em></code>:</span></dt><dd><p>The number of steps scrolled</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyKeyboardKeycode"></a><h3>The NotifyKeyboardKeycode() method</h3><a id="idm45882996426896" class="indexterm"></a><pre class="programlisting">
NotifyKeyboardKeycode (IN  o     session_handle,
                       IN  a{sv} options,
                       IN  i     keycode,
                       IN  u     state);
</pre><p>        May only be called if KEYBOARD access was provided after starting the
        session.
</p><p>        Available keyboard keysym states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>keycode</code></em></code>:</span></dt><dd><p>Keyboard code that was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>New state of keyboard keysym</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyKeyboardKeysym"></a><h3>The NotifyKeyboardKeysym() method</h3><a id="idm45882996408624" class="indexterm"></a><pre class="programlisting">
NotifyKeyboardKeysym (IN  o     session_handle,
                      IN  a{sv} options,
                      IN  i     keysym,
                      IN  u     state);
</pre><p>        May only be called if KEYBOARD access was provided after starting the
        session.
</p><p>        Available keyboard keysym states:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Released</td></tr><tr><td>1: Pressed</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN i <em class="parameter"><code>keysym</code></em></code>:</span></dt><dd><p>Keyboard symbol that was pressed or released</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>New state of keyboard keysym</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchDown"></a><h3>The NotifyTouchDown() method</h3><a id="idm45882996390400" class="indexterm"></a><pre class="programlisting">
NotifyTouchDown (IN  o     session_handle,
                 IN  a{sv} options,
                 IN  u     stream,
                 IN  u     slot,
                 IN  d     x,
                 IN  d     y);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch down event. The (x, y) position
        represents the new touch point position in the streams logical
        coordinate space (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Touch down x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Touch down y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchMotion"></a><h3>The NotifyTouchMotion() method</h3><a id="idm45882996367520" class="indexterm"></a><pre class="programlisting">
NotifyTouchMotion (IN  o     session_handle,
                   IN  a{sv} options,
                   IN  u     stream,
                   IN  u     slot,
                   IN  d     x,
                   IN  d     y);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch motion event. The (x, y) position
        represents where the touch point position in the streams logical
        coordinate space moved (see the logical_size stream property in
        <a class="link" href="#gdbus-interface-org-freedesktop-portal-ScreenCast.top_of_page">org.freedesktop.portal.ScreenCast</a>).
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>stream</code></em></code>:</span></dt><dd><p>The PipeWire stream node the coordinate is relative to</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>x</code></em></code>:</span></dt><dd><p>Touch motion x coordinate</p></dd><dt><span class="term"><code class="literal">IN d <em class="parameter"><code>y</code></em></code>:</span></dt><dd><p>Touch motion y coordinate</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-RemoteDesktop.NotifyTouchUp"></a><h3>The NotifyTouchUp() method</h3><a id="idm45882996344624" class="indexterm"></a><pre class="programlisting">
NotifyTouchUp (IN  o     session_handle,
               IN  a{sv} options,
               IN  u     slot);
</pre><p>        May only be called if TOUCHSCREEN access was provided after starting the
        session.
</p><p>        Notify about a new touch up event.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>slot</code></em></code>:</span></dt><dd><p>Touch slot where touch point appeared</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.RemoteDesktop"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-RemoteDesktop.AvailableDeviceTypes"></a><h3>The "AvailableDeviceTypes" property</h3><a id="idm45882996328752" class="indexterm"></a><pre class="programlisting">
AvailableDeviceTypes  readable   u
</pre><p>        A bitmask of available source types. Currently defined types are:
</p><p>        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: KEYBOARD</td></tr><tr><td>2: POINTER</td></tr><tr><td>4: TOUCHSCREEN</td></tr></table><p>
</p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-RemoteDesktop.version"></a><h3>The "version" property</h3><a id="idm45882996322128" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Notification"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Notification — Notification portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Notification.AddNotification" title="The AddNotification() method">AddNotification</a>    (IN  s     app_id,
                    IN  s     id,
                    IN  a{sv} notification);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Notification.RemoveNotification" title="The RemoveNotification() method">RemoveNotification</a> (IN  s     app_id,
                    IN  s     id);
</pre></div><div class="refsect1"><a id="idm45883000009744"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Notification.ActionInvoked" title="The &quot;ActionInvoked&quot; signal">ActionInvoked</a> (s  app_id,
               s  id,
               s  action,
               av parameter);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Notification"></a><h2>Description</h2><p>      This notification interface lets sandboxed applications
      send and withdraw notifications.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Notification"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Notification.AddNotification"></a><h3>The AddNotification() method</h3><a id="idm45882996741504" class="indexterm"></a><pre class="programlisting">
AddNotification (IN  s     app_id,
                 IN  s     id,
                 IN  a{sv} notification);
</pre><p>        Sends a notification.
</p><p>        The ID can be used to later withdraw the notification.
        If the application reuses the same ID without withdrawing,
        the notification is replaced by the new one.
</p><p>        The format of the <em class="parameter"><code>notification</code></em> is the same as for
        <a class="link" href="#gdbus-method-org-freedesktop-portal-Notification.AddNotification" title="The AddNotification() method">AddNotification()</a>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>Application-provided ID for this notification</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>notification</code></em></code>:</span></dt><dd><p>Vardict with the serialized notification</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Notification.RemoveNotification"></a><h3>The RemoveNotification() method</h3><a id="idm45882996118496" class="indexterm"></a><pre class="programlisting">
RemoveNotification (IN  s app_id,
                    IN  s id);
</pre><p>        Withdraws a notification.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>Application-provided ID for this notification</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.Notification"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-Notification.ActionInvoked"></a><h3>The "ActionInvoked" signal</h3><a id="idm45882997041232" class="indexterm"></a><pre class="programlisting">
ActionInvoked (s  app_id,
               s  id,
               s  action,
               av parameter);
</pre><p>          for the action, if one was specified
</p><p>        Send to the application when a non-exported action is
        activated.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the application-provided ID for the notification</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>action</code></em></code>:</span></dt><dd><p>the name of the action</p></dd><dt><span class="term"><code class="literal">av <em class="parameter"><code>parameter</code></em></code>:</span></dt><dd><p>array which will contain the target parameter</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Inhibit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Inhibit — Inhibit portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Inhibit.Inhibit" title="The Inhibit() method">Inhibit</a>          (IN  o     handle,
                  IN  s     app_id,
                  IN  s     window,
                  IN  u     flags,
                  IN  a{sv} options);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Inhibit.CreateMonitor" title="The CreateMonitor() method">CreateMonitor</a>    (IN  o     handle,
                  IN  o     session_handle,
                  IN  s     app_id,
                  IN  s     window,
                  OUT u     response);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Inhibit.QueryEndResponse" title="The QueryEndResponse() method">QueryEndResponse</a> (IN  o     session_handle);
</pre></div><div class="refsect1"><a id="idm45882996774784"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Inhibit.StateChanged" title="The &quot;StateChanged&quot; signal">StateChanged</a> (o     session_handle,
              a{sv} state);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Inhibit"></a><h2>Description</h2><p>      The inhibit portal lets sandboxed applications inhibit the user
      session from ending, suspending, idling or getting switched away.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Inhibit"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Inhibit.Inhibit"></a><h3>The Inhibit() method</h3><a id="idm45882997232896" class="indexterm"></a><pre class="programlisting">
Inhibit (IN  o     handle,
         IN  s     app_id,
         IN  s     window,
         IN  u     flags,
         IN  a{sv} options);
</pre><p>        Inhibits session status changes. As a side-effect of this call,
        a <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object is exported on the
        object path <em class="parameter"><code>handle</code></em>. To end the inhibition, call
        <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Request.Close" title="The Close() method">Close()</a> on that object.
</p><p>        The flags determine what changes are inhibited:
        </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Logout</td></tr><tr><td>2: User Switch</td></tr><tr><td>4: Suspend</td></tr><tr><td>8: Idle</td></tr></table><p>
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">reason s</span></dt><dd><p>User-visible reason for the inhibition.</p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>Application id</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>Identifier for the window</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>Flags identifying what is inhibited</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Inhibit.CreateMonitor"></a><h3>The CreateMonitor() method</h3><a id="idm45882996656640" class="indexterm"></a><pre class="programlisting">
CreateMonitor (IN  o handle,
               IN  o session_handle,
               IN  s app_id,
               IN  s window,
               OUT u response);
</pre><p>        Creates a monitoring session. While this session is
        active, the caller will receive StateChanged signals
        with updates on the session state.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the created <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Session.top_of_page">org.freedesktop.impl.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>window</code></em></code>:</span></dt><dd><p>the parent window</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>the result of the operation (0 == success)</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Inhibit.QueryEndResponse"></a><h3>The QueryEndResponse() method</h3><a id="idm45882997135360" class="indexterm"></a><pre class="programlisting">
QueryEndResponse (IN  o session_handle);
</pre><p>      Acknowledges that the caller received the <a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Inhibit.StateChanged" title="The &quot;StateChanged&quot; signal">"StateChanged"</a>
      signal. This method should be called within one second or receiving a StateChanged
      signal with the 'Query End' state.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Session.top_of_page">org.freedesktop.impl.portal.Session</a> object</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.Inhibit"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-Inhibit.StateChanged"></a><h3>The "StateChanged" signal</h3><a id="idm45882997124784" class="indexterm"></a><pre class="programlisting">
StateChanged (o     session_handle,
              a{sv} state);
</pre><p>        The StateChanged signal is sent to active monitoring sessions when
        the session state changes.
</p><p>        When the session state changes to 'Query End', clients with active monitoring
        sessions are expected to respond by calling
        <a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Inhibit.QueryEndResponse" title="The QueryEndResponse() method">QueryEndResponse()</a> within a second
        of receiving the StateChanged signal.
</p><p>        The following information may get returned in the <em class="parameter"><code>state</code></em> vardict:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">screensaver-active b</span></dt><dd><p>
              Whether the screensaver is active.
            </p></dd><dt><span class="term">session-state u</span></dt><dd><p>
              The state of the session.
            </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Running</td></tr><tr><td>2: Query End</td></tr><tr><td>3: Ending</td></tr></table></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">o <em class="parameter"><code>session_handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-portal-Session.top_of_page">org.freedesktop.portal.Session</a> object</p></dd><dt><span class="term"><code class="literal">a{sv} <em class="parameter"><code>state</code></em></code>:</span></dt><dd><p>Vardict with information about the session state</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Access"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Access — Interface for presenting an access dialog</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Access.AccessDialog" title="The AccessDialog() method">AccessDialog</a> (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  s     title,
              IN  s     subtitle,
              IN  s     body,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Access"></a><h2>Description</h2><p>      This backend can be used by portal implementations that
      need to ask a direct access question, such as "May xyz
      use the microphone?"
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Access"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Access.AccessDialog"></a><h3>The AccessDialog() method</h3><a id="idm45882996678944" class="indexterm"></a><pre class="programlisting">
AccessDialog (IN  o     handle,
              IN  s     app_id,
              IN  s     parent_window,
              IN  s     title,
              IN  s     subtitle,
              IN  s     body,
              IN  a{sv} options,
              OUT u     response,
              OUT a{sv} results);
</pre><p>        Presents a "deny/grant" question to the user.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">modal b</span></dt><dd><p>Whether to make the dialog modal. Defaults to true.</p></dd><dt><span class="term">deny_label s</span></dt><dd><p>Label for the Deny button.</p></dd><dt><span class="term">grant_label s</span></dt><dd><p>Label for the Grant button.</p></dd><dt><span class="term">icon s</span></dt><dd><p>Icon name for an icon to show in the dialog. This should be a symbolic icon name.</p></dd><dt><span class="term">choices a(ssa(ss)s)</span></dt><dd><p>
              List of serialized choices.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd></dl></div><p>
</p><p>        The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">choices a(ss)</span></dt><dd><p>
              An array of pairs of strings, corresponding to the passed-in choices.
              See <a class="link" href="#gdbus-method-org-freedesktop-portal-FileChooser.OpenFile" title="The OpenFile() method">OpenFile()</a> for details.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path to export the Request object at</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a></p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>title</code></em></code>:</span></dt><dd><p>Title for the dialog</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>subtitle</code></em></code>:</span></dt><dd><p>Subtitle for the dialog</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>body</code></em></code>:</span></dt><dd><p>Body text, may be ""</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Settings"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Settings — Settings portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Settings.ReadAll" title="The ReadAll() method">ReadAll</a> (IN  as        namespaces,
         OUT a{sa{sv}} value);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Settings.Read" title="The Read() method">Read</a>    (IN  s         namespace,
         IN  s         key,
         OUT v         value);
</pre></div><div class="refsect1"><a id="idm45882999875120"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Settings.SettingChanged" title="The &quot;SettingChanged&quot; signal">SettingChanged</a> (s namespace,
                s key,
                v value);
</pre></div><div class="refsect1"><a id="idm45882996675712"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Settings.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Settings"></a><h2>Description</h2><p>    This interface provides read-only access to a small number
    of host settings required for toolkits similar to XSettings.
    It is not for general purpose settings.
</p><p>    Currently the interface provides the following keys:
</p><p>    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">org.freedesktop.appearance color-scheme u</span></dt><dd><p>
          Indicates the system's preferred color scheme.
          Supported values are:
          </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: No preference</td></tr><tr><td>1: Prefer dark appearance</td></tr><tr><td>2: Prefer light appearance</td></tr></table><p>
          Unknown values should be treated as 0 (no preference).
        </p></dd></dl></div><p>
</p><p>    Implementations can provide other keys; they are entirely
    implementation details that are undocumented. If you are a
    toolkit and want to use this please open an issue.
</p><p>    Note that the Settings portal can operate without this backend,
    implementing it is optional.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Settings"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Settings.ReadAll"></a><h3>The ReadAll() method</h3><a id="idm45882996785936" class="indexterm"></a><pre class="programlisting">
ReadAll (IN  as        namespaces,
         OUT a{sa{sv}} value);
</pre><p>      If <em class="parameter"><code>namespaces</code></em> is an empty array or contains an empty string it matches all. Globbing is supported but only for
      trailing sections, e.g. "org.example.*".
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>namespaces</code></em></code>:</span></dt><dd><p>List of namespaces to filter results by, supports simple globbing explained below.</p></dd><dt><span class="term"><code class="literal">OUT a{sa{sv}} <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>Dictionary of namespaces to its keys and values.</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Settings.Read"></a><h3>The Read() method</h3><a id="idm45882996819728" class="indexterm"></a><pre class="programlisting">
Read (IN  s namespace,
      IN  s key,
      OUT v value);
</pre><p>      Reads a single value. Returns an error on any unknown namespace or key.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>namespace</code></em></code>:</span></dt><dd><p>Namespace to look up <em class="parameter"><code>key</code></em> in.</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>The key to get.</p></dd><dt><span class="term"><code class="literal">OUT v <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>The value <em class="parameter"><code>key</code></em> is set to.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.Settings"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-Settings.SettingChanged"></a><h3>The "SettingChanged" signal</h3><a id="idm45882996112480" class="indexterm"></a><pre class="programlisting">
SettingChanged (s namespace,
                s key,
                v value);
</pre><p>      Emitted when a setting changes.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>namespace</code></em></code>:</span></dt><dd><p>Namespace of changed setting.</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>key</code></em></code>:</span></dt><dd><p>The key of changed setting.</p></dd><dt><span class="term"><code class="literal">v <em class="parameter"><code>value</code></em></code>:</span></dt><dd><p>The new value.</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.Settings"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Settings.version"></a><h3>The "version" property</h3><a id="idm45882996098576" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Secret"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Secret — Secret portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Secret.RetrieveSecret" title="The RetrieveSecret() method">RetrieveSecret</a> (IN  o     handle,
                IN  s     app_id,
                IN  h     fd,
                IN  a{sv} options,
                OUT u     response,
                OUT a{sv} results);
</pre></div><div class="refsect1"><a id="idm45883001930704"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Secret.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Secret"></a><h2>Description</h2><p>      The Secret portal allows sandboxed applications to retrieve a
      per-application master secret.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Secret"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Secret.RetrieveSecret"></a><h3>The RetrieveSecret() method</h3><a id="idm45882996798496" class="indexterm"></a><pre class="programlisting">
RetrieveSecret (IN  o     handle,
                IN  s     app_id,
                IN  h     fd,
                IN  a{sv} options,
                OUT u     response,
                OUT a{sv} results);
</pre><p>        Retrieves a master secret for a sandboxed application.
</p><p>        Supported keys in the <em class="parameter"><code>options</code></em> vardict include:
        </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">token s</span></dt><dd><p>
              An opaque string associated with the retrieve secret.
            </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN h <em class="parameter"><code>fd</code></em></code>:</span></dt><dd><p>Writable file descriptor for transporting the secret</p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p>Vardict with optional further information</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with the results of the call</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.Secret"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Secret.version"></a><h3>The "version" property</h3><a id="idm45882997069200" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Lockdown"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Lockdown — Lockdown backend interface</p></div><div class="refsect1"><a id="idm45882998941664"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-printing" title="The &quot;disable-printing&quot; property">disable-printing</a>              readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-save-to-disk" title="The &quot;disable-save-to-disk&quot; property">disable-save-to-disk</a>          readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-application-handlers" title="The &quot;disable-application-handlers&quot; property">disable-application-handlers</a>  readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-location" title="The &quot;disable-location&quot; property">disable-location</a>              readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-camera" title="The &quot;disable-camera&quot; property">disable-camera</a>                readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-microphone" title="The &quot;disable-microphone&quot; property">disable-microphone</a>            readwrite  b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-sound-output" title="The &quot;disable-sound-output&quot; property">disable-sound-output</a>          readwrite  b
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Lockdown"></a><h2>Description</h2><p>    This interface provides access to high-level desktop lockdown
    settings that can disable entire portals, such as disabling
    printing or location services.
</p><p>    This is meant to be used by different portal frontends.
</p></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.Lockdown"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-printing"></a><h3>The "disable-printing" property</h3><a id="idm45882996642928" class="indexterm"></a><pre class="programlisting">
disable-printing  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-save-to-disk"></a><h3>The "disable-save-to-disk" property</h3><a id="idm45882996146592" class="indexterm"></a><pre class="programlisting">
disable-save-to-disk  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-application-handlers"></a><h3>The "disable-application-handlers" property</h3><a id="idm45882996142656" class="indexterm"></a><pre class="programlisting">
disable-application-handlers  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-location"></a><h3>The "disable-location" property</h3><a id="idm45882997083824" class="indexterm"></a><pre class="programlisting">
disable-location  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-camera"></a><h3>The "disable-camera" property</h3><a id="idm45882997079888" class="indexterm"></a><pre class="programlisting">
disable-camera  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-microphone"></a><h3>The "disable-microphone" property</h3><a id="idm45882997176592" class="indexterm"></a><pre class="programlisting">
disable-microphone  readwrite  b
</pre><p></p></div><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-sound-output"></a><h3>The "disable-sound-output" property</h3><a id="idm45882997172560" class="indexterm"></a><pre class="programlisting">
disable-sound-output  readwrite  b
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Background"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Background — Background portal backend interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Background.GetAppState" title="The GetAppState() method">GetAppState</a>      (OUT a{sv} apps);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Background.NotifyBackground" title="The NotifyBackground() method">NotifyBackground</a> (IN  o     handle,
                  IN  s     app_id,
                  IN  s     name,
                  OUT u     response,
                  OUT a{sv} results);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Background.EnableAutostart" title="The EnableAutostart() method">EnableAutostart</a>  (IN  s     app_id,
                  IN  b     enable,
                  IN  as    commandline,
                  IN  u     flags,
                  OUT b     result);
</pre></div><div class="refsect1"><a id="idm45883000989728"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-Background.RunningApplicationsChanged" title="The &quot;RunningApplicationsChanged&quot; signal">RunningApplicationsChanged</a> ();
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Background"></a><h2>Description</h2><p>    This interface provides APIs related to applications
    that are running in the background.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Background"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Background.GetAppState"></a><h3>The GetAppState() method</h3><a id="idm45882995784288" class="indexterm"></a><pre class="programlisting">
GetAppState (OUT a{sv} apps);
</pre><p>      Gets information about running apps. Each entry has
      an application ID as key. The returned values are of
      type u and have the following meaning:
      </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Background (no open window)</td></tr><tr><td>1: Running (at least one open window)</td></tr><tr><td>2: Active (in the foreground)</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>apps</code></em></code>:</span></dt><dd><p>an array with information about running apps</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Background.NotifyBackground"></a><h3>The NotifyBackground() method</h3><a id="idm45882997191952" class="indexterm"></a><pre class="programlisting">
NotifyBackground (IN  o     handle,
                  IN  s     app_id,
                  IN  s     name,
                  OUT u     response,
                  OUT a{sv} results);
</pre><p>      Notifies the user that an application is running in the background.
</p><p>      The following results get returned via the <em class="parameter"><code>results</code></em> vardict:
      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">result u</span></dt><dd><p>
            The choice that the user made regarding the background
            activity:
            </p><table border="0" summary="Simple list" class="simplelist"><tr><td>0: Forbid background activity by this app</td></tr><tr><td>1: Allow background activity by this app</td></tr><tr><td>2: Allow this instance of background activity</td></tr></table><p>
          </p></dd></dl></div><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path for the <a class="link" href="#gdbus-interface-org-freedesktop-impl-portal-Request.top_of_page">org.freedesktop.impl.portal.Request</a> object representing this call</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>name</code></em></code>:</span></dt><dd><p>A display name for the application</p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p>Numeric response, not used</p></dd><dt><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>results</code></em></code>:</span></dt><dd><p>Vardict with results of the call</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Background.EnableAutostart"></a><h3>The EnableAutostart() method</h3><a id="idm45882995856368" class="indexterm"></a><pre class="programlisting">
EnableAutostart (IN  s  app_id,
                 IN  b  enable,
                 IN  as commandline,
                 IN  u  flags,
                 OUT b  result);
</pre><p>      Enables or disables autostart for an application.
</p><p>      The following flags are understood:
      </p><table border="0" summary="Simple list" class="simplelist"><tr><td>1: Use D-Bus activation</td></tr></table><p>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>enable</code></em></code>:</span></dt><dd><p>TRUE to enable autostart, FALSE to disable it</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>commandline</code></em></code>:</span></dt><dd><p>The commandline to use in the autostart file</p></dd><dt><span class="term"><code class="literal">IN u <em class="parameter"><code>flags</code></em></code>:</span></dt><dd><p>Flags influencing the details of the autostarting</p></dd><dt><span class="term"><code class="literal">OUT b <em class="parameter"><code>result</code></em></code>:</span></dt><dd><p>TRUE if autostart was enabled, FALSE otherwise</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.Background"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-Background.RunningApplicationsChanged"></a><h3>The "RunningApplicationsChanged" signal</h3><a id="idm45882995835904" class="indexterm"></a><pre class="programlisting">
RunningApplicationsChanged ();
</pre><p>      This signal gets emitted when applications change their state
      and it is worth calling GetAppState again.
</p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.PermissionStore"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.PermissionStore — Database to store permissions</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.Lookup" title="The Lookup() method">Lookup</a>           (IN  s      table,
                  IN  s      id,
                  OUT a{sas} permissions,
                  OUT v      data);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.Set" title="The Set() method">Set</a>              (IN  s      table,
                  IN  b      create,
                  IN  s      id,
                  IN  a{sas} app_permissions,
                  IN  v      data);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.Delete" title="The Delete() method">Delete</a>           (IN  s      table,
                  IN  s      id);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.SetValue" title="The SetValue() method">SetValue</a>         (IN  s      table,
                  IN  b      create,
                  IN  s      id,
                  IN  v      data);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.SetPermission" title="The SetPermission() method">SetPermission</a>    (IN  s      table,
                  IN  b      create,
                  IN  s      id,
                  IN  s      app,
                  IN  as     permissions);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.DeletePermission" title="The DeletePermission() method">DeletePermission</a> (IN  s      table,
                  IN  s      id,
                  IN  s      app);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.GetPermission" title="The GetPermission() method">GetPermission</a>    (IN  s      table,
                  IN  s      id,
                  IN  s      app,
                  OUT as     permissions);
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-PermissionStore.List" title="The List() method">List</a>             (IN  s      table,
                  OUT as     ids);
</pre></div><div class="refsect1"><a id="idm45882996314304"></a><h2>Signals</h2><pre class="synopsis">
<a class="link" href="#gdbus-signal-org-freedesktop-impl-portal-PermissionStore.Changed" title="The &quot;Changed&quot; signal">Changed</a> (s      table,
         s      id,
         b      deleted,
         v      data,
         a{sas} permissions);
</pre></div><div class="refsect1"><a id="idm45882996311360"></a><h2>Properties</h2><pre class="synopsis">
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-PermissionStore.version" title="The &quot;version&quot; property">version</a>  readable   u
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-PermissionStore"></a><h2>Description</h2><p>      The permission store can be used by portals to store permissions
      that sandboxed applications have to various resources, such as
      files outside the sandbox.
</p><p>      Since the resources managed by portals can be varied, the permission
      store is fairly free-form: there can be multiple tables; resources are
      identified by an ID, as are applications, and permissions are stored as
      string arrays. None of these strings are interpreted by the permission
      store in any way.
</p><p>      In addition, the permission store allows to associate extra data
      (in the form of a GVariant) with each resource.
</p><p>      This document describes version 2 of the permission store interface.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.PermissionStore"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.Lookup"></a><h3>The Lookup() method</h3><a id="idm45882995751168" class="indexterm"></a><pre class="programlisting">
Lookup (IN  s      table,
        IN  s      id,
        OUT a{sas} permissions,
        OUT v      data);
</pre><p>        Looks up the entry for a resource in one of the tables and returns
        all associated application permissions and data.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to look up</p></dd><dt><span class="term"><code class="literal">OUT a{sas} <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>map from application ID to permissions</p></dd><dt><span class="term"><code class="literal">OUT v <em class="parameter"><code>data</code></em></code>:</span></dt><dd><p>data that is associated with the resource</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.Set"></a><h3>The Set() method</h3><a id="idm45882996972064" class="indexterm"></a><pre class="programlisting">
Set (IN  s      table,
     IN  b      create,
     IN  s      id,
     IN  a{sas} app_permissions,
     IN  v      data);
</pre><p>        Writes the entry for a resource in the given table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>create</code></em></code>:</span></dt><dd><p>whether to create the table if it does not exist</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to modify</p></dd><dt><span class="term"><code class="literal">IN a{sas} <em class="parameter"><code>app_permissions</code></em></code>:</span></dt><dd><p>map from application ID to permissions</p></dd><dt><span class="term"><code class="literal">IN v <em class="parameter"><code>data</code></em></code>:</span></dt><dd><p>data to associate with the resource</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.Delete"></a><h3>The Delete() method</h3><a id="idm45882995727472" class="indexterm"></a><pre class="programlisting">
Delete (IN  s table,
        IN  s id);
</pre><p>        Removes the entry for a resource in the given table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to delete</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.SetValue"></a><h3>The SetValue() method</h3><a id="idm45882995717504" class="indexterm"></a><pre class="programlisting">
SetValue (IN  s table,
          IN  b create,
          IN  s id,
          IN  v data);
</pre><p>        Sets just the data for a resource in the given table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>create</code></em></code>:</span></dt><dd><p>whether to create the table if it does not exist</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to modify</p></dd><dt><span class="term"><code class="literal">IN v <em class="parameter"><code>data</code></em></code>:</span></dt><dd><p>data to associate with the resource</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.SetPermission"></a><h3>The SetPermission() method</h3><a id="idm45882995702336" class="indexterm"></a><pre class="programlisting">
SetPermission (IN  s  table,
               IN  b  create,
               IN  s  id,
               IN  s  app,
               IN  as permissions);
</pre><p>        Sets the permissions for an application and a resource
        in the given table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN b <em class="parameter"><code>create</code></em></code>:</span></dt><dd><p>whether to create the table if it does not exist</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to modify</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app</code></em></code>:</span></dt><dd><p>the application ID to modify</p></dd><dt><span class="term"><code class="literal">IN as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>permissions to set</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.DeletePermission"></a><h3>The DeletePermission() method</h3><a id="idm45882995684192" class="indexterm"></a><pre class="programlisting">
DeletePermission (IN  s table,
                  IN  s id,
                  IN  s app);
</pre><p>        Removes the entry for an application and a resource
        in the given table.
</p><p>        This method was added in version 2.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to modify</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app</code></em></code>:</span></dt><dd><p>the application ID to modify</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.GetPermission"></a><h3>The GetPermission() method</h3><a id="idm45882995670944" class="indexterm"></a><pre class="programlisting">
GetPermission (IN  s  table,
               IN  s  id,
               IN  s  app,
               OUT as permissions);
</pre><p>        Gets the entry for an application and a resource
        in the given table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p>the resource ID to modify</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app</code></em></code>:</span></dt><dd><p>the application ID to modify</p></dd><dt><span class="term"><code class="literal">OUT as <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>permissions to get</p></dd></dl></div></div><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-PermissionStore.List"></a><h3>The List() method</h3><a id="idm45882995655376" class="indexterm"></a><pre class="programlisting">
List (IN  s  table,
      OUT as ids);
</pre><p>        Returns all the resources that are present in the table.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table to use</p></dd><dt><span class="term"><code class="literal">OUT as <em class="parameter"><code>ids</code></em></code>:</span></dt><dd><p>IDs of all resources that are present in the table</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-signals-org.freedesktop.impl.portal.PermissionStore"></a><h2>Signal Details</h2><div class="refsect2"><a id="gdbus-signal-org-freedesktop-impl-portal-PermissionStore.Changed"></a><h3>The "Changed" signal</h3><a id="idm45882995643520" class="indexterm"></a><pre class="programlisting">
Changed (s      table,
         s      id,
         b      deleted,
         v      data,
         a{sas} permissions);
</pre><p>        The Changed signal is emitted when the entry for a resource
        is modified or deleted. If the entry was deleted, then <em class="parameter"><code>data</code></em>
        and <em class="parameter"><code>permissions</code></em> contain the last values that were found in the
        database. If the entry was modified, they contain the new values.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">s <em class="parameter"><code>table</code></em></code>:</span></dt><dd><p>the name of the table</p></dd><dt><span class="term"><code class="literal">s <em class="parameter"><code>id</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">b <em class="parameter"><code>deleted</code></em></code>:</span></dt><dd><p>whether the resource was deleted</p></dd><dt><span class="term"><code class="literal">v <em class="parameter"><code>data</code></em></code>:</span></dt><dd><p>the data that is associated the resource</p></dd><dt><span class="term"><code class="literal">a{sas} <em class="parameter"><code>permissions</code></em></code>:</span></dt><dd><p>the permissions that are associated with the resource</p></dd></dl></div></div></div><div class="refsect1"><a id="gdbus-properties-org.freedesktop.impl.portal.PermissionStore"></a><h2>Property Details</h2><div class="refsect2"><a id="gdbus-property-org-freedesktop-impl-portal-PermissionStore.version"></a><h3>The "version" property</h3><a id="idm45882995622320" class="indexterm"></a><pre class="programlisting">
version  readable   u
</pre><p></p></div></div></div><div class="refentry"><div class="refentry.separator"><hr /></div><a id="gdbus-org.freedesktop.impl.portal.Wallpaper"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.impl.portal.Wallpaper — Portal for setting the desktop's Wallpaper</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis">
<a class="link" href="#gdbus-method-org-freedesktop-impl-portal-Wallpaper.SetWallpaperURI" title="The SetWallpaperURI() method">SetWallpaperURI</a> (IN  o     handle,
                 IN  s     app_id,
                 IN  s     parent_window,
                 IN  s     uri,
                 IN  a{sv} options,
                 OUT u     response);
</pre></div><div class="refsect1"><a id="gdbus-interface-org-freedesktop-impl-portal-Wallpaper"></a><h2>Description</h2><p>      This simple interface lets sandboxed applications set the user's
      desktop background picutre.
</p></div><div class="refsect1"><a id="gdbus-methods-org.freedesktop.impl.portal.Wallpaper"></a><h2>Method Details</h2><div class="refsect2"><a id="gdbus-method-org-freedesktop-impl-portal-Wallpaper.SetWallpaperURI"></a><h3>The SetWallpaperURI() method</h3><a id="idm45883004112464" class="indexterm"></a><pre class="programlisting">
SetWallpaperURI (IN  o     handle,
                 IN  s     app_id,
                 IN  s     parent_window,
                 IN  s     uri,
                 IN  a{sv} options,
                 OUT u     response);
</pre><p>            <a class="link" href="#parent_window" title="Parent window identifiers">Common Conventions</a>
        <em class="parameter"><code>options</code></em>: Options that influence the behavior of the portal
        <em class="parameter"><code>response</code></em>: Numberic response
</p><p>        Asks to set a given picture as the desktop background picture.
</p><p>        The following options are supported:
        show-preview: (b) whether to show a preview of the picture. Note that the portal may
             decide to show a preview even if this option is not set
        set-on: (s) where to set the wallpaper. Possible values are 'background', 'lockscreen' or 'both'
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">IN o <em class="parameter"><code>handle</code></em></code>:</span></dt><dd><p>Object path to export the Request object at</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>app_id</code></em></code>:</span></dt><dd><p>App id of the application</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>parent_window</code></em></code>:</span></dt><dd><p>Identifier for the application window, see</p></dd><dt><span class="term"><code class="literal">IN s <em class="parameter"><code>uri</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>options</code></em></code>:</span></dt><dd><p></p></dd><dt><span class="term"><code class="literal">OUT u <em class="parameter"><code>response</code></em></code>:</span></dt><dd><p></p></dd></dl></div></div></div></div></div></div></body></html>

Zerion Mini Shell 1.0