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

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 b9d6b3b was 1e361b35, checked in by Xi Ruoyao <xry111@…>, 10 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
RevLine 
[76a07db]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
[316d2235]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">
[cee1b30]9 <!ENTITY gtk3-md5sum "7ed2f5914683ebd515da22f5784389f4">
[7036577]10 <!ENTITY gtk3-size "12 MB">
[cee1b30]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)">
[76a07db]13]>
14
[a2912ff]15<sect1 id="gtk3" xreflabel="GTK+-&gtk3-version;">
[76a07db]16 <?dbhtml filename="gtk3.html"?>
17
18
[a2912ff]19 <title>GTK+-&gtk3-version;</title>
[76a07db]20
21 <indexterm zone="gtk3">
[d356833]22 <primary sortas="a-GTK+3">GTK+3</primary>
[76a07db]23 </indexterm>
24
25 <sect2 role="package">
[a2912ff]26 <title>Introduction to GTK+ 3</title>
[76a07db]27
[ce9d22a]28 <para>
[01c8c8f4]29 The <application>GTK+ 3</application> package contains
[a2912ff]30 libraries used for creating graphical user interfaces for
31 applications.
[ce9d22a]32 </para>
[76a07db]33
[30c1c72]34 &lfs120_checked;
[76a07db]35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
[ce9d22a]39 <para>
40 Download (HTTP): <ulink url="&gtk3-download-http;"/>
41 </para>
[76a07db]42 </listitem>
43 <listitem>
[ce9d22a]44 <para>
45 Download (FTP): <ulink url="&gtk3-download-ftp;"/>
46 </para>
[76a07db]47 </listitem>
48 <listitem>
[ce9d22a]49 <para>
50 Download MD5 sum: &gtk3-md5sum;
51 </para>
[76a07db]52 </listitem>
53 <listitem>
[ce9d22a]54 <para>
55 Download size: &gtk3-size;
56 </para>
[76a07db]57 </listitem>
58 <listitem>
[ce9d22a]59 <para>
60 Estimated disk space required: &gtk3-buildsize;
61 </para>
[76a07db]62 </listitem>
63 <listitem>
[ce9d22a]64 <para>
65 Estimated build time: &gtk3-time;
66 </para>
[76a07db]67 </listitem>
68 </itemizedlist>
69
[a2912ff]70 <bridgehead renderas="sect3">GTK+ 3 Dependencies</bridgehead>
[76a07db]71
72 <bridgehead renderas="sect4">Required</bridgehead>
[ce9d22a]73 <para role="required">
[1ea1e02d]74 <xref linkend="at-spi2-core"/>,
[0c16838]75 <xref linkend="gdk-pixbuf"/>,
[31ee0ed]76 <xref linkend="libepoxy"/>, and
77 <xref linkend="pango"/>
[742b99e]78 </para>
79
[dda4b24]80 <bridgehead renderas="sect4">Recommended</bridgehead>
81 <para role="recommended">
82 <xref linkend="adwaita-icon-theme"/> (default for some gtk+3 settings
[fe5d91f]83 keys, also needed for tests),
[7036577]84 <xref linkend="docbook-xsl"/> (for generating manual pages),
[fe5d91f]85 <xref linkend="hicolor-icon-theme"/> (needed for tests),
[42ae206]86 <xref linkend="iso-codes"/>,
[03571cd]87 <xref linkend="libxkbcommon"/>,
[7036577]88 <xref linkend="libxslt"/> (for generating manual pages),
[92503bc]89 <xref linkend="sassc"/>,
[03c5583c]90 <xref linkend="wayland"/>, and
91 <xref linkend="wayland-protocols"/>
[dda4b24]92 </para>
93
[39ffbd0]94 <bridgehead renderas="sect4">Recommended (Required if building GNOME)</bridgehead>
95 <para role="recommended">
[4c2be438]96 <xref linkend="gobject-introspection"/>
97 </para>
98
[76a07db]99 <bridgehead renderas="sect4">Optional</bridgehead>
[51dfb3e]100 <para role="optional">
[8615350]101 <xref linkend="colord"/>,
[8558044]102 <xref linkend="cups"/>,
[8615350]103 <xref linkend="gtk-doc"/>,
[365e97be]104 <xref linkend="pyatspi2"/> (for tests),
105 <xref linkend='tracker3'/>, and
[87fc185]106 <ulink url="https://icl.utk.edu/papi/">PAPI</ulink>
[ce9d22a]107 </para>
108
[76a07db]109 </sect2>
110
111 <sect2 role="installation">
[a2912ff]112 <title>Installation of GTK+ 3</title>
[92503bc]113
[ce9d22a]114 <para>
[a2912ff]115 Install <application>GTK+ 3</application> by running the following
[ce9d22a]116 commands:
117 </para>
[76a07db]118
[7036577]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 \
[91318eb]125 .. &amp;&amp;
[7036577]126ninja</userinput></screen>
[76a07db]127
[ce9d22a]128 <para>
[27236c5]129 To test the results you need a graphical session, then issue
[1e361b35]130 <command>dbus-run-session ninja test</command>.
[ce9d22a]131 </para>
[76a07db]132
[ce9d22a]133 <para>
134 Now, as the <systemitem class="username">root</systemitem> user:
135 </para>
[76a07db]136
[7036577]137<screen role="root"><userinput>ninja install</userinput></screen>
[2ffe965]138
139 <note>
140 <para>
141 If you installed the package on to your system using a
[7036577]142 <quote>DESTDIR</quote> method, an important file was not installed and
[2ffe965]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>
[bc9797f]149
150 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
151 href="../../xincludes/gsettings-destdir.xml"/>
[76a07db]152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
[ce9d22a]157 <para>
[92503bc]158 <parameter>-Dbroadway_backend=true</parameter>: This switch enables the
[a5524c14]159 HTML5 GTK backend.
[a8e57cb]160 </para>
[92503bc]161
162 <para>
163 <parameter>-Dman=true</parameter>: This switch allows generating
164 manual pages.
165 </para>
166
167 <para>
[7036577]168 <option>-Dgtk_doc=true</option>: This switch enables building
169 documentation. It requires <xref linkend="gtk-doc"/>.
[92503bc]170 </para>
[94936bac]171
[365e97be]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
[76a07db]178 </sect2>
179
180 <sect2 role="configuration">
[a2912ff]181 <title>Configuring GTK+ 3</title>
[76a07db]182
183 <sect3 id="gtk3-config">
184 <title>Config Files</title>
[ce9d22a]185 <para>
186 <filename>~/.config/gtk-3.0/settings.ini</filename> and
187 <filename>/etc/gtk-3.0/settings.ini</filename>
188 </para>
[76a07db]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
[ce9d22a]201 <para>
[a2912ff]202 <application>GTK+ 3</application> themes change the way a
[080a144]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.
[de4d07a]205 If you have installed a <application>GTK+ 3</application> theme (e.g.
[20ff9ce]206 the Adwaita theme built in <application>GTK+ 3</application>),
207 an icon theme (such as <xref
[8558044]208 linkend="oxygen-icons5"/>) and/or a font (<xref linkend="dejavu-fonts"/>),
[42ae206]209 you can set your preferences in <filename>~/.config/gtk-3.0/settings.ini</filename>,
[0dcc2bd2]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:
[ce9d22a]214 </para>
[76a07db]215
[dda4b24]216<screen><userinput>mkdir -vp ~/.config/gtk-3.0
[4520f55]217cat &gt; ~/.config/gtk-3.0/settings.ini &lt;&lt; "EOF"
[dda4b24]218<literal>[Settings]
[76a07db]219gtk-theme-name = <replaceable>Adwaita</replaceable>
[dda4b24]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>
[76a07db]229EOF</userinput></screen>
230
[ce9d22a]231 <para>
[dda4b24]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
[72f9c9a1]236 <ulink url="https://www.gnome-look.org/browse/"/> and other places.
[ce9d22a]237 </para>
[8558044]238
[8a89491]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/ -->
[76a07db]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>
[ce9d22a]268 <seg>
[c870dc3]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,
[8558044]277 gtk-query-immodules-3.0,
[8615350]278 gtk-query-settings, and
[ed2179c9]279 gtk-update-icon-cache
[742b99e]280 </seg>
281 <seg>
[6d5310f]282 libgailutil-3.so, libgdk-3.so, and libgtk-3.so
[742b99e]283 </seg>
284 <seg>
[0d7900a]285 /etc/gtk-3.0,
[77f6b3c]286 /usr/include/{gail,gtk}-3.0,
[7036577]287 /usr/{lib,share}/gtk-3.0, and
[e68334e]288 /usr/share/themes/{Default,Emacs}/gtk-3.0
[ce9d22a]289 </seg>
[76a07db]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
[e68334e]298 <varlistentry id="broadwayd">
299 <term><command>broadwayd</command></term>
300 <listitem>
301 <para>
[c197636]302 provides support for displaying
[e68334e]303 <application>GTK+ 3</application> applications in a web browser,
[4c24eb0a]304 using HTML5 and web sockets
[e68334e]305 </para>
306 <indexterm zone="gtk3 broadwayd">
307 <primary sortas="b-broadwayd">broadwayd</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
[c870dc3]312 <varlistentry id="gtk3-demo">
313 <term><command>gtk3-demo</command></term>
[6d5310f]314 <listitem>
315 <para>
[170773d3]316 is a simple program that demonstrates some of the tasks that can be
[c870dc3]317 done with <application>GTK+ 3</application>
[6d5310f]318 </para>
[c870dc3]319 <indexterm zone="gtk3 gtk3-demo">
320 <primary sortas="b-gtk3-demo">gtk3-demo</primary>
[6d5310f]321 </indexterm>
322 </listitem>
323 </varlistentry>
324
[c870dc3]325 <varlistentry id="gtk3-demo-application">
326 <term><command>gtk3-demo-application</command></term>
[d356833]327 <listitem>
328 <para>
[4c24eb0a]329 is a simple <application>GTK+ 3</application> application
[d356833]330 </para>
[c870dc3]331 <indexterm zone="gtk3 gtk3-demo-application">
332 <primary sortas="b-gtk3-demo-application">gtk3-demo-application</primary>
[d356833]333 </indexterm>
334 </listitem>
335 </varlistentry>
336
[c870dc3]337 <varlistentry id="gtk3-icon-browser">
338 <term><command>gtk3-icon-browser</command></term>
[76a07db]339 <listitem>
[ce9d22a]340 <para>
[c870dc3]341 is a utility to explore the icons in the current icon theme. It
342 shows icons in various sizes, their symbolic variants where
[4c24eb0a]343 available, as well as a description of the icon and its context
[ce9d22a]344 </para>
[c870dc3]345 <indexterm zone="gtk3 gtk3-icon-browser">
346 <primary sortas="b-gtk3-icon-browser">gtk3-icon-browser</primary>
[76a07db]347 </indexterm>
348 </listitem>
349 </varlistentry>
350
[c870dc3]351 <varlistentry id="gtk3-widget-factory">
352 <term><command>gtk3-widget-factory</command></term>
[76a07db]353 <listitem>
[ce9d22a]354 <para>
[4c24eb0a]355 is a program to view <application>GTK+ 3</application> themes and widgets
[ce9d22a]356 </para>
[c870dc3]357 <indexterm zone="gtk3 gtk3-widget-factory">
358 <primary sortas="b-gtk3-widget-factory">gtk3-widget-factory</primary>
[76a07db]359 </indexterm>
360 </listitem>
361 </varlistentry>
362
[c870dc3]363 <varlistentry id="gtk-builder-tool">
364 <term><command>gtk-builder-tool</command></term>
[35d0635]365 <listitem>
366 <para>
[9d31900]367 performs various operations on GtkBuilder .ui files
[35d0635]368 </para>
[c870dc3]369 <indexterm zone="gtk3 gtk-builder-tool">
370 <primary sortas="b-gtk-builder-tool">gtk-builder-tool</primary>
[35d0635]371 </indexterm>
372 </listitem>
373 </varlistentry>
374
[c870dc3]375 <varlistentry id="gtk-encode-symbolic-svg">
376 <term><command>gtk-encode-symbolic-svg</command></term>
[35d0635]377 <listitem>
378 <para>
[9d31900]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
[35d0635]382 </para>
[c870dc3]383 <indexterm zone="gtk3 gtk-encode-symbolic-svg">
384 <primary sortas="b-gtk-encode-symbolic-svg">gtk-encode-symbolic-svg</primary>
[35d0635]385 </indexterm>
386 </listitem>
387 </varlistentry>
388
[c870dc3]389 <varlistentry id="gtk-launch">
390 <term><command>gtk-launch</command></term>
[6d5310f]391 <listitem>
392 <para>
[c870dc3]393 launches an application using the given name. The name should match
[8615350]394 the application desktop file name, as residing in
395 <filename class="directory">/usr/share/applications</filename>, with
[4c24eb0a]396 or without the '.desktop' suffix
[6d5310f]397 </para>
[c870dc3]398 <indexterm zone="gtk3 gtk-launch">
399 <primary sortas="b-gtk-launch">gtk-launch</primary>
[6d5310f]400 </indexterm>
401 </listitem>
402 </varlistentry>
403
[c870dc3]404 <varlistentry id="gtk-query-immodules-3.0">
405 <term><command>gtk-query-immodules-3.0</command></term>
[35d0635]406 <listitem>
407 <para>
[c870dc3]408 collects information about loadable input method modules for
409 <application>GTK+ 3</application> and writes it to the default cache
[4c24eb0a]410 file location, or to standard output
[35d0635]411 </para>
[c870dc3]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>
[8615350]416 </varlistentry>
417
418 <varlistentry id="gtk-query-settings">
419 <term><command>gtk-query-settings</command></term>
420 <listitem>
421 <para>
[8558044]422 provides a complete listing of all settings related to
[8615350]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>
[c870dc3]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
[4c24eb0a]436 for icon themes
[c870dc3]437 </para>
438 <indexterm zone="gtk3 gtk-update-icon-cache3">
439 <primary sortas="b-gtk-update-icon-cache3">gtk-update-icon-cache</primary>
[35d0635]440 </indexterm>
441 </listitem>
442 </varlistentry>
443
[d356833]444 <varlistentry id="libgailutil-3">
445 <term><filename class="libraryfile">libgailutil-3.so</filename></term>
[76a07db]446 <listitem>
[ce9d22a]447 <para>
[3fdc9b0]448 contains functions that implement the accessibility interfaces
[d356833]449 defined by the <application>GNOME</application> Accessibility
[4c24eb0a]450 Toolkit
[ce9d22a]451 </para>
[d356833]452 <indexterm zone="gtk3 libgailutil-3">
453 <primary sortas="c-libgailutil-3">libgailutil-3.so</primary>
[76a07db]454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="libgdk-3">
[d356833]459 <term><filename class="libraryfile">libgdk-3.so</filename></term>
[76a07db]460 <listitem>
[ce9d22a]461 <para>
462 contains functions that act as a wrapper around the low-level
463 drawing and windowing functions provided by the underlying graphics
[4c24eb0a]464 system
[ce9d22a]465 </para>
[76a07db]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">
[d356833]473 <term><filename class="libraryfile">libgtk-3.so</filename></term>
[76a07db]474 <listitem>
[ce9d22a]475 <para>
476 contains functions that provide an API to implement graphical user
[4c24eb0a]477 interfaces
[ce9d22a]478 </para>
[76a07db]479 <indexterm zone="gtk3 libgtk-3">
480 <primary sortas="c-libgtk-3">libgtk-3.so</primary>
481 </indexterm>
482 </listitem>
483 </varlistentry>
[a2912ff]484
[76a07db]485 </variablelist>
[b84342d6]486
[76a07db]487 </sect2>
[b84342d6]488
[76a07db]489</sect1>
Note: See TracBrowser for help on using the repository browser.