source: x/lib/gtk+3.xml@ 1ea1e02d

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/llvm18 xry111/xf86-video-removal
Last change on this file since 1ea1e02d was 1ea1e02d, checked in by Douglas R. Reno <renodr@…>, 17 months ago

Change all dependencies on at-spi2-atk and ATK to at-spi2-core.

This accounts for their archival in the next couple of commits.

The reason behind the archival is that the files from both of those
packages are now provided by at-spi2-core.

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