source: x/wm/openbox.xml

trunk
Last change on this file was 6b33b5b, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Finish tagging for chapters 46-50.

  • Property mode set to 100644
File size: 15.3 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 openbox-download-http
8 "http://openbox.org/dist/openbox/openbox-&openbox-version;.tar.gz">
9 <!ENTITY openbox-download-ftp " ">
10 <!ENTITY openbox-md5sum "b72794996c6a3ad94634727b95f9d204">
11 <!ENTITY openbox-size "944 KB">
12 <!ENTITY openbox-buildsize "21 MB">
13 <!ENTITY openbox-time "0.3 SBU">
14]>
15
16<sect1 id="openbox" xreflabel="openbox-&openbox-version;">
17 <?dbhtml filename="openbox.html"?>
18
19
20 <title>openbox-&openbox-version;</title>
21
22 <indexterm zone="openbox">
23 <primary sortas="a-openbox">Openbox</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to openbox</title>
28
29 <para>
30 <application>Openbox</application> is a highly configurable desktop
31 window manager with extensive standards support. It allows you to control
32 almost every aspect of how you interact with your desktop.
33 </para>
34
35 &lfs121_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&openbox-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download MD5 sum: &openbox-md5sum;
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download size: &openbox-size;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Estimated disk space required: &openbox-buildsize;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated build time: &openbox-time;
62 </para>
63 </listitem>
64 </itemizedlist>
65
66 <bridgehead renderas="sect3">Openbox Dependencies</bridgehead>
67
68 <bridgehead renderas="sect4">Required</bridgehead>
69 <para role="required">
70 <xref linkend="x-window-system"/> and
71 <xref linkend="pango"/> (compiled with support for libXft)
72 </para>
73
74 <bridgehead renderas="sect4">Optional</bridgehead>
75 <para role="optional">
76 <xref role="runtime" linkend="dbus"/> (runtime),
77 <xref linkend="imlib2"/> (to enable icons in the right click menu),
78 <xref linkend="imagemagick"/> (to show desktop backgrounds as seen in the
79 Configuration Information section below),
80 <xref linkend="pyxdg"/>, <!-- used for openbox-xdg-autostart -->
81 <xref linkend="startup-notification"/>, and
82 <xref linkend="librsvg"/>
83 </para>
84
85 </sect2>
86
87 <sect2 role="installation">
88 <title>Installation of Openbox</title>
89
90 <note>
91 <para>
92 If XORG_PREFIX is not <filename class='directory'>/usr</filename>,
93 tell <command>gcc</command> about it:
94 </para>
95
96<screen><userinput>export LIBRARY_PATH=$XORG_PREFIX/lib</userinput></screen>
97
98 </note>
99
100 <para>
101 If you only installed the Python 3 PyXDG module convert one of the
102 scripts to Python 3:
103 </para>
104
105<screen><userinput>2to3-&python3-majorver; -w data/autostart/openbox-xdg-autostart &amp;&amp;
106sed 's/python/python3/' -i data/autostart/openbox-xdg-autostart</userinput></screen>
107
108 <para>
109 Install <application>Openbox</application> by running the following
110 commands:
111 </para>
112
113<screen><userinput>./configure --prefix=/usr \
114 --sysconfdir=/etc \
115 --disable-static \
116 --docdir=/usr/share/doc/openbox-&openbox-version; &amp;&amp;
117make</userinput></screen>
118
119 <para>
120 This package does not come with a test suite.
121 </para>
122
123 <para>
124 Now, as the <systemitem class="username">root</systemitem> user:
125 </para>
126
127<screen role="root"><userinput>make install</userinput></screen>
128
129 <para>
130 This package creates three <filename>.desktop</filename> files in the
131 <filename class="directory">/usr/share/xsessions/</filename> directory.
132 Two of these are not appropriate in a BLFS system, so prevent the extra
133 files showing up as options in a display manager. As the &root; user:
134 </para>
135
136<screen role="root"><userinput>rm -v /usr/share/xsessions/openbox-{gnome,kde}.desktop</userinput></screen>
137
138</sect2>
139
140 <sect2 role="commands">
141 <title>Command Explanations</title>
142
143 <para>
144 <parameter>--sysconfdir=/etc</parameter>: This option puts
145 <application>Openbox</application>'s configuration files in
146 /etc/xdg/openbox instead of /usr/etc/xdg/openbox.
147 </para>
148
149 <para>
150 <parameter>--docdir=/usr/share/doc/openbox-&openbox-version;</parameter>:
151 this puts a few files in a versioned directory in
152 <filename class="directory">/usr/share/doc</filename>.
153 </para>
154
155 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
156 href="../../xincludes/static-libraries.xml"/>
157
158 </sect2>
159
160 <sect2 role="configuration">
161 <title>Configuring Openbox</title>
162
163 <sect3 id="openbox-config">
164 <title>Config Files</title>
165
166 <para>
167 <filename>/etc/xdg/openbox/autostart</filename>,
168 <filename>/etc/xdg/openbox/menu.xml</filename>,
169 <filename>/etc/xdg/openbox/rc.xml</filename>,
170 <filename>~/.config/openbox/autostart</filename>,
171 <filename>~/.config/openbox/menu.xml</filename> and
172 <filename>~/.config/openbox/rc.xml</filename>
173 </para>
174
175 <indexterm zone="openbox openbox-config">
176 <primary sortas="e-AA.autostart">~/.config/openbox/autostart</primary>
177 </indexterm>
178
179 <indexterm zone="openbox openbox-config">
180 <primary sortas="e-AA.menu">~/.config/openbox/menu.xml</primary>
181 </indexterm>
182
183 <indexterm zone="openbox openbox-config">
184 <primary sortas="e-AA.rc">~/.config/openbox/rc.xml</primary>
185 </indexterm>
186
187 <indexterm zone="openbox openbox-config">
188 <primary sortas="e-etc-path-autostart">/etc/xdg/openbox/autostart</primary>
189 </indexterm>
190
191 <indexterm zone="openbox openbox-config">
192 <primary sortas="e-etc-path-menu">/etc/xdg/openbox/menu.xml</primary>
193 </indexterm>
194
195 <indexterm zone="openbox openbox-config">
196 <primary sortas="e-etc-path-rc">/etc/xdg/openbox/rc.xml</primary>
197 </indexterm>
198 </sect3>
199
200 <sect3><title>Configuration Information</title>
201
202 <para>
203 <application>Openbox</application>'s right click menu can be used to
204 launch programs. The menu itself is configured with 2 files,
205 <filename>/etc/xdg/openbox/menu.xml</filename> and
206 <filename>~/.config/openbox/menu.xml</filename>. To make changes to the
207 menu, copy /etc/xdg/openbox/menu.xml to ~/.config/openbox/menu.xml and
208 edit it:
209 </para>
210
211<screen><userinput>cp -rf /etc/xdg/openbox ~/.config</userinput></screen>
212 <para>
213
214 <filename>~/.config/openbox/menu.xml</filename> can be edited with a
215 text editor or you can install
216 <ulink url="https://obmenu.sourceforge.net/">Obmenu</ulink> (requires
217 <ulink url="https://pyxml.sourceforge.net/topics/">pyxml</ulink>
218 and <xref linkend="pygtk"/>).
219 </para>
220
221 <para>
222 To have icons in your right click menu requires installing
223 <xref linkend="imlib2"/> before you install
224 <application>Openbox</application>. To set an icon for an entry in the
225 menu edit <filename>~/.config/openbox/menu.xml</filename> and add an
226 icon to the &lt;item&gt; tag like this:
227 </para>
228
229<screen>&lt;item label="Mplayer" icon="/usr/share/pixmaps/mplayer.png"&gt;</screen>
230
231 <para>
232 Many other aspects of <application>Openbox</application>'s behavior are
233 configured with <filename>~/.config/openbox/rc.xml</filename> such as
234 what keybindings are used to launch programs or which mouse button
235 launches the main menu.
236 </para>
237
238 <para>
239 Details of the theme that <application>Openbox</application> applies to
240 window decorations are configured in
241 <filename>~/.config/openbox/rc.xml</filename>. You can get a list of the
242 available themes with the command:
243 </para>
244
245<screen role="nodump"><userinput>ls -d /usr/share/themes/*/openbox-3 | sed 's#.*es/##;s#/o.*##'</userinput></screen>
246 </sect3>
247
248 <sect3 id="openbox-init">
249 <title>Starting Openbox</title>
250
251 <para>
252 To automatically start <command>openbox</command> when you start
253 <application>Xorg</application>:
254 </para>
255
256<screen><userinput>echo openbox &gt; ~/.xinitrc</userinput></screen>
257
258 <para>
259 If you want to set a background image to your desktop you can use
260 <xref linkend="display"/> and launch it from ~/.xinitrc just before
261 openbox:
262 </para>
263
264<screen role="nodump"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
265<literal>display -backdrop -window root /path/to/beautiful/picture.jpeg
266exec openbox</literal>
267EOF</userinput></screen>
268
269 <para>
270 Or if you like a bit of variety, put a selection of images in a folder
271 (in this example, the directory ~/.config/backgrounds) and choose one at
272 random each time you <command>xinit</command>:
273 </para>
274
275<screen role="nodump"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
276<literal># make an array which lists the pictures:
277picture_list=(~/.config/backgrounds/*)
278# create a random integer between 0 and the number of pictures:
279random_number=$(( ${RANDOM} % ${#picture_list[@]} ))
280# display the chosen picture:
281display -backdrop -window root "${picture_list[${random_number}]}"
282exec openbox</literal>
283EOF</userinput></screen>
284
285 <para>
286 If you like to have the numlock key set when you start Xorg, install
287 <!-- 13-12-11 numlockx not found on the KDE website. This URL is OK ? -->
288 <ulink url=
289 "https://ftp.debian.org/debian/pool/main/n/numlockx/numlockx_1.2.orig.tar.gz">
290 Numlockx</ulink> and add that to your xinitrc. Another useful
291 application is <xref linkend="dbus"/>:
292 </para>
293
294<screen role="nodump"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
295<literal>. /etc/profile
296picture_list=(~/.config/backgrounds/*)
297random_number=$(( ${RANDOM} % ${#picture_list[*]} ))
298display -backdrop -window root "${picture_list[${random_number}]}"
299numlockx
300eval $(dbus-launch --auto-syntax --exit-with-session)
301lxpanel &amp;
302exec openbox</literal>
303EOF</userinput></screen>
304 </sect3>
305 </sect2>
306
307 <sect2 role="content">
308 <title>Contents</title>
309
310 <segmentedlist>
311 <segtitle>Installed Programs</segtitle>
312 <segtitle>Installed Libraries</segtitle>
313 <segtitle>Installed Directories</segtitle>
314
315 <seglistitem>
316 <seg>
317 gdm-control, gnome-panel-control, obxprop, openbox,
318 openbox-gnome-session, openbox-kde-session and openbox-session
319 </seg>
320 <seg>
321 libobrender.so and libobt.so
322 </seg>
323 <seg>
324 /etc/xdg/openbox, /usr/include/openbox,
325 /usr/share/doc/openbox-&openbox-version; and /usr/share/themes.
326 </seg>
327 </seglistitem>
328 </segmentedlist>
329
330 <variablelist>
331 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
332 <?dbfo list-presentation="list"?>
333 <?dbhtml list-presentation="table"?>
334
335 <varlistentry id="gdm-control">
336 <term><command>gdm-control</command></term>
337 <listitem>
338 <para>
339 is a command line tool to send signals to
340 <application>GDM</application>
341 </para>
342 <indexterm zone="openbox gdm-control">
343 <primary sortas="b-gdm-control">gdm-control</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="gnome-panel-control">
349 <term><command>gnome-panel-control</command></term>
350 <listitem>
351 <para>
352 is a command line utility to invoke the <application>Gnome
353 Panel</application> run dialog/menu
354 </para>
355 <indexterm zone="openbox gnome-panel-control">
356 <primary sortas="b-gnome-panel-control">gnome-panel-control</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="obxprop">
362 <term><command>obxprop</command></term>
363 <listitem>
364 <para>
365 is a tool for displaying the properties on an x window. It has a
366 similar functionality to <command>xprop</command>, but allows you to
367 see UTF-8 strings as text
368 </para>
369 <indexterm zone="openbox obxprop">
370 <primary sortas="b-obxprop">obxprop</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="openbox-prog">
376 <term><command>openbox</command></term>
377 <listitem>
378 <para>
379 is a standards compliant, highly configurable, window manager
380 </para>
381 <indexterm zone="openbox openbox">
382 <primary sortas="b-openbox">openbox</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="openbox-gnome-session">
388 <term><command>openbox-gnome-session</command></term>
389 <listitem>
390 <para>
391 is a script to launch an <application>Gnome</application> session
392 with <application>Openbox</application> as your window manager from
393 your <filename>~/.xinitrc</filename>
394 </para>
395 <indexterm zone="openbox openbox-gnome-session">
396 <primary sortas="b-openbox-gnome-session">openbox-gnome-session</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="openbox-kde-session">
402 <term><command>openbox-kde-session</command></term>
403 <listitem>
404 <para>
405 is a script to launch an <application>KDE</application> session with
406 <application>Openbox</application> as your window manager from your
407 <filename>~/.xinitrc</filename>
408 </para>
409 <indexterm zone="openbox openbox-kde-session">
410 <primary sortas="b-openbox-kde-session">openbox-kde-session</primary>
411 </indexterm>
412 </listitem>
413 </varlistentry>
414
415 <varlistentry id="openbox-session">
416 <term><command>openbox-session</command></term>
417 <listitem>
418 <para>
419 is a script to launch an <application>Openbox</application> session
420 from your <filename>~/.xinitrc</filename>
421 </para>
422 <indexterm zone="openbox openbox-session">
423 <primary sortas="b-openbox-session">openbox-session</primary>
424 </indexterm>
425 </listitem>
426 </varlistentry>
427
428 <varlistentry id="libobrender">
429 <term><filename class="libraryfile">libobrender.so</filename></term>
430 <listitem>
431 <para>
432 contains the functions used by <application>Openbox</application>
433 for theme rendering
434 </para>
435 <indexterm zone="openbox libobrender">
436 <primary sortas="c-libobrender">libobrender.so</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
440
441 <varlistentry id="libobt">
442 <term><filename class="libraryfile">libobt.so</filename></term>
443 <listitem>
444 <para>
445 is the <application>Openbox</application> toolkit library
446 </para>
447 <indexterm zone="openbox libobt">
448 <primary sortas="c-libobt">libobt.so</primary>
449 </indexterm>
450 </listitem>
451 </varlistentry>
452 </variablelist>
453 </sect2>
454
455</sect1>
Note: See TracBrowser for help on using the repository browser.