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

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 b5645ad was b5645ad, checked in by Ken Moffat <ken@…>, 3 years ago

Tags.

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