source: x/lib/gtk+3.xml

trunk
Last change on this file was c0bc0a9, checked in by Xi Ruoyao <xry111@…>, 7 weeks ago

Update to glib-2.80.0 and gobject-introspection-1.80.0

Merge gobject-introspection into glib page to better handle a circular
dependency between these two packages.

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