mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
531 lines
18 KiB
XML
531 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY icewm-download-http "https://github.com/ice-wm/icewm/archive/&icewm-version;/icewm-&icewm-version;.tar.gz">
|
|
<!ENTITY icewm-download-ftp " ">
|
|
<!ENTITY icewm-md5sum "09fd852e60087f22d9404c48ff1b3c81">
|
|
<!ENTITY icewm-size "2.4 MB">
|
|
<!ENTITY icewm-buildsize "47 MB">
|
|
<!ENTITY icewm-time "0.4 SBU">
|
|
]>
|
|
|
|
<sect1 id="icewm" xreflabel="IceWM-&icewm-version;">
|
|
<?dbhtml filename="icewm.html" ?>
|
|
|
|
|
|
<title>IceWM-&icewm-version;</title>
|
|
|
|
<indexterm zone="icewm">
|
|
<primary sortas="a-icewm">icewm</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to IceWM</title>
|
|
|
|
<para>
|
|
<application>IceWM</application> is a window manager with the goals of
|
|
speed, simplicity, and not getting in the user's way.
|
|
</para>
|
|
|
|
&lfs121_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&icewm-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&icewm-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &icewm-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &icewm-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &icewm-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &icewm-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">IceWM Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="cmake"/>,
|
|
<xref linkend="imlib2"/>, and
|
|
<xref linkend="x-window-system"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="asciidoc"/> (for regenerating the HTML documentation),
|
|
<xref linkend="fribidi"/> (for languages written right to left),
|
|
<xref linkend="librsvg"/>,
|
|
<xref linkend="libao"/>,
|
|
<xref linkend="libsndfile"/>,
|
|
<xref linkend="alsa-lib"/> (for the experimental icesound program),
|
|
and <ulink url='https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib'>
|
|
gdk-pixbuf-xlib</ulink>
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of IceWM</title>
|
|
<!--
|
|
<note>
|
|
<para>
|
|
The tarball is compressed with <command>lzip</command>, and cannot be
|
|
processed with the <command>tar</command> program. It can be unpacked
|
|
with the <command>bsdtar</command> program from the libarchive
|
|
package.
|
|
</para>
|
|
</note>
|
|
-->
|
|
<para>
|
|
Install <application>IceWM</application> by running the following
|
|
commands:
|
|
</para>
|
|
|
|
<screen><userinput>mkdir build &&
|
|
cd build &&
|
|
|
|
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCFGDIR=/etc \
|
|
-DENABLE_LTO=ON \
|
|
-DDOCDIR=/usr/share/doc/icewm-&icewm-version; \
|
|
.. &&
|
|
make</userinput></screen>
|
|
|
|
<para>
|
|
This package does not have a working test suite.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
<!--
|
|
<screen role="root"><userinput>cp ../lib/IceWM.jpg lib &&
|
|
make install &&
|
|
rm /usr/share/xsessions/icewm.desktop</userinput></screen>
|
|
-->
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
<para>
|
|
This package creates two <filename>.desktop</filename> files in the
|
|
<filename class="directory">/usr/share/xsessions/</filename> directory.
|
|
Both are not needed in a BLFS system, so prevent the extra file showing
|
|
up as an option in a display manager. As the &root; user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>rm -v /usr/share/xsessions/icewm.desktop</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<parameter>-DENABLE_LTO=ON</parameter>: This option enables Link
|
|
Time Optimization and is required for this package.
|
|
</para>
|
|
<!--
|
|
<para>
|
|
<command>rm /usr/share/xsessions/icewm.desktop</command>: The package
|
|
ships with both icewm.desktop and icewm-xsession.desktop. The former has
|
|
apparently been used in the past, but it will hang if used with a modern
|
|
desktop-manager<phrase revision='sysv'> such as
|
|
<xref linkend="lightdm"/></phrase>.
|
|
</para>
|
|
|
|
<para>
|
|
<command>cp ../lib/IceWM.jpg lib</command>: This instruction fixes an
|
|
install problem.
|
|
</para>
|
|
-->
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring IceWM</title>
|
|
|
|
<sect3 id="icewm-config">
|
|
<title>Config Files</title>
|
|
|
|
<para>
|
|
<filename>~/.icewm/keys</filename>,
|
|
<filename>~/.icewm/menu</filename>, and
|
|
<filename>~/.icewm/preferences</filename>, and
|
|
<filename>~/.icewm/toolbar</filename>, and
|
|
<filename>~/.icewm/winoptions</filename>. The default versions are
|
|
installed in <filename class="directory">/usr/share/icewm/</filename>
|
|
and will be used if you have not copied them to <filename
|
|
class="directory">~/.icewm</filename>.
|
|
</para>
|
|
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.icewm-keys">~/.icewm/keys</primary>
|
|
</indexterm>
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.icewm-menu">~/.icewm/menu</primary>
|
|
</indexterm>
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.icewm-preferences">~/.icewm/preferences</primary>
|
|
</indexterm>
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.icewm-toolbar">~/.icewm/toolbar</primary>
|
|
</indexterm>
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.icewm-winoptions">~/.icewm/winoptions</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Configuration Information</title>
|
|
|
|
<para>
|
|
If <application>IceWM</application> is the only Window Manager you
|
|
want to use, you can start it with an <filename>.xinitrc</filename> file
|
|
in your home folder. Be sure to backup your current
|
|
<filename>.xinitrc</filename> before proceeding.
|
|
</para>
|
|
|
|
<indexterm zone="icewm icewm-config">
|
|
<primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
|
|
</indexterm>
|
|
|
|
<screen><userinput>echo icewm-session > ~/.xinitrc</userinput></screen>
|
|
|
|
<para>
|
|
Now create the <application>IceWM</application> configuration files:
|
|
</para>
|
|
|
|
<screen><userinput>mkdir -pv ~/.icewm &&
|
|
cp -v /usr/share/icewm/keys ~/.icewm/keys &&
|
|
cp -v /usr/share/icewm/menu ~/.icewm/menu &&
|
|
cp -v /usr/share/icewm/preferences ~/.icewm/preferences &&
|
|
cp -v /usr/share/icewm/toolbar ~/.icewm/toolbar &&
|
|
cp -v /usr/share/icewm/winoptions ~/.icewm/winoptions</userinput></screen>
|
|
|
|
<para>
|
|
You can now edit these files to meet your requirements. In particular,
|
|
review the <filename>preferences</filename> file. You can use
|
|
<command>Logout -> Restart-IceWM</command> on the main menu to load
|
|
your changed preferences, but changes to the background only take
|
|
effect when <application>IceWM</application> is started.
|
|
</para>
|
|
|
|
<para>
|
|
At this point you can <emphasis>either</emphasis> modify the
|
|
traditional menu files to suit your requirements,
|
|
<emphasis>or</emphasis> use the newer
|
|
<command>icewm-menu-fdo</command> described later.
|
|
</para>
|
|
|
|
<para>
|
|
The syntax of the menus is explained in the help files, which you can
|
|
access by running <command>help</command> from the menu, but some of
|
|
the detail is out of date and the default selections in the menus (a
|
|
few old applications on the main menu, everything else on the
|
|
<command>Programs</command> menu) will benefit from being updated to
|
|
meet your needs. The following examples are provided to encourage you
|
|
to think about how you wish to organise your menus. Please note the
|
|
following:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
If a program listed in the menu has not been installed, it will
|
|
not appear when the menu is displayed. Similarly, if the program
|
|
exists but the specified icon does not, no icon will be displayed
|
|
in the menu.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The icons can be either <filename>.xpm</filename> or
|
|
<filename>.png</filename> files, and there is no need to specify
|
|
the extension. If the icon is located in the "library"
|
|
(<filename class="directory">/usr/share/icewm/icons</filename>)
|
|
there is no need to specify the path.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Most programs are in sub-menus, and the main menu will always
|
|
append entries for
|
|
<literal>windows, help, settings, logout</literal>
|
|
at the bottom.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
An icon for <application>firefox</application> was copied to
|
|
the library directory and given a meaningful name. The icon for
|
|
<application>xine</application> is <filename>xine.xpm</filename>
|
|
which was installed to a pixmap directory.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The default toolbar is not altered.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
If you wish to use this traditional method, there are more examples in
|
|
previous releases of this book (e.g. BLFS-7.8).
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>Alternatively</emphasis>, you can create a menu which
|
|
conforms to the FDO Desktop Menu Specifications, where programs can be
|
|
found because they have a .desktop file in the XDG_DATA_HOME or
|
|
XDG_DATA_DIR directories. Unlike most windowmanagers,
|
|
<application>icewm</application> does not search for programs when the
|
|
menu is invoked, so if you take this route you will need to rerun the
|
|
following command after installing or removing programs:
|
|
</para>
|
|
|
|
<screen><userinput>icewm-menu-fdo >~/.icewm/menu</userinput></screen>
|
|
|
|
<para>
|
|
If you wish to put icons on your desktop, you will need to install a
|
|
program such as <xref linkend="rox-filer"/> which provides a pinboard.
|
|
If you do that you will no longer be able to access the menu by
|
|
right-clicking on the desktop, you will have to use the
|
|
<application>IceWM</application> button. To ensure that the
|
|
<application>rox</application> pinboard is running, the following
|
|
commands will put it in the startup file:
|
|
</para>
|
|
|
|
<screen role="nodump"><userinput>cat > ~/.icewm/startup << "EOF"
|
|
<literal>rox -p Default &
|
|
EOF &&
|
|
chmod +x ~/.icewm/startup</literal></userinput></screen>
|
|
|
|
<tip>
|
|
<para>
|
|
There are a number of keyboard shortcuts in
|
|
<application>IceWM</application>:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Ctrl + Alt + F<replaceable>N</replaceable> : go to
|
|
<filename>tty<replaceable>N</replaceable></filename>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Ctrl + Alt + <replaceable>N</replaceable> : go to desktop
|
|
number <replaceable>N</replaceable>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Ctrl + Alt + Space : open a box on the taskbar where you can
|
|
key in the name of an application and run it.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</tip>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>icehelp, icesh, icesound, icewm, icewm-menu-fdo, icewm-menu-xrandr,
|
|
icewm-session, icewm-set-gnomewm, icewmbg, and icewmhint
|
|
<!-- icewmtray--></seg>
|
|
<seg>None</seg>
|
|
<seg>/usr/share/doc/icewm-&icewm-version;, /usr/share/icewm and ~/.icewm</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="icehelp">
|
|
<term><command>icehelp</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to display the html manual
|
|
</para>
|
|
<indexterm zone="icewm icehelp">
|
|
<primary sortas="b-icehelp">icehelp</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icesh">
|
|
<term><command>icesh</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command-line window manager which can be used in
|
|
<filename>~/.icewm/startup</filename>
|
|
</para>
|
|
<indexterm zone="icewm icesh">
|
|
<primary sortas="b-icesh">icesh</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icesound">
|
|
<term><command>icesound</command></term>
|
|
<listitem>
|
|
<para>
|
|
plays audio files on GUI events raised by IceWM
|
|
</para>
|
|
<indexterm zone="icewm icesound">
|
|
<primary sortas="b-icesound">icesound</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewm-prog">
|
|
<term><command>icewm</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the window manager
|
|
</para>
|
|
<indexterm zone="icewm icewm-prog">
|
|
<primary sortas="b-icewm">icewm</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewm-menu-fdo">
|
|
<term><command>icewm-menu-fdo</command></term>
|
|
<listitem>
|
|
<para>
|
|
can create a file in a format suitable for an IceWM menu, which
|
|
lists those programs currently installed in a layout conforming to
|
|
the FDO Desktop Menu Specifications
|
|
</para>
|
|
<indexterm zone="icewm icewm-menu-fdo">
|
|
<primary sortas="b-icewm-menu-fdo">icewm-menu-fdo</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewm-menu-xrandr">
|
|
<term><command>icewm-menu-xrandr</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a helper program used to manage multi-screen configurations
|
|
</para>
|
|
<indexterm zone="icewm icewm-menu-xrandr">
|
|
<primary sortas="b-icewm-menu-xrandr">icewm-menu-xrandr</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewm-session">
|
|
<term><command>icewm-session</command></term>
|
|
<listitem>
|
|
<para>
|
|
runs icewmbg, icewm, icewmtray, startup, shutdown (i.e. startup
|
|
and shutdown scripts are run if installed)
|
|
</para>
|
|
<indexterm zone="icewm icewm-session">
|
|
<primary sortas="b-icewm-session">icewm-session</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewm-set-gnomewm">
|
|
<term><command>icewm-set-gnomewm</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a script to set the <application>GNOME</application> window
|
|
manager to <application>icewm</application> using
|
|
<application>gconftool</application>
|
|
</para>
|
|
<indexterm zone="icewm icewm-set-gnomewm">
|
|
<primary sortas="b-icewm-set-gnomewm">icewm-set-gnomewm</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewmbg">
|
|
<term><command>icewmbg</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to set the background, according to the various
|
|
<literal>DesktopBackground</literal> settings in the preferences
|
|
</para>
|
|
<indexterm zone="icewm icewmbg">
|
|
<primary sortas="b-icewmbg">icewmbg</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="icewmhint">
|
|
<term><command>icewmhint</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used internally to provide hints to the user
|
|
</para>
|
|
<indexterm zone="icewm icewmhint">
|
|
<primary sortas="b-icewmhint">icewmhint</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
<!--
|
|
<varlistentry id="icewmtray">
|
|
<term><command>icewmtray</command></term>
|
|
<listitem>
|
|
<para>
|
|
provides the tray
|
|
</para>
|
|
<indexterm zone="icewm icewmtray">
|
|
<primary sortas="b-icewmtray">icewmtray</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|