Next Previous Contents

12. Bugs and Problems

This section is for problems that are intrinsic to the philosophy of IceWM or that are caused by bugs.

12.1 IceWM ignores my color settings

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

    Depth: n

you are running X in n-bit mode (n typically is 8, 16, 24 or 32).

12.2 Programs are missing in the menus

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:

  1. You give the full path and not only the program name itself.
  2. You set the path in your .xinitrc, .xsession or .Xclients.
  3. You use a wrapper script for running IceWM.

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 icewm to icewm.bin.

    mv /usr/local/bin/icewm /usr/local/bin/icewm.bin

Edit 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 "$*". Otherwise all command line arguments (such as "use another theme") will be ignored.

Hint: Using bash, ksh and zsh you can contract

    PATH=<what the path shall be>
    export $PATH

into

    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>

12.3 IceWM maximizes windows over the GNOME panel

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

    Panel.doNotCover: 1

in your winoptions file.

12.4 The IceWM binaries are very big

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 is strip: Go to the directory where IceWM has been installed in (typically /usr/local/bin/) and issue:

    ls -l icewm icewmhint icewmbg icewmtray genpref
    strip -s icewm icewmhint icewmbg icewmtray genpref
    ls -l icewm icewmhint icewmbg icewmtray genpref

The ls commands are not really needed, but show you the (maybe dramatic) change of size of the icewm binaries.

Use man strip and info strip to find out more details about the strip command.

12.5 Screen locking doesn't work

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.

12.6 Background does not show up

IceWM is divided in few separated parts. One of them is icewmbg. This part takes care of bacground setup. Therefore if you want IceWM to take care of desktop background you have to start icewmbg at IceWM startup. The proper way is to start icewm-session in your X startup instead of just icewm. See Configuration.

12.7 Icon tray does not work

Problem is nearly same as with background. There is icewmtray you need to start to activate tray functions. This should implement some docking standard used by other applications.

12.8 IceWM does not respect my font settings

IceWM uses two ways of font handling - corefonts OR fonts provided by xfreetype library.

These fonts can be specified in preferences or theme default.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 /etc/fonts/fonts.conf. 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. /etc/X11/fs/config.


Next Previous Contents