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
Depth: n
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:
- You give the full path and not only the program name itself.
- You set the path in your
.xinitrc
, .xsession
or .Xclients
.
- 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>
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.
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.
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 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.
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.
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
.