source: x/lib/gtk+3.xml@ 9db97051

12.2 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 9db97051 was 9db97051, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Whitespace

  • Property mode set to 100644
File size: 16.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 " ">
9 <!ENTITY gtk3-md5sum "226e372664a7fae749a50a04983ecd8d">
10 <!ENTITY gtk3-size "13 MB">
11 <!ENTITY gtk3-buildsize "252 MB (add 8 MB for tests)">
12 <!ENTITY gtk3-time "0.8 SBU (using parallelism=4; add 0.2 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 &lfs121_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 role='runtime' linkend="adwaita-icon-theme"/>
83 (at runtime; default for some gtk+3 settings keys and
84 also needed for one test),
85 <xref linkend="docbook-xsl"/> (for generating manual pages),
86 <xref linkend="hicolor-icon-theme"/> (needed for tests),
87 <xref linkend="iso-codes"/>,
88 <xref linkend="libxkbcommon"/>,
89 <xref linkend="libxslt"/> (for generating manual pages),
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 &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="gtk-doc"/>,
105 <xref linkend="libcloudproviders"/>,
106 <xref linkend="pyatspi2"/> (for tests),
107 <xref linkend='tracker3'/>, and
108 <ulink url="https://icl.utk.edu/papi/">PAPI</ulink>
109 </para>
110
111 </sect2>
112
113 <sect2 role="installation">
114 <title>Installation of GTK+ 3</title>
115
116 <para>
117 Install <application>GTK+ 3</application> by running the following
118 commands:
119 </para>
120
121 <screen><userinput>mkdir build &amp;&amp;
122cd build &amp;&amp;
123
124meson setup .. \
125 --prefix=/usr \
126 --buildtype=release \
127 -D man=true \
128 -D broadway_backend=true &amp;&amp;
129ninja</userinput></screen>
130
131 <para>
132 To test the results you need a graphical session, then issue
133 <command>dbus-run-session ninja test</command>.
134 </para>
135
136 <para>
137 Now, as the <systemitem class="username">root</systemitem> user:
138 </para>
139
140<screen role="root"><userinput>ninja install</userinput></screen>
141
142 <para>
143 One test named <filename>check-cursor-names</filename> is known
144 to fail if <xref linkend='adwaita-icon-theme'/> is not installed.
145 </para>
146
147 <note>
148 <para>
149 If you installed the package on to your system using a
150 <quote>DESTDIR</quote> method, an important file was not installed and
151 must be copied and/or generated. Generate it using the following
152 command as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
156 </note>
157
158 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
159 href="../../xincludes/gsettings-destdir.xml"/>
160 </sect2>
161
162 <sect2 role="commands">
163 <title>Command Explanations</title>
164
165 <para>
166 <parameter>-D broadway_backend=true</parameter>: This switch enables the
167 HTML5 GTK backend.
168 </para>
169
170 <para>
171 <parameter>-D man=true</parameter>: This switch allows generating
172 manual pages.
173 </para>
174
175 <para>
176 <option>-D gtk_doc=true</option>: This switch enables building
177 documentation. It requires <xref linkend="gtk-doc"/>.
178 </para>
179
180 <para>
181 <option>-D tracker3=true</option>: This switch enables the search
182 function based on Tracker 3 in the GTK+-3 file chooser dialog.
183 It requires <xref linkend="tracker3"/>.
184 </para>
185
186 <para>
187 <option>-D cloudproviders=true</option>: Use this switch if you have
188 <xref linkend="libcloudproviders" role="nodep"/> installed and wish to
189 enable support for cloud providers in a file chooser window.
190 </para>
191
192 </sect2>
193
194 <sect2 role="configuration">
195 <title>Configuring GTK+ 3</title>
196
197 <sect3 id="gtk3-config">
198 <title>Config Files</title>
199 <para>
200 <filename>~/.config/gtk-3.0/settings.ini</filename> and
201 <filename>/etc/gtk-3.0/settings.ini</filename>
202 </para>
203
204 <indexterm zone="gtk3 gtk3-config">
205 <primary sortas="e-AA.home-settings.ini">~/.config/gtk-3.0/settings.ini</primary>
206 </indexterm>
207
208 <indexterm zone="gtk3 gtk3-config">
209 <primary sortas="e-etc-path-settings.ini">/etc/gtk-3.0/settings.ini</primary>
210 </indexterm>
211 </sect3>
212
213 <sect3><title>Configuration Information</title>
214
215 <para>
216 <application>GTK+ 3</application> themes change the way a
217 <application>GTK+ 3</application> application looks. An icon theme can
218 be used to change the icons that appear on the application's toolbar.
219 If you have installed a <application>GTK+ 3</application> theme (e.g.
220 the Adwaita theme built in <application>GTK+ 3</application>),
221 an icon theme (such as <xref
222 linkend="oxygen-icons"/>) and/or a font (<xref linkend="dejavu-fonts"/>),
223 you can set your preferences in <filename>~/.config/gtk-3.0/settings.ini</filename>,
224 or the default system wide configuration file (as the <systemitem
225 class="username">root</systemitem> user), in
226 <filename>/etc/gtk-3.0/settings.ini</filename>. For the local user an
227 example is:
228 </para>
229
230<screen><userinput>mkdir -vp ~/.config/gtk-3.0
231cat &gt; ~/.config/gtk-3.0/settings.ini &lt;&lt; "EOF"
232<literal>[Settings]
233gtk-theme-name = <replaceable>Adwaita</replaceable>
234gtk-icon-theme-name = <replaceable>oxygen</replaceable>
235gtk-font-name = <replaceable>DejaVu Sans 12</replaceable>
236gtk-cursor-theme-size = <replaceable>18</replaceable>
237gtk-toolbar-style = <replaceable>GTK_TOOLBAR_BOTH_HORIZ</replaceable>
238gtk-xft-antialias = <replaceable>1</replaceable>
239gtk-xft-hinting = <replaceable>1</replaceable>
240gtk-xft-hintstyle = <replaceable>hintslight</replaceable>
241gtk-xft-rgba = <replaceable>rgb</replaceable>
242gtk-cursor-theme-name = <replaceable>Adwaita</replaceable></literal>
243EOF</userinput></screen>
244
245 <para>
246 There are many settings keys, some with default values. You can find
247 them at <ulink
248 url="https://developer.gnome.org/gtk3/stable/GtkSettings.html">Settings:
249 GTK+ 3 Reference Manual</ulink>. There are many more themes available at
250 <ulink url="https://www.gnome-look.org/browse/"/> and other places.
251 </para>
252
253 <para>
254 As part of GTK+-3.0's redesign, the scroll bar buttons are no longer
255 visible on the scrollbar in many applications. If this functionality
256 is desired, modify the <filename>gtk.css</filename> file and restore
257 them using the following command:
258 </para>
259
260<screen><userinput>cat &gt; ~/.config/gtk-3.0/gtk.css &lt;&lt; "EOF"
261<literal>* {
262 -GtkScrollbar-has-backward-stepper: 1;
263 -GtkScrollbar-has-forward-stepper: 1;
264}</literal>
265EOF</userinput></screen>
266
267 <!-- This trick was discovered in the Seamonkey-2.53.2 release notes:
268 http://www.seamonkey-project.org/releases/seamonkey2.53.2/ -->
269
270 </sect3>
271 </sect2>
272
273 <sect2 role="content">
274 <title>Contents</title>
275
276 <segmentedlist>
277 <segtitle>Installed Programs</segtitle>
278 <segtitle>Installed Libraries</segtitle>
279 <segtitle>Installed Directories</segtitle>
280
281 <seglistitem>
282 <seg>
283 broadwayd,
284 gtk3-demo,
285 gtk3-demo-application,
286 gtk3-icon-browser,
287 gtk3-widget-factory,
288 gtk-builder-tool,
289 gtk-encode-symbolic-svg,
290 gtk-launch,
291 gtk-query-immodules-3.0,
292 gtk-query-settings, and
293 gtk-update-icon-cache
294 </seg>
295 <seg>
296 libgailutil-3.so, libgdk-3.so, and libgtk-3.so
297 </seg>
298 <seg>
299 /etc/gtk-3.0,
300 /usr/include/{gail,gtk}-3.0,
301 /usr/{lib,share}/gtk-3.0, and
302 /usr/share/themes/{Default,Emacs}/gtk-3.0
303 </seg>
304 </seglistitem>
305 </segmentedlist>
306
307 <variablelist>
308 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
309 <?dbfo list-presentation="list"?>
310 <?dbhtml list-presentation="table"?>
311
312 <varlistentry id="broadwayd">
313 <term><command>broadwayd</command></term>
314 <listitem>
315 <para>
316 provides support for displaying
317 <application>GTK+ 3</application> applications in a web browser,
318 using HTML5 and web sockets
319 </para>
320 <indexterm zone="gtk3 broadwayd">
321 <primary sortas="b-broadwayd">broadwayd</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="gtk3-demo">
327 <term><command>gtk3-demo</command></term>
328 <listitem>
329 <para>
330 is a simple program that demonstrates some of the tasks that can be
331 done with <application>GTK+ 3</application>
332 </para>
333 <indexterm zone="gtk3 gtk3-demo">
334 <primary sortas="b-gtk3-demo">gtk3-demo</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="gtk3-demo-application">
340 <term><command>gtk3-demo-application</command></term>
341 <listitem>
342 <para>
343 is a simple <application>GTK+ 3</application> application
344 </para>
345 <indexterm zone="gtk3 gtk3-demo-application">
346 <primary sortas="b-gtk3-demo-application">gtk3-demo-application</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="gtk3-icon-browser">
352 <term><command>gtk3-icon-browser</command></term>
353 <listitem>
354 <para>
355 is a utility to explore the icons in the current icon theme. It
356 shows icons in various sizes, their symbolic variants where
357 available, as well as a description of the icon and its context
358 </para>
359 <indexterm zone="gtk3 gtk3-icon-browser">
360 <primary sortas="b-gtk3-icon-browser">gtk3-icon-browser</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="gtk3-widget-factory">
366 <term><command>gtk3-widget-factory</command></term>
367 <listitem>
368 <para>
369 is a program to view <application>GTK+ 3</application> themes and widgets
370 </para>
371 <indexterm zone="gtk3 gtk3-widget-factory">
372 <primary sortas="b-gtk3-widget-factory">gtk3-widget-factory</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="gtk-builder-tool">
378 <term><command>gtk-builder-tool</command></term>
379 <listitem>
380 <para>
381 performs various operations on GtkBuilder .ui files
382 </para>
383 <indexterm zone="gtk3 gtk-builder-tool">
384 <primary sortas="b-gtk-builder-tool">gtk-builder-tool</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 <varlistentry id="gtk-encode-symbolic-svg">
390 <term><command>gtk-encode-symbolic-svg</command></term>
391 <listitem>
392 <para>
393 converts symbolic SVG icons into specially prepared PNG files.
394 <application>GTK+ 3</application> can load and recolor these PNGs,
395 just like original SVGs, but loading them is much faster
396 </para>
397 <indexterm zone="gtk3 gtk-encode-symbolic-svg">
398 <primary sortas="b-gtk-encode-symbolic-svg">gtk-encode-symbolic-svg</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
403 <varlistentry id="gtk-launch">
404 <term><command>gtk-launch</command></term>
405 <listitem>
406 <para>
407 launches an application using the given name. The name should match
408 the application desktop file name, as residing in
409 <filename class="directory">/usr/share/applications</filename>, with
410 or without the '.desktop' suffix
411 </para>
412 <indexterm zone="gtk3 gtk-launch">
413 <primary sortas="b-gtk-launch">gtk-launch</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="gtk-query-immodules-3.0">
419 <term><command>gtk-query-immodules-3.0</command></term>
420 <listitem>
421 <para>
422 collects information about loadable input method modules for
423 <application>GTK+ 3</application> and writes it to the default cache
424 file location, or to standard output
425 </para>
426 <indexterm zone="gtk3 gtk-query-immodules-3.0">
427 <primary sortas="b-gtk-query-immodules-3.0">gtk-query-immodules-3.0</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="gtk-query-settings">
433 <term><command>gtk-query-settings</command></term>
434 <listitem>
435 <para>
436 provides a complete listing of all settings related to
437 <application>GTK+ 3</application>
438 </para>
439 <indexterm zone="gtk3 gtk-query-settings">
440 <primary sortas="b-gtk-query-settings">gtk-query-settings</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="gtk-update-icon-cache3">
446 <term><command>gtk-update-icon-cache</command></term>
447 <listitem>
448 <para>
449 is an icon theme caching utility that creates mmap()able cache files
450 for icon themes
451 </para>
452 <indexterm zone="gtk3 gtk-update-icon-cache3">
453 <primary sortas="b-gtk-update-icon-cache3">gtk-update-icon-cache</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="libgailutil-3">
459 <term><filename class="libraryfile">libgailutil-3.so</filename></term>
460 <listitem>
461 <para>
462 contains functions that implement the accessibility interfaces
463 defined by the <application>GNOME</application> Accessibility
464 Toolkit
465 </para>
466 <indexterm zone="gtk3 libgailutil-3">
467 <primary sortas="c-libgailutil-3">libgailutil-3.so</primary>
468 </indexterm>
469 </listitem>
470 </varlistentry>
471
472 <varlistentry id="libgdk-3">
473 <term><filename class="libraryfile">libgdk-3.so</filename></term>
474 <listitem>
475 <para>
476 contains functions that act as a wrapper around the low-level
477 drawing and windowing functions provided by the underlying graphics
478 system
479 </para>
480 <indexterm zone="gtk3 libgdk-3">
481 <primary sortas="c-libgdk-3">libgdk-3.so</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry id="libgtk-3">
487 <term><filename class="libraryfile">libgtk-3.so</filename></term>
488 <listitem>
489 <para>
490 contains functions that provide an API to implement graphical user
491 interfaces
492 </para>
493 <indexterm zone="gtk3 libgtk-3">
494 <primary sortas="c-libgtk-3">libgtk-3.so</primary>
495 </indexterm>
496 </listitem>
497 </varlistentry>
498
499 </variablelist>
500
501 </sect2>
502
503</sect1>
Note: See TracBrowser for help on using the repository browser.