source: x/lib/gtk+3.xml@ 6b0156b2

10.0 10.1 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 6b0156b2 was 8a89491, checked in by Douglas R. Reno <renodr@…>, 4 years ago

Update to GTK+-3.24.20. Also revert to Autotools (see Ticket #13459), and add the scrollbar buttons back.
Update to Seamonkey-2.53.2. Includes well over 100 security fixes. Also cleanup some comments on that page

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

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