source: x/lib/gtk4.xml@ 9d31900

11.0 11.1 11.2 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 9d31900 was 9d31900, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to glib-2.68.0
Update to vala-0.52.0
Update to gobject-introspection-1.68.0
Update to pygobject-3.40.1
Update to glib-networking-2.68.0
Update to at-spi2-core-2.40.0
Update to gdk-pixbuf-2.42.4
Update to gtk+-3.24.28
Update to libdazzle-3.40.0
Update to sysprof-3.40.1
Update to tepl-6.00.0
Added gtk-4.2.0
Added gtksourceview-5.0.0

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24430 af4574ff-66df-0310-9fd7-8a98e5e911e0

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