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

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 9896231 was 1e361b35, checked in by Xi Ruoyao <xry111@…>, 9 months ago

gtk-{3,4}: Use dbus-run-session for testing

If a dbus session address is not available, some tests will fail.

Not sure about gtk-2.

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