Mini Shell
<?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 "version" 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 "Response" 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 "Response" 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 "Response" 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 "Closed" 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 "version" 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 "version" 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 "Response" 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 "Response" 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 "Response" 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 "version" 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 "version" 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 "version" 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 "Response" 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 "version" 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&subject=Test<code class="constant">20e</code>-mail<code class="constant">20subject</code>&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 "version" 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 "LocationUpdated" 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 "version" 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 "version" 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 "Response" 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 "Response" 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 "AvailableSourceTypes" property">AvailableSourceTypes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-portal-ScreenCast.AvailableCursorModes" title="The "AvailableCursorModes" property">AvailableCursorModes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-portal-ScreenCast.version" title="The "version" 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 "Response" 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 "Response" 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 "Response" 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 "AvailableDeviceTypes" property">AvailableDeviceTypes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-portal-RemoteDesktop.version" title="The "version" 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 "Response" 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 "Response" 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 "ActionInvoked" 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 "version" 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 "StateChanged" 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 "version" 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 "Response" 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 "StateChanged" 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 "changed" 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 "version" 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 "version" 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 "SettingChanged" 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 "version" 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 "version" 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 "version" 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 "Response" 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 "version" 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 "IsCameraPresent" property">IsCameraPresent</a> readable b
<a class="link" href="#gdbus-property-org-freedesktop-portal-Camera.version" title="The "version" 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 "Response" 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 "version" 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 "version" 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 "LowMemoryWarning" 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 "version" 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 "power-saver-enabled" property">power-saver-enabled</a> readable b
<a class="link" href="#gdbus-property-org-freedesktop-portal-PowerProfileMonitor.version" title="The "version" 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 "TransferClosed" 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 "version" 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 "MaxRealtimePriority" property">MaxRealtimePriority</a> readable i
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.MinNiceLevel" title="The "MinNiceLevel" property">MinNiceLevel</a> readable i
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.RTTimeUSecMax" title="The "RTTimeUSecMax" property">RTTimeUSecMax</a> readable x
<a class="link" href="#gdbus-property-org-freedesktop-portal-Realtime.version" title="The "version" 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 "SpawnStarted" signal">SpawnStarted</a> (u pid,
u relpid);
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak.SpawnExited" title="The "SpawnExited" 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 "version" property">version</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-portal-Flatpak.supports" title="The "supports" 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 "UpdateAvailable" signal">UpdateAvailable</a> (a{sv} update_info);
<a class="link" href="#gdbus-signal-org-freedesktop-portal-Flatpak-UpdateMonitor.Progress" title="The "Progress" 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 "Progress" 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 "Closed" 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 "version" 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 "Response" 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 "AvailableSourceTypes" property">AvailableSourceTypes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-ScreenCast.AvailableCursorModes" title="The "AvailableCursorModes" property">AvailableCursorModes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-ScreenCast.version" title="The "version" 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 "Response" 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 "Response" 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 "Response" 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 "AvailableDeviceTypes" property">AvailableDeviceTypes</a> readable u
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-RemoteDesktop.version" title="The "version" 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 "Response" 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 "ActionInvoked" 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 "StateChanged" 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 "StateChanged" 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 "SettingChanged" 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 "version" 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 "version" 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 "disable-printing" property">disable-printing</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-save-to-disk" title="The "disable-save-to-disk" property">disable-save-to-disk</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-application-handlers" title="The "disable-application-handlers" property">disable-application-handlers</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-location" title="The "disable-location" property">disable-location</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-camera" title="The "disable-camera" property">disable-camera</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-microphone" title="The "disable-microphone" property">disable-microphone</a> readwrite b
<a class="link" href="#gdbus-property-org-freedesktop-impl-portal-Lockdown.disable-sound-output" title="The "disable-sound-output" 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 "RunningApplicationsChanged" 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 "Changed" 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 "version" 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