This section is for problems that are intrinsic to the philosophy of IceWM or that are caused by bugs.
Some users wonder why the colors specified in their preference files seem to have no effect upon the actual appearance of things. The reason is that these settings may be overridden by settings in the theme file.
The theme file can control all of the options
controlled by the
preferences file, but usually
theme authors are decent confine their meddling to superficial
aspects of window manager behavior and leave control over most
important behaviors to the user.
If this wasn't the reason: If you are running X in 8-bit mode then it is possible that the specified color simply isn't available.
You don't know if X is running in 8-bit mode? Run
xwininfo | grep Depth
in an XTerm and click on the root window (the desktop). If this command displays
you are running X in n-bit mode (n typically is 8, 16, 24 or 32).
A very annoying problem are programs you added to the
menu file but
that are missing in the corresponding menus. That isn't really a bug
of IceWM. The point of view of IceWM is that it makes no sense to
display a program that are not present.
The crucial point is the meaning of "to be present". It does not mean "to be installed" but "to be found using the present path" (echo $PATH or which program to find if program is in PATH).
To fix the problem you have at least three possibilities:
The first two solutions are straightforward. Using a wrapper script is a bit tricky therefore I'll describe how to do it.
Become root and move
mv /usr/local/bin/icewm /usr/local/bin/icewm.bin
icewm so that it reads something like this:
#!/bin/sh PATH=<what the path shall be> export $PATH exec icewm.bin $*
It is very important to add the
all command line arguments (such as "use another
theme") will be ignored.
zsh you can contract
PATH=<what the path shall be> export $PATH
export PATH=<what the path shall be>
You could also add directories to the path (instead of simply overwriting it). To do this you use
PATH=$PATH:<what shall be added>
This used to be a really annoying problem, but seems to be gone with newer versions of IceWM and GNOME. If it still happens on your machine try to set
You might wonder why the IceWM binaries is that big. This is because
they contain an awful lot of (debugging) symbols. Without them the
binaries are much smaller. The command to remove the symbols
strip: Go to the directory where IceWM has
been installed in (typically
ls -l icewm icewmhint icewmbg icewmtray genpref strip -s icewm icewmhint icewmbg icewmtray genpref ls -l icewm icewmhint icewmbg icewmtray genpref
ls commands are not really needed, but show
you the (maybe dramatic) change of size of the icewm binaries.
man strip and
strip to find out more details about the
The reason for this is that the standard lock command
xlock) could not be found by IceWM. See
Setting the lock command for details on setting
a different lock command.
IceWM is divided in few separated parts. One of them is
This part takes care of bacground setup. Therefore if you want IceWM to
take care of desktop background you have to start
IceWM startup. The proper way is to start
icewm-session in your
X startup instead of just icewm.
Problem is nearly same as with background. There is
you need to start to activate tray functions. This should implement some docking
standard used by other applications.
IceWM uses two ways of font handling - corefonts OR fonts provided by xfreetype library.
These fonts can be specified in
preferences or theme
For X server provided fonts (configure --enable-corefonts option) the definition looks like this:
ActiveButtonFontName = "-artwiz-snap-regular-r-normal-sans-10-*-*-*-*-*-*-*"
For Xft (xfreetype) library (used by default, disable using option --disable-xfreetype), then specification is like this:
ActiveButtonFontNameXft = "Snap:size=10,sans-serif:size=12:bold"
To provide correct fonts to Xft you have to specify them in
X server font are either provided by X server itself e.g.
/etc/X11/XF86Config - Section "Files",
or by XFS (X Font Server) defined in.