mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-13 23:49:15 +08:00
Several packages add unneeded .desktop files in /usr/share/xsessions/. These then show up in display managers and can confuse users. This change moves them out of the way. Also document that lxdm does not support wayland based desktop sessions.
534 lines
18 KiB
XML
534 lines
18 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!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 "2fe3d2ebbe34ebbd4d091555f1c96ed3">
|
|
<!ENTITY icewm-size "2.3 MB">
|
|
<!ENTITY icewm-buildsize "46 MB">
|
|
<!ENTITY icewm-time "0.3 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>
|
|
|
|
&lfs113_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="x-window-system"/>, and
|
|
<xref linkend="gdk-pixbuf-xlib"/>
|
|
</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="imlib2"/>,
|
|
<xref linkend="librsvg"/>,
|
|
<xref linkend="libao"/>,
|
|
<xref linkend="libsndfile"/>, and
|
|
<xref linkend="alsa-lib"/> (for the experimental icesound program)
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/icewm"/></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 \
|
|
-DCONFIG_GDK_PIXBUF_XLIB=ON \
|
|
-DCONFIG_IMLIB2=OFF \
|
|
-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 .desktop files in the
|
|
/usr/share/xsessions/ directory. Both are not needed in a
|
|
BLFS system, so prevent the extra file showing up as an option
|
|
in a window manager. As the &root; user:</para>
|
|
|
|
<screen role="root"><userinput>mkdir -p /usr/share/xsessions/deprecated &&
|
|
mv -v /usr/share/xsessions/icewm.desktop /usr/share/xsessions/deprecated</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>
|