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

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since b75604f9 was b75604f9, checked in by Fernando de Oliveira <fernando@…>, 9 years ago

Fix Gtk3 window resize bug (after upstream committed patch).

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@16106 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 15.6 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-16;/gtk+-&gtk3-version;.tar.xz">
8 <!ENTITY gtk3-download-ftp "&gnome-download-ftp;/gtk+/&gnome-minor-16;/gtk+-&gtk3-version;.tar.xz">
9 <!ENTITY gtk3-md5sum "af22a1a753ea9b182babfed9d8b38228">
10 <!ENTITY gtk3-size "18 MB">
11 <!ENTITY gtk3-buildsize "493 MB (additional 7 MB for the test suite and 19 MB to rebuild the docs)">
12 <!ENTITY gtk3-time "4.3 SBU (additional 0.4 SBU for the test suite and 4 SBU to rebuild the docs)">
13]>
14
15<sect1 id="gtk3" xreflabel="GTK+-&gtk3-version;">
16 <?dbhtml filename="gtk3.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GTK+-&gtk3-version;</title>
24
25 <indexterm zone="gtk3">
26 <primary sortas="a-GTK+3">GTK+3</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GTK+ 3</title>
31
32 <para>
33 The <application>GTK+ 3</application> package contains the
34 libraries used for creating graphical user interfaces for
35 applications.
36 </para>
37
38 &lfs77_checked; &gcc5_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&gtk3-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&gtk3-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &gtk3-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &gtk3-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &gtk3-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &gtk3-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">GTK+ 3 Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required">
78 <xref linkend="at-spi2-atk"/>,
79 <xref linkend="gdk-pixbuf"/>, and
80 <xref linkend="pango"/>
81 </para>
82
83 <bridgehead renderas="sect4">Optional (Required if building GNOME)</bridgehead>
84 <para role="optional">
85 <xref linkend="gobject-introspection"/>
86 </para>
87
88 <bridgehead renderas="sect4">Optional</bridgehead>
89 <para role="optional">
90 an icon theme such as <xref linkend="adwaita-icon-theme"/> (for tests),
91 <xref linkend="colord"/>,
92 <xref linkend="cups"/>,
93 <xref linkend="docbook-utils"/>,
94 <xref linkend="gtk-doc"/>,
95 <xref linkend="hicolor-icon-theme"/> (needed for tests),
96 <xref linkend="json-glib"/>,
97 <ulink url="http://ftp.acc.umu.se/pub/gnome/sources/rest/">rest</ulink>,
98 <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>, and
99 <ulink url="http://wayland.freedesktop.org/">Wayland</ulink>
100 </para>
101
102 <para condition="html" role="usernotes">
103 User Notes: <ulink url="&blfs-wiki;/gtk3"/>
104 </para>
105 </sect2>
106
107 <sect2 role="installation">
108 <title>Installation of GTK+ 3</title>
109
110 <note>
111 <para>
112 <application>GTK+ 3</application> will overwrite
113 <command>gtk-update-icon-cache</command> from <xref linkend="gtk2"/> if
114 it is installed. There is nothing wrong about that assuming that both
115 programs provide same functionality. If you wish to keep one from
116 <application>GTK+ 2</application> you can add
117 <option>--enable-gtk2-dependency</option> to the
118 <command>configure</command> command.
119 </para>
120 </note>
121
122 <para>
123 Install <application>GTK+ 3</application> by running the following
124 commands:
125 </para>
126
127<screen><userinput>sed -e '/priv->decorated ||$/ a\ return;\n' \
128 -e 's/\(.*priv->decorated\) ||$/\1)/' \
129 -e '/(!gtk_window_should/ i\ if (!priv->client_decorated &amp;&amp;' \
130 -e '/ !priv->client_decorated) ||/ s/(!/!(/' \
131 -e 's/ !priv->client_decorated) ||//' \
132 -e 's/!\(gtk_window_supports.*\)/ \1)/' \
133 -i gtk/gtkwindow.c &amp;&amp;
134
135./configure --prefix=/usr \
136 --sysconfdir=/etc \
137 --enable-broadway-backend \
138 --enable-x11-backend \
139 --disable-wayland-backend &amp;&amp;
140make</userinput></screen>
141
142 <para>
143 Some tests fail if
144 <filename>/usr/share/glib-2.0/schemas/gschemas.compiled</filename> is not
145 found. If you wish to run the test suite, create (or update) the file
146 using the following command as the
147 <systemitem class="username">root</systemitem> user:
148 </para>
149
150<screen role="root"><userinput>glib-compile-schemas /usr/share/glib-2.0/schemas</userinput></screen>
151
152 <para>
153 To test the results you need a graphical session, then issue
154 <command>make check</command>.
155 </para>
156
157 <para>
158 Now, as the <systemitem class="username">root</systemitem> user:
159 </para>
160
161<screen role="root"><userinput>make install</userinput></screen>
162
163 <note>
164 <para>
165 If you installed the package on to your system using a
166 <quote>DESTDIR</quote> method, an important file was not installed and
167 must be copied and/or generated. Generate it using the following
168 command as the <systemitem class="username">root</systemitem> user:
169 </para>
170
171<screen role="root"><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
172 </note>
173
174 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
175 href="../../xincludes/gsettings-destdir.xml"/>
176 </sect2>
177
178 <sect2 role="commands">
179 <title>Command Explanations</title>
180
181 <para>
182 <command>sed ... -i gtk/gtkwindow.c</command>: fix
183 <application>Gtk3</application> window resize bug (after upstream
184 committed patch).
185 </para>
186
187 <para>
188 <parameter>--enable-broadway-backend</parameter>: switch enables the
189 HTML5 GTK backend.
190 </para>
191
192 <para>
193 <parameter>--enable-x11-backend</parameter>: switch enables the X11 GDK
194 backend.
195 </para>
196
197 <para>
198 <parameter>--disable-wayland-backend</parameter>: switch disables the
199 Wayland GDK backend because Wayland isn't available in BLFS.
200 </para>
201
202 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
203 href="../../xincludes/gtk-doc-rebuild.xml"/>
204
205 </sect2>
206
207 <sect2 role="configuration">
208 <title>Configuring GTK+ 3</title>
209
210 <sect3 id="gtk3-config">
211 <title>Config Files</title>
212 <para>
213 <filename>~/.config/gtk-3.0/settings.ini</filename> and
214 <filename>/etc/gtk-3.0/settings.ini</filename>
215 </para>
216
217 <indexterm zone="gtk3 gtk3-config">
218 <primary sortas="e-AA.home-settings.ini">~/.config/gtk-3.0/settings.ini</primary>
219 </indexterm>
220
221 <indexterm zone="gtk3 gtk3-config">
222 <primary sortas="e-etc-path-settings.ini">/etc/gtk-3.0/settings.ini</primary>
223 </indexterm>
224 </sect3>
225
226 <sect3><title>Configuration Information</title>
227
228 <para>
229 <application>GTK+ 3</application> themes change the way a
230 <application>GTK+ 3</application> application looks. An icon theme can
231 be used to change the icons that appear on the application's toolbar.
232 If you have installed a <application>GTK+ 3</application> theme (eg
233 <xref linkend="gnome-themes-standard"/> or an icon theme (such as <xref
234 linkend="adwaita-icon-theme"/>) you can set your prefences in
235 <filename>~/.config/gtk-3.0/settings.ini</filename>. Eg:
236 </para>
237
238<screen><userinput>mkdir -p ~/.config/gtk-3.0 &amp;&amp;
239cat &gt; ~/.config/gtk-3.0/settings.ini &lt;&lt; "EOF"
240[Settings]
241gtk-theme-name = <replaceable>Adwaita</replaceable>
242gtk-fallback-icon-theme = <replaceable>gnome</replaceable>
243EOF</userinput></screen>
244
245 <para>
246 There are many more themes available at
247 <ulink url="http://gnome-look.org/"/> and other places.
248 </para>
249
250 <para>
251 Once you've settled on themes you like, you can (as the
252 <systemitem class="username">root</systemitem> user) make them the
253 default system wide:
254 </para>
255
256<screen role="root"><userinput>cat &gt; /etc/gtk-3.0/settings.ini &lt;&lt; "EOF"
257[Settings]
258gtk-theme-name = <replaceable>Clearwaita</replaceable>
259gtk-fallback-icon-theme = <replaceable>elementary</replaceable>
260EOF</userinput></screen>
261 </sect3>
262 </sect2>
263
264 <sect2 role="content">
265 <title>Contents</title>
266
267 <segmentedlist>
268 <segtitle>Installed Programs</segtitle>
269 <segtitle>Installed Libraries</segtitle>
270 <segtitle>Installed Directories</segtitle>
271
272 <seglistitem>
273 <seg>
274 broadwayd,
275 gtk3-demo,
276 gtk3-demo-application,
277 gtk3-icon-browser,
278 gtk3-widget-factory,
279 gtk-encode-symbolic-svg,
280 gtk-launch,
281 gtk-query-immodules-3.0, and
282 gtk-update-icon-cache
283 </seg>
284 <seg>
285 libgailutil-3.so, libgdk-3.so, and libgtk-3.so
286
287 </seg>
288 <seg>
289 /etc/gtk-3.0,
290 /usr/include/{gail,gtk}-3.0,
291 /usr/lib/gtk-3.0,
292 /usr/share/gtk-3.0,
293 /usr/share/gtk-doc/html/{gail-libgail-util3,gdk3,gtk3}, and
294 /usr/share/themes/{Default,Emacs}/gtk-3.0
295 </seg>
296 </seglistitem>
297 </segmentedlist>
298
299 <variablelist>
300 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
301 <?dbfo list-presentation="list"?>
302 <?dbhtml list-presentation="table"?>
303
304 <varlistentry id="broadwayd">
305 <term><command>broadwayd</command></term>
306 <listitem>
307 <para>
308 provides support for displaying
309 <application>GTK+ 3</application> applications in a web browser,
310 using HTML5 and web sockets.
311 </para>
312 <indexterm zone="gtk3 broadwayd">
313 <primary sortas="b-broadwayd">broadwayd</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="gtk-encode-symbolic-svg">
319 <term><command>gtk-encode-symbolic-svg</command></term>
320 <listitem>
321 <para>
322 converts symbolic svg icons into specially prepared png files.
323 <application>GTK+ 3</application> can load and recolor these pngs,
324 just like original svgs, but loading them is much faster.
325 </para>
326 <indexterm zone="gtk3 gtk-encode-symbolic-svg">
327 <primary sortas="b-gtk-encode-symbolic-svg">gtk-encode-symbolic-svg</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="gtk-launch">
333 <term><command>gtk-launch</command></term>
334 <listitem>
335 <para>
336 launches an application using the given name. The name should match
337 application desktop file name, as residing in
338 <filename class="directory">/usr/share/application</filename>, with
339 or without the '.desktop' suffix.
340 </para>
341 <indexterm zone="gtk3 gtk-launch">
342 <primary sortas="b-gtk-launch">gtk-launch</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="gtk-query-immodules-3.0">
348 <term><command>gtk-query-immodules-3.0</command></term>
349 <listitem>
350 <para>
351 collects information about loadable input method modules for
352 <application>GTK+ 3</application> and writes it to the default cache
353 file location, or to standard output.
354 </para>
355 <indexterm zone="gtk3 gtk-query-immodules-3.0">
356 <primary sortas="b-gtk-query-immodules-3.0">gtk-query-immodules-3.0</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="gtk-update-icon-cache3">
362 <term><command>gtk-update-icon-cache</command></term>
363 <listitem>
364 <para>
365 is an icon theme caching utility that creates mmap()able cache files
366 for icon themes.
367 </para>
368 <indexterm zone="gtk3 gtk-update-icon-cache3">
369 <primary sortas="b-gtk-update-icon-cache3">gtk-update-icon-cache</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 <varlistentry id="gtk3-demo">
375 <term><command>gtk3-demo</command></term>
376 <listitem>
377 <para>
378 is a simple program that demonstrates some of the things that can be
379 done with <application>GTK+ 3</application>
380 </para>
381 <indexterm zone="gtk3 gtk3-demo">
382 <primary sortas="b-gtk3-demo">gtk3-demo</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="gtk3-demo-application">
388 <term><command>gtk3-demo-application</command></term>
389 <listitem>
390 <para>
391 is a simple <application>GTK+ 3</application> application.
392 </para>
393 <indexterm zone="gtk3 gtk3-demo-application">
394 <primary sortas="b-gtk3-demo-application">gtk3-demo-application</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="gtk3-icon-browser">
400 <term><command>gtk3-icon-browser</command></term>
401 <listitem>
402 <para>
403 is a utility to explore the icons in the current icon theme. It
404 shows icons in various sizes, their symbolic variants where
405 available, as well as a description of the icon and its context.
406 </para>
407 <indexterm zone="gtk3 gtk3-icon-browser">
408 <primary sortas="b-gtk3-icon-browser">gtk3-icon-browser</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="gtk3-widget-factory">
414 <term><command>gtk3-widget-factory</command></term>
415 <listitem>
416 <para>
417 is a program to view <application>GTK+ 3</application> themes and widgets.
418 </para>
419 <indexterm zone="gtk3 gtk3-widget-factory">
420 <primary sortas="b-gtk3-widget-factory">gtk3-widget-factory</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="libgailutil-3">
426 <term><filename class="libraryfile">libgailutil-3.so</filename></term>
427 <listitem>
428 <para>
429 contains functions that implements the accessibility interfaces
430 defined by the <application>GNOME</application> Accessibility
431 Toolkit.
432 </para>
433 <indexterm zone="gtk3 libgailutil-3">
434 <primary sortas="c-libgailutil-3">libgailutil-3.so</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 <varlistentry id="libgdk-3">
440 <term><filename class="libraryfile">libgdk-3.so</filename></term>
441 <listitem>
442 <para>
443 contains functions that act as a wrapper around the low-level
444 drawing and windowing functions provided by the underlying graphics
445 system.
446 </para>
447 <indexterm zone="gtk3 libgdk-3">
448 <primary sortas="c-libgdk-3">libgdk-3.so</primary>
449 </indexterm>
450 </listitem>
451 </varlistentry>
452
453 <varlistentry id="libgtk-3">
454 <term><filename class="libraryfile">libgtk-3.so</filename></term>
455 <listitem>
456 <para>
457 contains functions that provide an API to implement graphical user
458 interfaces.
459 </para>
460 <indexterm zone="gtk3 libgtk-3">
461 <primary sortas="c-libgtk-3">libgtk-3.so</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 </variablelist>
467
468 </sect2>
469
470</sect1>
Note: See TracBrowser for help on using the repository browser.