source: x/lib/gtk4.xml@ 8073170d

11.3 12.0 12.1 12.2 gimp3 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128 xry111/xf86-video-removal
Last change on this file since 8073170d was c5408a2, checked in by Douglas R. Reno <renodr@…>, 22 months ago

Add an entity for the gi-docgen URL and change several packages to use
it.

This should make the different URLs we had previously consistent with
one another, and ease maintenance burden.

This is only temporary though since eventually gi-docgen will become
part of the book, when Pierre's python-modules branch is brought into
trunk.

  • Property mode set to 100644
File size: 15.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 gtk4-download-http "&gnome-download-http;/gtk/&gtk4-minor;/gtk-&gtk4-version;.tar.xz">
8 <!ENTITY gtk4-download-ftp "&gnome-download-ftp;/gtk/&gtk4-minor;/gtk-&gtk4-version;.tar.xz">
9 <!ENTITY gtk4-md5sum "de29b8eefe5f691e42569971b2a474f9">
10 <!ENTITY gtk4-size "19 MB">
11 <!ENTITY gtk4-buildsize "426 MB (add 12 MB for tests)">
12 <!ENTITY gtk4-time "1.0 SBU (using parallelism=4, add 0.2 SBU for tests)">
13]>
14
15<sect1 id="gtk4" xreflabel="GTK-&gtk4-version;">
16 <?dbhtml filename="gtk4.html"?>
17
18
19 <title>GTK-&gtk4-version;</title>
20
21 <indexterm zone="gtk4">
22 <primary sortas="a-gtk4">GTK-4</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to GTK 4</title>
27
28 <para>
29 The <application>GTK 4</application> package contains libraries used for
30 creating graphical user interfaces for applications.
31 </para>
32
33 &lfs112_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&gtk4-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&gtk4-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &gtk4-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &gtk4-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &gtk4-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &gtk4-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">GTK 4 Dependencies</bridgehead>
70
71 <bridgehead renderas="sect4">Required</bridgehead>
72 <para role="required">
73 <xref linkend="fribidi"/>,
74 <xref linkend="gdk-pixbuf"/>,
75 <xref linkend="graphene"/>,
76 <xref linkend="iso-codes"/>,
77 <xref linkend="libepoxy"/>,
78 <xref linkend="libxkbcommon"/>,
79 <xref linkend="pango"/>,
80 <xref linkend="pygobject3"/>, and
81 <xref linkend="wayland-protocols"/>
82 </para>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended">
86 <xref linkend="adwaita-icon-theme"/> (default for some gtk4 settings keys),
87 <xref linkend="gst10-plugins-bad"/>,
88 <xref role='runtime' linkend="gst10-plugins-good"/> (runtime,
89 built with <xref role='nodep' linkend='libvpx'/>),
90 <xref linkend="hicolor-icon-theme"/> (needed for tests and for defaults), and
91 <xref linkend="librsvg"/>
92 </para>
93
94 <bridgehead renderas="sect4">Recommended (Required if building GNOME)</bridgehead>
95 <para role="recommended">
96 <xref linkend="gobject-introspection"/>
97 </para>
98
99 <bridgehead renderas="sect4">Optional</bridgehead>
100 <para role="optional">
101 <xref linkend="colord"/>,
102 <xref linkend="cups"/>,
103 <xref linkend="ffmpeg"/> (built with
104 <xref role='nodep' linkend='libvpx'/>),
105 <xref linkend="gtk-doc"/>,
106 <xref role="runtime" linkend="highlight"/>
107 (runtime, only used by <command>gtk4-demo</command> for syntax
108 highlighting of demo source code),
109 <xref linkend="sassc"/>,
110 <xref linkend="tracker3"/>,
111 <ulink url="&gi-docgen-url;">gi-docgen</ulink>,
112 <ulink url="https://gitlab.gnome.org/World/libcloudproviders">libcloudproviders</ulink>, and
113 <ulink url="https://vulkan.lunarg.com/sdk/home">vulkan</ulink>
114 </para>
115
116 <para condition="html" role="usernotes">
117 User Notes: <ulink url="&blfs-wiki;/gtk4"/>
118 </para>
119 </sect2>
120
121 <sect2 role="installation">
122 <title>Installation of GTK 4</title>
123
124 <para>
125 Install <application>GTK 4</application> by running the following
126 commands:
127 </para>
128
129<screen><userinput>mkdir build &amp;&amp;
130cd build &amp;&amp;
131
132meson --prefix=/usr --buildtype=release -Dbroadway-backend=true .. &amp;&amp;
133ninja</userinput></screen>
134
135 <para>
136 To run the tests, issue: <command>meson test --setup x11</command>. If you
137 are in a Wayland session, replace x11 with wayland. A few tests may fail.
138 </para>
139<!-- [pierre]: 4.6.0, wayland: 727 ok; 2 Expected Fail; 1 Fail; 1 Skipped
140 [bdubbs]: 4.6.3, x11, 724 OK, 2 Expected Fail, 12 Fail. 1 Skipped
141 [pierre]: 4.6.6, wayland, 738 OK, 2 Expected Fail, 1 Fail. 1 Skipped
142 [pierre]: 4.6.7, wayland, 737 OK, 2 Expected Fail, 1 Fail. 1 Skipped. 1 Timeout
143 [bdubbs]: 4.6.7, x11, 758 OK, 2 Expected Fail, 9 Fail. 1 Skipped. 1 Timeout
144 [pierre]: 4.8.1, wayland, 765 OK, 2 Expected Fail, 2 Fail. 1 Skipped
145 [bdubbs]: 4.8.2, x11, 753 OK, 2 Expected Fail, 14 Fail. 1 Skipped-->
146
147 <para>
148 Now, as the <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"><userinput>ninja install</userinput></screen>
152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
157 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
158 href="../../xincludes/meson-buildtype-release.xml"/>
159
160 <para>
161 <parameter>-Dbroadway-backend=true</parameter>: This switch enables the
162 HTML5 GDK backend.
163 </para>
164
165 <para>
166 <option>-Dcloudproviders=enabled</option>: Use this switch if you have
167 <ulink url="https://gitlab.gnome.org/World/libcloudproviders">libcloudproviders</ulink>
168 installed and wish to enable support for cloud providers in a file
169 chooser window.
170 </para>
171
172 <para>
173 <option>-Dsysprof=enabled</option>: Use this switch if you have
174 <xref linkend="sysprof"/> installed and wish to enable tracing support for
175 GTK4-based applications.
176 </para>
177
178 <para>
179 <option>-Dtracker=enabled</option>: Use this switch if you have
180 <xref linkend="tracker3"/> installed and wish to use search functionality
181 when running a file chooser.
182 </para>
183
184 <para>
185 <option>-Dcolord=enabled</option>: Use this switch if you have
186 <xref linkend="colord"/> installed and wish to use colord with the CUPS
187 printing backend.
188 </para>
189
190 <para>
191 <option>-Dgtk_doc=true</option>: Use this switch if you have
192 <ulink url="&gi-docgen-url;">gi-docgen</ulink>
193 installed and wish to generate the API reference documentation.
194 </para>
195
196 </sect2>
197
198 <sect2 role="configuration">
199 <title>Configuring GTK 4</title>
200
201 <sect3 id="gtk4-config">
202 <title>Config Files</title>
203 <para>
204 <filename>~/.config/gtk-4.0/settings.ini</filename> and
205 <filename>/usr/share/gtk-4.0/settings.ini</filename>
206 </para>
207
208 <indexterm zone="gtk4 gtk4-config">
209 <primary sortas="e-AA.home-gtk4-settings.ini">~/.config/gtk-4.0/settings.ini</primary>
210 </indexterm>
211
212 <indexterm zone="gtk4 gtk4-config">
213 <primary
214 sortas="e-usr-share-path-settings.ini">/usr/share/gtk-4.0/settings.ini</primary>
215 </indexterm>
216 </sect3>
217
218 <sect3><title>Configuration Information</title>
219
220 <para>
221 <application>GTK 4</application> themes change the way a
222 <application>GTK 4</application> application looks. An icon theme can
223 be used to change the icons that appear on the application's toolbar.
224 If you have installed a <application>GTK 4</application> theme (e.g.
225 the Adwaita theme built in <application>GTK 4</application>),
226 an icon theme (such as <xref linkend="oxygen-icons5"/>) and/or a font
227 (<xref linkend="dejavu-fonts"/>), you can set your preferences in
228 <filename>~/.config/gtk-4.0/settings.ini</filename>, or the default
229 system-wide configuration file (as the
230 <systemitem class="username">root</systemitem> user), in
231 <filename>/usr/share/gtk-4.0/settings.ini</filename>. For the local
232 user, an example is:
233 </para>
234
235<screen><userinput>mkdir -pv ~/.config/gtk-4.0
236cat &gt; ~/.config/gtk-4.0/settings.ini &lt;&lt; "EOF"
237<literal>[Settings]
238gtk-theme-name = <replaceable>Adwaita</replaceable>
239gtk-icon-theme-name = <replaceable>oxygen</replaceable>
240gtk-font-name = <replaceable>DejaVu Sans 12</replaceable>
241gtk-cursor-theme-size = <replaceable>18</replaceable>
242gtk-xft-antialias = <replaceable>1</replaceable>
243gtk-xft-hinting = <replaceable>1</replaceable>
244gtk-xft-hintstyle = <replaceable>hintslight</replaceable>
245gtk-xft-rgba = <replaceable>rgb</replaceable>
246gtk-cursor-theme-name = <replaceable>Adwaita</replaceable></literal>
247EOF</userinput></screen>
248
249 <para>
250 There are many settings keys, some with default values. You can find
251 them at <ulink
252 url="https://developer.gnome.org/gtk4/stable/GtkSettings.html">Settings:
253 GTK 4 Reference Manual</ulink>.
254 </para>
255
256 </sect3>
257 </sect2>
258
259 <sect2 role="content">
260 <title>Contents</title>
261
262 <segmentedlist>
263 <segtitle>Installed Programs</segtitle>
264 <segtitle>Installed Libraries</segtitle>
265 <segtitle>Installed Directories</segtitle>
266
267 <seglistitem>
268 <seg>
269 gtk4-broadwayd,
270 gtk4-builder-tool,
271 gtk4-demo,
272 gtk4-demo-application,
273 gtk4-encode-symbolic-svg,
274 gtk4-icon-browser,
275 gtk4-launch,
276 gtk4-node-editor,
277 gtk4-print-editor,
278 gtk4-query-settings,
279 gtk4-update-icon-cache, and
280 gtk4-widget-factory
281 </seg>
282 <seg>
283 libgtk-4.so
284 </seg>
285 <seg>
286 /usr/include/gtk-4.0,
287 /usr/lib/gtk-4.0, and
288 /usr/share/gtk-4.0
289 </seg>
290 </seglistitem>
291 </segmentedlist>
292
293 <variablelist>
294 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
295 <?dbfo list-presentation="list"?>
296 <?dbhtml list-presentation="table"?>
297
298 <varlistentry id="gtk4-broadwayd">
299 <term><command>gtk4-broadwayd</command></term>
300 <listitem>
301 <para>
302 provides support for displaying GTK 4 applications in a web
303 browser using HTML5 and web sockets
304 </para>
305 <indexterm zone="gtk4 gtk4-broadwayd">
306 <primary sortas="b-gtk4-broadwayd">gtk4-broadwayd</primary>
307 </indexterm>
308 </listitem>
309 </varlistentry>
310
311 <varlistentry id="gtk4-builder-tool">
312 <term><command>gtk4-builder-tool</command></term>
313 <listitem>
314 <para>
315 performs various operations on GtkBuilder .ui files
316 </para>
317 <indexterm zone="gtk4 gtk4-builder-tool">
318 <primary sortas="b-gtk4-builder-tool">gtk4-builder-tool</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="gtk4-demo">
324 <term><command>gtk4-demo</command></term>
325 <listitem>
326 <para>
327 is a simple program that demonstrates some of the tasks that can be
328 done with GTK 4
329 </para>
330 <indexterm zone="gtk4 gtk4-demo">
331 <primary sortas="b-gtk4-demo">gtk4-demo</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="gtk4-demo-application">
337 <term><command>gtk4-demo-application</command></term>
338 <listitem>
339 <para>
340 is a simple GTK 4 application which is useful for testing
341 </para>
342 <indexterm zone="gtk4 gtk4-demo-application">
343 <primary sortas="b-gtk4-demo-application">gtk4-demo-application</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="gtk4-encode-symbolic-svg">
349 <term><command>gtk4-encode-symbolic-svg</command></term>
350 <listitem>
351 <para>
352 converts symbolic SVG icons into special PNG files. GTK 4 can load
353 and recolor these PNGs, just like original SVGs, but loading them
354 is much faster
355 </para>
356 <indexterm zone="gtk4 gtk4-encode-symbolic-svg">
357 <primary sortas="b-gtk4-encode-symbolic-svg">gtk4-encode-symbolic-svg</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="gtk4-icon-browser">
363 <term><command>gtk4-icon-browser</command></term>
364 <listitem>
365 <para>
366 is a utility to explore the icons in the current icon theme. It
367 shows icons in various sizes, their symbolic variants when
368 available, as well as a description of the icon and its context
369 </para>
370 <indexterm zone="gtk4 gtk4-icon-browser">
371 <primary sortas="b-gtk4-icon-browser">gtk4-icon-browser</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="gtk4-launch">
377 <term><command>gtk4-launch</command></term>
378 <listitem>
379 <para>
380 launches an application using the given name. The name should match
381 the application .desktop file name (as seen in
382 <filename class="directory">/usr/share/applications</filename>),
383 with or without the '.desktop' extension
384 </para>
385 <indexterm zone="gtk4 gtk-launch">
386 <primary sortas="b-gtk4-launch">gtk4-launch</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="gtk4-node-editor">
392 <term><command>gtk4-node-editor</command></term>
393 <listitem>
394 <para>
395 is a utility to show and edit render node files. Such render
396 node files can be obtained e.g. from the GTK inspector
397 </para>
398 <indexterm zone="gtk4 gtk4-node-editor">
399 <primary sortas="b-gtk4-node-editor">gtk4-node-editor</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404 <varlistentry id="gtk4-print-editor">
405 <term><command>gtk4-print-editor</command></term>
406 <listitem>
407 <para>
408 is a simple program to demonstrate printing using GTK 4
409 applications
410 </para>
411 <indexterm zone="gtk4 gtk4-print-editor">
412 <primary sortas="b-gtk4-print-editor">gtk4-print-editor</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="gtk4-query-settings">
418 <term><command>gtk4-query-settings</command></term>
419 <listitem>
420 <para>
421 provides a complete listing of all settings related to GTK 4
422 </para>
423 <indexterm zone="gtk4 gtk4-query-settings">
424 <primary sortas="b-gtk4-query-settings">gtk4-query-settings</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
428
429 <varlistentry id="gtk4-update-icon-cache">
430 <term><command>gtk4-update-icon-cache</command></term>
431 <listitem>
432 <para>
433 is an icon theme caching utility that creates mmap()able cache
434 files for icon themes
435 </para>
436 <indexterm zone="gtk4 gtk4-update-icon-cache">
437 <primary sortas="b-gtk4-update-icon-cache">gtk4-update-icon-cache</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="gtk4-widget-factory">
443 <term><command>gtk4-widget-factory</command></term>
444 <listitem>
445 <para>
446 is a program to view GTK 4 themes and widgets
447 </para>
448 <indexterm zone="gtk4 gtk4-widget-factory">
449 <primary sortas="b-gtk4-widget-factory">gtk4-widget-factory</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="libgtk-4">
455 <term><filename class="libraryfile">libgtk-4.so</filename></term>
456 <listitem>
457 <para>
458 contains functions that provide an API to implement graphical user
459 interfaces
460 </para>
461 <indexterm zone="gtk4 libgtk-4">
462 <primary sortas="c-libgtk-4">libgtk-4.so</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466 </variablelist>
467 </sect2>
468</sect1>
Note: See TracBrowser for help on using the repository browser.