source: x/lib/gtk+3.xml@ 684b2a58

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 xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 684b2a58 was 0a0ad3a, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Package updates.
Update to tree-2.0.0.
Update to pango-1.50.3.
Update to qpdf-10.5.0.
Update to libportal-0.5.
Update to gtk+3 3.24.31.
Update URLs in Beyond BLFS section.

  • Property mode set to 100644
File size: 19.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 gtk3-download-http "&gnome-download-http;/gtk+/&gnome-minor-24;/gtk+-&gtk3-version;.tar.xz">
8 <!ENTITY gtk3-download-ftp "&gnome-download-ftp;/gtk+/&gnome-minor-24;/gtk+-&gtk3-version;.tar.xz">
9 <!ENTITY gtk3-md5sum "1c4821835d6ffe7cf5b35c320f89569b">
10 <!ENTITY gtk3-size "21 MB">
11 <!ENTITY gtk3-buildsize "480 MB (add 9 MB for tests)">
12 <!ENTITY gtk3-time "1.7 SBU (using parallelism=4, add 2.4 SBU for tests)">
13]>
14
15<sect1 id="gtk3" xreflabel="GTK+-&gtk3-version;">
16 <?dbhtml filename="gtk3.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>GTK+-&gtk3-version;</title>
23
24 <indexterm zone="gtk3">
25 <primary sortas="a-GTK+3">GTK+3</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to GTK+ 3</title>
30
31 <para>
32 The <application>GTK+ 3</application> package contains
33 libraries used for creating graphical user interfaces for
34 applications.
35 </para>
36
37 &lfs110a_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&gtk3-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&gtk3-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &gtk3-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &gtk3-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &gtk3-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &gtk3-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">GTK+ 3 Dependencies</bridgehead>
74
75 <bridgehead renderas="sect4">Required</bridgehead>
76 <para role="required">
77 <xref linkend="at-spi2-atk"/>,
78 <xref linkend="gdk-pixbuf"/>,
79 <xref linkend="libepoxy"/>, and
80 <xref linkend="pango"/>
81 </para>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended">
85 <xref linkend="adwaita-icon-theme"/> (default for some gtk+3 settings
86 keys, also needed for tests),
87 <xref linkend="hicolor-icon-theme"/> (needed for tests),
88 <xref linkend="iso-codes"/>,
89 <xref linkend="libxkbcommon"/>,
90 <xref linkend="sassc"/>,
91 <xref linkend="wayland"/>, and
92 <xref linkend="wayland-protocols"/>
93 </para>
94
95 <bridgehead renderas="sect4">Recommended (Required if building GNOME)</bridgehead>
96 <para role="recommended">
97 <xref linkend="gobject-introspection"/>
98 </para>
99
100 <bridgehead renderas="sect4">Optional</bridgehead>
101 <para role="optional">
102 <xref linkend="colord"/>,
103 <xref linkend="cups"/>,
104 <xref linkend="docbook-utils"/>,
105 <xref linkend="gtk-doc"/>,
106 <xref linkend="json-glib"/>,
107 <xref linkend="pyatspi2"/> (for tests),
108 <xref linkend="rest"/>, and
109 <ulink url="http://icl.cs.utk.edu/papi/">PAPI</ulink>
110 </para>
111
112 <para condition="html" role="usernotes">
113 User Notes: <ulink url="&blfs-wiki;/gtk3"/>
114 </para>
115 </sect2>
116
117 <sect2 role="installation">
118 <title>Installation of GTK+ 3</title>
119
120 <para>
121 Install <application>GTK+ 3</application> by running the following
122 commands:
123 </para>
124
125<!-- There is a meson port available, but upstream's official recommendation
126 is to use autotools, and is the only offically supported build system.
127 See ticket #13459 for more details.-->
128
129<screen><userinput>./configure --prefix=/usr \
130 --sysconfdir=/etc \
131 --enable-broadway-backend \
132 --enable-x11-backend \
133 --enable-wayland-backend &amp;&amp;
134make</userinput></screen>
135
136 <para>
137 Some tests fail if
138 <filename>/usr/share/glib-2.0/schemas/gschemas.compiled</filename> is not
139 found. If you wish to run the test suite, create (or update) the file
140 using the following command as the
141 <systemitem class="username">root</systemitem> user:
142 <command>glib-compile-schemas /usr/share/glib-2.0/schemas</command>.
143 </para>
144
145 <para>
146 To test the results you need a graphical session, then issue
147 <command>make check</command>. <!--There are several tests that
148 have subtests that are known to fail: scrolledwindow, treeview,
149 accessibility-dump, test-css-nodes, and gtk-reftest.
150 Additionally many tests will fail if the current
151 gtk theme (such as current XFCE themes) has deprecated elements.
152 The accessibility portion of the test suite (7 tests) is known
153 to fail.
154 [pierre Sep 5th, 2020]: not for me for version 3.24.23, but I have
155 other failures: display, and subtests in defaultvalue, objects-finalize,
156 window, and gtk-reftest.
157 [bdubbs Mar 3rd, 2011 Just two tests fail now. -->
158 <!--The accessibility-dump test has subtests that are known to fail.
159 The gtk-reftest suite has two tests that are known to fail as well.-->
160 Several tests associated with scrolledwindow are known to fail.
161 </para>
162
163 <para>
164 Now, as the <systemitem class="username">root</systemitem> user:
165 </para>
166
167<screen role="root"><userinput>make install</userinput></screen>
168
169 <note>
170 <para>
171 If you installed the package on to your system using a
172c <quote>DESTDIR</quote> method, an important file was not installed and
173 must be copied and/or generated. Generate it using the following
174 command as the <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
178 </note>
179
180 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
181 href="../../xincludes/gsettings-destdir.xml"/>
182 </sect2>
183
184 <sect2 role="commands">
185 <title>Command Explanations</title>
186
187 <!-- MESON ONLY
188 <para>
189 <parameter>-Dbroadway_backend=true</parameter>: This switch enables the
190 HTML5 GTK backend.
191 </para>
192 -->
193
194 <para>
195 <parameter>--enable-broadway-backend</parameter>: This switch enables the
196 HTML5 GTK backend.
197 </para>
198
199 <para>
200 <parameter>--enable-x11-backend</parameter>: This switch enables the X11
201 GDK backend.
202 </para>
203
204 <para>
205 <parameter>--enable-wayland-backend</parameter>: This switch
206 enables the Wayland GDK backend. Replace with
207 <option>--disable-wayland-backend</option> if you do not have
208 <xref linkend="wayland"/> and <xref linkend="wayland-protocols"/>
209 or you do not wish to build <application>GNOME</application> with Wayland
210 support. Other changes may be needed to allow the build to complete
211 without the wayland backend enabled. Note that a previous installation
212 of gtk+3 built with wayland will interfere with installation without
213 wayland. If this is desired, remove /usr/lib/libgtk-3* before
214 installation.
215 </para>
216
217 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
218 href="../../xincludes/gtk-doc-rebuild.xml"/>
219
220 <!-- MESON ONLY
221 <para>
222 <parameter>-Dcolord=yes</parameter>: This switch allows color support
223 in the GTK+ printing backend.
224 </para>
225
226 <para>
227 <parameter>-Dman=true</parameter>: This switch allows generating
228 manual pages.
229 </para>
230
231 <para>
232 <parameter>-Dgtk_doc=false</parameter>: This switch disables building
233 documentation. Replace with -Dgtk_doc=true if you have
234 <xref linkend="gtk-doc"/> installed and wish to generate documentation.
235 </para>
236 -->
237
238 </sect2>
239
240 <sect2 role="configuration">
241 <title>Configuring GTK+ 3</title>
242
243 <sect3 id="gtk3-config">
244 <title>Config Files</title>
245 <para>
246 <filename>~/.config/gtk-3.0/settings.ini</filename> and
247 <filename>/etc/gtk-3.0/settings.ini</filename>
248 </para>
249
250 <indexterm zone="gtk3 gtk3-config">
251 <primary sortas="e-AA.home-settings.ini">~/.config/gtk-3.0/settings.ini</primary>
252 </indexterm>
253
254 <indexterm zone="gtk3 gtk3-config">
255 <primary sortas="e-etc-path-settings.ini">/etc/gtk-3.0/settings.ini</primary>
256 </indexterm>
257 </sect3>
258
259 <sect3><title>Configuration Information</title>
260
261 <para>
262 <application>GTK+ 3</application> themes change the way a
263 <application>GTK+ 3</application> application looks. An icon theme can
264 be used to change the icons that appear on the application's toolbar.
265 If you have installed a <application>GTK+ 3</application> theme (e.g.
266 the Adwaita theme built in <application>GTK+ 3</application>),
267 an icon theme (such as <xref
268 linkend="oxygen-icons5"/>) and/or a font (<xref linkend="dejavu-fonts"/>),
269 you can set your preferences in <filename>~/.config/gtk-3.0/settings.ini</filename>,
270 or the default system wide configuration file (as the <systemitem
271 class="username">root</systemitem> user), in
272 <filename>/etc/gtk-3.0/settings.ini</filename>. For the local user an
273 example is:
274 </para>
275
276<screen><userinput>mkdir -vp ~/.config/gtk-3.0
277cat &gt; ~/.config/gtk-3.0/settings.ini &lt;&lt; "EOF"
278<literal>[Settings]
279gtk-theme-name = <replaceable>Adwaita</replaceable>
280gtk-icon-theme-name = <replaceable>oxygen</replaceable>
281gtk-font-name = <replaceable>DejaVu Sans 12</replaceable>
282gtk-cursor-theme-size = <replaceable>18</replaceable>
283gtk-toolbar-style = <replaceable>GTK_TOOLBAR_BOTH_HORIZ</replaceable>
284gtk-xft-antialias = <replaceable>1</replaceable>
285gtk-xft-hinting = <replaceable>1</replaceable>
286gtk-xft-hintstyle = <replaceable>hintslight</replaceable>
287gtk-xft-rgba = <replaceable>rgb</replaceable>
288gtk-cursor-theme-name = <replaceable>Adwaita</replaceable></literal>
289EOF</userinput></screen>
290
291 <para>
292 There are many settings keys, some with default values. You can find
293 them at <ulink
294 url="https://developer.gnome.org/gtk3/stable/GtkSettings.html">Settings:
295 GTK+ 3 Reference Manual</ulink>. There are many more themes available at
296 <ulink url="https://www.gnome-look.org/browse/"/> and other places.
297 </para>
298
299 <para>
300 As part of GTK+-3.0's redesign, the scroll bar buttons are no longer
301 visible on the scrollbar in many applications. If this functionality
302 is desired, modify the <filename>gtk.css</filename> file and restore
303 them using the following command:
304 </para>
305
306<screen><userinput>cat &gt; ~/.config/gtk-3.0/gtk.css &lt;&lt; "EOF"
307<literal>* {
308 -GtkScrollbar-has-backward-stepper: 1;
309 -GtkScrollbar-has-forward-stepper: 1;
310}</literal>
311EOF</userinput></screen>
312
313 <!-- This trick was discovered in the Seamonkey-2.53.2 release notes:
314 http://www.seamonkey-project.org/releases/seamonkey2.53.2/ -->
315
316 </sect3>
317 </sect2>
318
319 <sect2 role="content">
320 <title>Contents</title>
321
322 <segmentedlist>
323 <segtitle>Installed Programs</segtitle>
324 <segtitle>Installed Libraries</segtitle>
325 <segtitle>Installed Directories</segtitle>
326
327 <seglistitem>
328 <seg>
329 broadwayd,
330 gtk3-demo,
331 gtk3-demo-application,
332 gtk3-icon-browser,
333 gtk3-widget-factory,
334 gtk-builder-tool,
335 gtk-encode-symbolic-svg,
336 gtk-launch,
337 gtk-query-immodules-3.0,
338 gtk-query-settings, and
339 gtk-update-icon-cache
340 </seg>
341 <seg>
342 libgailutil-3.so, libgdk-3.so, and libgtk-3.so
343 </seg>
344 <seg>
345 /etc/gtk-3.0,
346 /usr/include/{gail,gtk}-3.0,
347 /usr/{lib,share}/gtk-3.0,
348 /usr/share/gtk-doc/html/{gail-libgail-util,gdk,gtk}3, and
349 /usr/share/themes/{Default,Emacs}/gtk-3.0
350 </seg>
351 </seglistitem>
352 </segmentedlist>
353
354 <variablelist>
355 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
356 <?dbfo list-presentation="list"?>
357 <?dbhtml list-presentation="table"?>
358
359 <varlistentry id="broadwayd">
360 <term><command>broadwayd</command></term>
361 <listitem>
362 <para>
363 provides support for displaying
364 <application>GTK+ 3</application> applications in a web browser,
365 using HTML5 and web sockets
366 </para>
367 <indexterm zone="gtk3 broadwayd">
368 <primary sortas="b-broadwayd">broadwayd</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="gtk3-demo">
374 <term><command>gtk3-demo</command></term>
375 <listitem>
376 <para>
377 is a simple program that demonstrates some of the tasks that can be
378 done with <application>GTK+ 3</application>
379 </para>
380 <indexterm zone="gtk3 gtk3-demo">
381 <primary sortas="b-gtk3-demo">gtk3-demo</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385
386 <varlistentry id="gtk3-demo-application">
387 <term><command>gtk3-demo-application</command></term>
388 <listitem>
389 <para>
390 is a simple <application>GTK+ 3</application> application
391 </para>
392 <indexterm zone="gtk3 gtk3-demo-application">
393 <primary sortas="b-gtk3-demo-application">gtk3-demo-application</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="gtk3-icon-browser">
399 <term><command>gtk3-icon-browser</command></term>
400 <listitem>
401 <para>
402 is a utility to explore the icons in the current icon theme. It
403 shows icons in various sizes, their symbolic variants where
404 available, as well as a description of the icon and its context
405 </para>
406 <indexterm zone="gtk3 gtk3-icon-browser">
407 <primary sortas="b-gtk3-icon-browser">gtk3-icon-browser</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry id="gtk3-widget-factory">
413 <term><command>gtk3-widget-factory</command></term>
414 <listitem>
415 <para>
416 is a program to view <application>GTK+ 3</application> themes and widgets
417 </para>
418 <indexterm zone="gtk3 gtk3-widget-factory">
419 <primary sortas="b-gtk3-widget-factory">gtk3-widget-factory</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="gtk-builder-tool">
425 <term><command>gtk-builder-tool</command></term>
426 <listitem>
427 <para>
428 performs various operations on GtkBuilder .ui files
429 </para>
430 <indexterm zone="gtk3 gtk-builder-tool">
431 <primary sortas="b-gtk-builder-tool">gtk-builder-tool</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="gtk-encode-symbolic-svg">
437 <term><command>gtk-encode-symbolic-svg</command></term>
438 <listitem>
439 <para>
440 converts symbolic SVG icons into specially prepared PNG files.
441 <application>GTK+ 3</application> can load and recolor these PNGs,
442 just like original SVGs, but loading them is much faster
443 </para>
444 <indexterm zone="gtk3 gtk-encode-symbolic-svg">
445 <primary sortas="b-gtk-encode-symbolic-svg">gtk-encode-symbolic-svg</primary>
446 </indexterm>
447 </listitem>
448 </varlistentry>
449
450 <varlistentry id="gtk-launch">
451 <term><command>gtk-launch</command></term>
452 <listitem>
453 <para>
454 launches an application using the given name. The name should match
455 the application desktop file name, as residing in
456 <filename class="directory">/usr/share/applications</filename>, with
457 or without the '.desktop' suffix
458 </para>
459 <indexterm zone="gtk3 gtk-launch">
460 <primary sortas="b-gtk-launch">gtk-launch</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="gtk-query-immodules-3.0">
466 <term><command>gtk-query-immodules-3.0</command></term>
467 <listitem>
468 <para>
469 collects information about loadable input method modules for
470 <application>GTK+ 3</application> and writes it to the default cache
471 file location, or to standard output
472 </para>
473 <indexterm zone="gtk3 gtk-query-immodules-3.0">
474 <primary sortas="b-gtk-query-immodules-3.0">gtk-query-immodules-3.0</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="gtk-query-settings">
480 <term><command>gtk-query-settings</command></term>
481 <listitem>
482 <para>
483 provides a complete listing of all settings related to
484 <application>GTK+ 3</application>
485 </para>
486 <indexterm zone="gtk3 gtk-query-settings">
487 <primary sortas="b-gtk-query-settings">gtk-query-settings</primary>
488 </indexterm>
489 </listitem>
490 </varlistentry>
491
492 <varlistentry id="gtk-update-icon-cache3">
493 <term><command>gtk-update-icon-cache</command></term>
494 <listitem>
495 <para>
496 is an icon theme caching utility that creates mmap()able cache files
497 for icon themes
498 </para>
499 <indexterm zone="gtk3 gtk-update-icon-cache3">
500 <primary sortas="b-gtk-update-icon-cache3">gtk-update-icon-cache</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505 <varlistentry id="libgailutil-3">
506 <term><filename class="libraryfile">libgailutil-3.so</filename></term>
507 <listitem>
508 <para>
509 contains functions that implement the accessibility interfaces
510 defined by the <application>GNOME</application> Accessibility
511 Toolkit
512 </para>
513 <indexterm zone="gtk3 libgailutil-3">
514 <primary sortas="c-libgailutil-3">libgailutil-3.so</primary>
515 </indexterm>
516 </listitem>
517 </varlistentry>
518
519 <varlistentry id="libgdk-3">
520 <term><filename class="libraryfile">libgdk-3.so</filename></term>
521 <listitem>
522 <para>
523 contains functions that act as a wrapper around the low-level
524 drawing and windowing functions provided by the underlying graphics
525 system
526 </para>
527 <indexterm zone="gtk3 libgdk-3">
528 <primary sortas="c-libgdk-3">libgdk-3.so</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="libgtk-3">
534 <term><filename class="libraryfile">libgtk-3.so</filename></term>
535 <listitem>
536 <para>
537 contains functions that provide an API to implement graphical user
538 interfaces
539 </para>
540 <indexterm zone="gtk3 libgtk-3">
541 <primary sortas="c-libgtk-3">libgtk-3.so</primary>
542 </indexterm>
543 </listitem>
544 </varlistentry>
545
546 </variablelist>
547
548 </sect2>
549
550</sect1>
Note: See TracBrowser for help on using the repository browser.