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

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since d7f8f6d was 4f93382c, checked in by Xi Ruoyao <xry111@…>, 17 months ago

gtk+3: Remove note about missing schema

Now GTK+-3 test suite uses a dedicated schema directory (in the build
directory) so it's not a problem anymore.

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