source: x/lib/gtk4.xml@ 13d0ae8b

11.3 12.0 12.1 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/llvm18 xry111/xf86-video-removal
Last change on this file since 13d0ae8b was 13d0ae8b, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Package updates.
Update to alsa-lib alsa-utils 1.2.8.
Update to unrar-6.2.1.
Update to gtk-4.8.2.

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