Introduction to IceWM

IceWM is a window manager with the goals of speed, simplicity, and not getting in the user's way.

This package is known to build and work properly using an LFS-7.6 systemd platform.

Package Information

IceWM Dependencies


X Window System and gdk-pixbuf-2.30.8

User Notes:

Installation of IceWM



This version of IceWM is nominally a development release, but it provides a stable working environment and can be built without using obsolete libraries.

Install IceWM by running the following commands:

sed -i '/^LIBS/s/\(.*\)/\1 -lfontconfig/' src/ &&
./configure --prefix=/usr &&

This package does not have a working testsuite.

Now, as the root user:

make install         &&
make install-docs    &&
make install-man     &&
make install-desktop

Command Explanations

sed -i '/^LIBS/s/\(.*\)/\1 -lfontconfig/' src/ this fixes the build with recent versions of binutils.

Configuring IceWM

Config Files

~/.icewm/keys, ~/.icewm/menu, and ~/.icewm/preferences, and ~/.icewm/toolbar, and ~/.icewm/winoptions. The default versions are installed in /usr/share/icewm/ and will be used if you have not copied them to ~/.icewm.

Configuration Information

If IceWM is the only Window Manager you want to use, you can start it with an .xinitrc file in your home folder. Be sure to backup your current .xinitrc before proceeding.

echo icewm-session > ~/.xinitrc

Now create the IceWM configuration files:

mkdir -v ~/.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

You can now edit these files to meet your requirements. In particular, review the preferences file. You can use Logout -> Restart-IceWM on the main menu to load your changed preferences, but changes to the background only take effect when IceWM is started.

The syntax of the menus is explained in the help files, which you can access by running help 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 Programs 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:

  • 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.

  • The icons can be either .xpm or .png files, and there is no need to specify the extension. If the icon is located in the "library" (/usr/share/icewm/icons) there is no need to specifiy the path.

  • Most programs are in sub-menus, and the main menu will always append entries for windows, help, settings, logout at the bottom.

  • An icon for firefox was copied to the library directory and given a meaningful name. The icon for xine is xine.xpm which was installed to a pixmap directory.

  • The default toolbar is not altered.

It is unlikely that these examples meet your desires, but if you wish to use them run the following commands:

cat > ~/.icewm/menu << "EOF"
prog Urxvt xterm urxvt
prog GVolWheel /usr/share/pixmaps/gvolwheel/audio-volume-medium gvolwheel
menufile General folder general
menufile Multimedia folder multimedia
menufile Tool_bar folder toolbar
EOF &&
>cat > ~/.icewm/general << "EOF"
prog Firefox firefox firefox
prog Epiphany /usr/share/icons/gnome/16x16/apps/web-browser epiphany
prog Midori /usr/share/icons/hicolor/24x24/apps/midori midori
prog Gimp /usr/share/icons/hicolor/16x16/apps/gimp gimp
prog Evince /usr/share/icons/hicolor/16x16/apps/evince evince
prog Epdfview /usr/share/epdfview/pixmaps/icon_epdfview-48 epdfview
EOF &&
>cat > ~/.icewm/multimedia << "EOF"
prog Audacious /usr/share/icons/hicolor/48x48/apps/audacious audacious
prog Parole /usr/share/icons/hicolor/16x16/apps/parole parole
prog Totem /usr/share/icons/hicolor/16x16/apps/totem totem
prog Vlc /usr/share/icons/hicolor/16x16/apps/vlc vlc
prog Xine /usr/share/pixmaps/xine xine
EOF &&

If you wish to put icons on your desktop, you will need to install a program such as Rox-Filer-2.11 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 IceWM button. To ensure that the rox pinboard is running, the following commands will put it in the startup file:

cat > ~/.icewm/startup << "EOF"
rox -p Default &
EOF &&
chmod +x ~/.icewm/startup


There are a number of keyboard shortcuts in IceWM:

  • Ctrl + Alt + FN : go to ttyN.

  • Ctrl + Alt + N : go to desktop number N

  • Ctrl + Alt + Space : open a box on the taskbar where you can key in the name of an application and run it.


Installed Programs: icehelp, icesh, icewm, icewm-session, icewm-set-gnomewm, icewmbg, icewmhint, icewmtray
Installed Libraries: None
Installed Directories: /usr/share/doc/icewm-1.3.8, /usr/share/icewm and ~/.icewm

Short Descriptions


is used to display the html manual.


is a command-line window manager which can be used in ~/.icewm/startup.


is the window manager.


runs icewmbg, icewm, icewmtray, startup, shutdown (i.e. startup and shutdown scripts are run if installed).


is a script to set the GNOME to icewm using gconftool.


is used to set the background, according to the various DesktopBackground settings in the preferences.


is used internally.


provides the tray.

Last updated on 2014-08-25 06:24:08 -0700