source: x/lib/gtk+3.xml@ b338131

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 b338131 was 5d2965c, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to ModemManager-1.16.2
Update to qpdf-10.2.0
Update to libgxps-0.3.2
Update to babl-0.1.86
Update to libqmi-1.28.2
Update to poppler-21.03.0
Update to URI-5.09 (Perl Module)
Update to gtksourceview4-4.8.1
Update to OpenSSH-8.5p1 (and ssh-askpass-8.5p1)
libwacom: Correct version number
libwacom: Add libwacom-show-stylus
bluez: Drop the patch

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

  • Property mode set to 100644
File size: 18.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 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 "b4230db0dcbf7c1c55a6bbe13bb6660e">
10 <!ENTITY gtk3-size "20 MB">
11 <!ENTITY gtk3-buildsize "482 MB (add 9 MB for tests)">
12 <!ENTITY gtk3-time "1.6 SBU (using parallelism=4, add 0.4 SBU for tests)">
13]>
14
15<sect1 id="gtk3" xreflabel="GTK+-&gtk3-version;">
16 <?dbhtml filename="gtk3.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GTK+-&gtk3-version;</title>
24
25 <indexterm zone="gtk3">
26 <primary sortas="a-GTK+3">GTK+3</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GTK+ 3</title>
31
32 <para>
33 The <application>GTK+ 3</application> package contains
34 libraries used for creating graphical user interfaces for
35 applications.
36 </para>
37
38 &lfs101_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&gtk3-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&gtk3-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &gtk3-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &gtk3-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &gtk3-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &gtk3-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">GTK+ 3 Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required">
78 <xref linkend="at-spi2-atk"/>,
79 <xref linkend="gdk-pixbuf"/>,
80 <xref linkend="libepoxy"/>, and
81 <xref linkend="pango"/>
82 </para>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended">
86 <xref linkend="adwaita-icon-theme"/> (default for some gtk+3 settings
87 keys, also needed for tests),
88 <xref linkend="hicolor-icon-theme"/> (needed for tests),
89 <xref linkend="iso-codes"/>,
90 <xref linkend="libxkbcommon"/>,
91 <xref linkend="sassc"/>,
92 <xref linkend="wayland"/>, and
93 <xref linkend="wayland-protocols"/>
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="docbook-utils"/>,
106 <xref linkend="gtk-doc"/>,
107 <xref linkend="json-glib"/>,
108 <xref linkend="pyatspi2"/> (for tests),
109 <xref linkend="rest"/>, and
110 <ulink url="http://icl.cs.utk.edu/papi/">PAPI</ulink>
111 </para>
112
113 <para condition="html" role="usernotes">
114 User Notes: <ulink url="&blfs-wiki;/gtk3"/>
115 </para>
116 </sect2>
117
118 <sect2 role="installation">
119 <title>Installation of GTK+ 3</title>
120
121 <para>
122 Install <application>GTK+ 3</application> by running the following
123 commands:
124 </para>
125
126<!-- There is a meson port available, but upstream's official recommendation
127 is to use autotools, and is the only offically supported build system.
128 See ticket #13459 for more details.-->
129
130<screen><userinput>./configure --prefix=/usr \
131 --sysconfdir=/etc \
132 --enable-broadway-backend \
133 --enable-x11-backend \
134 --enable-wayland-backend &amp;&amp;
135make</userinput></screen>
136
137 <para>
138 Some tests fail if
139 <filename>/usr/share/glib-2.0/schemas/gschemas.compiled</filename> is not
140 found. If you wish to run the test suite, create (or update) the file
141 using the following command as the
142 <systemitem class="username">root</systemitem> user:
143 <command>glib-compile-schemas /usr/share/glib-2.0/schemas</command>.
144 </para>
145
146 <para>
147 To test the results you need a graphical session, then issue
148 <command>make check</command>. <!--There are several tests that
149 have subtests that are known to fail: scrolledwindow, treeview,
150 accessibility-dump, test-css-nodes, and gtk-reftest.
151 Additionally many tests will fail if the current
152 gtk theme (such as current XFCE themes) has deprecated elements.
153 The accessibility portion of the test suite (7 tests) is known
154 to fail.
155 [pierre Sep 5th, 2020]: not for me for version 3.24.23, but I have
156 other failures: display, and subtests in defaultvalue, objects-finalize,
157 window, and gtk-reftest.
158 [bdubbs Mar 3rd, 2011 Just two tests fail now. -->
159 The gtk-reftest and accessibility-dump tests have subtests that are
160 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
172 <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="http://gnome-look.org/"/> 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 can perform 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.