source: x/lib/xdg-desktop-portal.xml

trunk
Last change on this file was 437547f9, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Tag the rest of Chapter 25 (Grapical Libraries)

  • Property mode set to 100644
File size: 7.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY xdg-desktop-portal-download-http "https://github.com/flatpak/xdg-desktop-portal/releases/download/&xdg-desktop-portal-version;/xdg-desktop-portal-&xdg-desktop-portal-version;.tar.xz">
8 <!ENTITY xdg-desktop-portal-download-ftp " ">
9 <!ENTITY xdg-desktop-portal-md5sum "20e0b28c1528e57b13cc236ba7840e03">
10 <!ENTITY xdg-desktop-portal-size "683 KB">
11 <!ENTITY xdg-desktop-portal-buildsize "51 MB (with tests)">
12 <!ENTITY xdg-desktop-portal-time "0.1 SBU (add 0.4 SBU for tests; with parallelism=4)">
13]>
14
15<sect1 id="xdg-desktop-portal" xreflabel="xdg-desktop-portal-&xdg-desktop-portal-version;">
16 <?dbhtml filename="xdg-desktop-portal.html"?>
17
18 <title>xdg-desktop-portal-&xdg-desktop-portal-version;</title>
19
20 <indexterm zone="xdg-desktop-portal">
21 <primary sortas="a-xdg-desktop-portal">xdg-desktop-portal</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to xdg-desktop-portal</title>
26
27 <para>
28 <application>xdg-desktop-portal</application> is a D-Bus service that
29 allows applications to interact with the desktop in a safe way. Several
30 aspects of desktop interaction, like file chooser, desktop style, etc
31 are implemented in different D-Bus APIs, known as
32 <emphasis>portals</emphasis>. Sandboxed
33 applications benefit the most from this service since they don't need
34 special permissions to use the portal APIs, but any application can use
35 it. <application>xdg-desktop-portal</application> safeguards many
36 resources and features with a user-controlled permission system. This
37 service needs a backend implementing desktop-specific portal interfaces.
38 </para>
39
40 &lfs121_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&xdg-desktop-portal-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&xdg-desktop-portal-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &xdg-desktop-portal-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &xdg-desktop-portal-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &xdg-desktop-portal-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &xdg-desktop-portal-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">xdg-desktop-portal Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend="fuse3"/>,
81 <xref linkend="gdk-pixbuf"/>,
82 <xref linkend="json-glib"/>,
83 <xref linkend="pipewire"/>, and
84 <xref role="runtime" linkend="dbus"/> (at runtime).
85 Furthermore, a backend is needed at runtime for this package to be of
86 any use, either
87 <xref role="runtime" linkend="xdg-desktop-portal-gtk"/> or
88 <xref role="nodep" linkend="xdg-desktop-portal-gnome"/> or
89 <xref role="nodep" linkend="xdg-desktop-portal-lxqt"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="bubblewrap"/> and
95 <xref linkend="docutils"/> (for building the manual pages)
96 </para>
97
98 <note>
99 <para>
100 Although there is an option to build the package
101 without <application>bubblewrap</application>, upstream
102 developers and LFS editors alike highly recommend to not
103 use this possibility, that would create a big security
104 hole.
105 </para>
106 </note>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="geoclue2"/> (for the <quote>location</quote> portal), and
111 <xref linkend="pytest"/> with
112 <xref linkend="libportal"/> and
113 <xref linkend="python-dbusmock"/> (for running tests)
114 </para>
115
116 <bridgehead renderas="sect4">Optional (for building
117 the documentation)</bridgehead>
118 <para role="optional">
119 <xref linkend="sphinx"/> with
120 <ulink url="https://pypi.org/project/sphinxext-opengraph/">sphinxext.opengraph</ulink>,
121 <ulink url="https://pypi.org/project/sphinx-copybutton/">sphinx_copybutton</ulink>,
122 <ulink url="https://pypi.org/project/furo/">furo</ulink>, and
123 <ulink url="https://github.com/flatpak/flatpak">flatpak</ulink>
124 </para>
125
126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of xdg-desktop-portal</title>
130
131 <para>
132 Install <application>xdg-desktop-portal</application> by running the
133 following commands:
134 </para>
135
136<screen><userinput>mkdir build &amp;&amp;
137cd build &amp;&amp;
138
139meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
140ninja</userinput></screen>
141
142 <para>
143 If you have installed the needed dependencies, you can test the results
144 by running <command>ninja test</command>.<phrase revision="systemd">
145 Six tests are known to fail if you are not using
146 <xref linkend="gnome-terminal"/> and are in GNOME.</phrase>
147 </para>
148
149 <para>
150 Now, as the &root; user:
151 </para>
152
153<screen role="root"><userinput>ninja install</userinput></screen>
154
155 <para revision="sysv">
156 Remove systemd files that are useless (as the &root; user):
157 </para>
158
159<screen role="root" revision="sysv"><userinput>rm -rvf /usr/lib/systemd</userinput></screen>
160
161 </sect2>
162
163 <sect2 role="configuration">
164 <title>Configuring xdg-desktop-portal</title>
165
166 <sect3 id="xdg-desktop-portal-config">
167 <title>Config Files</title>
168 <para>
169 The main configuration files are
170 <filename>~/.config/xdg-desktop-portal/portals.conf</filename>,
171 <filename>/etc/xdg-desktop-portal/portals.conf</filename>, and
172 <filename>/usr/share/xdg-desktop-portal/portals.conf</filename>.
173 Several other locations can be searched for configuration files. See
174 <ulink role='man' url='&man;portals.conf.5'>portals.conf(5)</ulink>.
175 </para>
176
177 <indexterm zone="xdg-desktop-portal xdg-desktop-portal-config">
178 <primary sortas="e-AA.config-xdg-desktop-portal-portals.conf">~/.config/xdg-desktop-portal/portals.conf</primary>
179 </indexterm>
180
181 <indexterm zone="xdg-desktop-portal xdg-desktop-portal-config">
182 <primary
183 sortas="e-etc-xdg-desktop-portal-portals.conf">/etc/xdg-desktop-portal/portals.conf</primary>
184 </indexterm>
185
186 <indexterm zone="xdg-desktop-portal xdg-desktop-portal-config">
187 <primary
188 sortas="e-usr-share-xdg-desktop-portal-portals.conf">/usr/share/xdg-desktop-portal/portals.conf</primary>
189 </indexterm>
190 </sect3>
191
192 <sect3><title>Configuration Information</title>
193
194 <para>
195 The various configuration files are used to choose the backend
196 depending of various conditions. See
197 <ulink role='man' url='&man;portals.conf.5'>portals.conf(5)</ulink>
198 for details.
199 </para>
200 </sect3>
201
202 </sect2>
203
204 <sect2 role="content">
205 <title>Contents</title>
206
207 <segmentedlist>
208 <segtitle>Installed Programs</segtitle>
209 <segtitle>Installed Librar(y,ies)</segtitle>
210 <segtitle>Installed Director(y,ies)</segtitle>
211
212 <seglistitem>
213 <seg>
214 several daemons in /usr/libexec
215 </seg>
216 <seg>
217 None
218 </seg>
219 <seg>
220 None
221 </seg>
222 </seglistitem>
223 </segmentedlist>
224 </sect2>
225</sect1>
Note: See TracBrowser for help on using the repository browser.