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

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 3df8ea47 was 3df8ea47, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Tags for libraries

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

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