IceWM

IceWM is a very light and highly configurable window manager for the X Window System. More information is available on the IceWM website.

USE Flags

 * : Adds support for the Enlightened sound daemon
 * : Adds support for Gnome applications
 * : Imlib is an advanced replacement library for libraries like libXpm that provides many more features with much greater flexibility and speed. It was originally written for E, now used by the GNOME Project
 * : minimal
 * : Support for native languages (recommended)
 * : Adds support for TrueType fonts (recommended)
 * : Adds support for multiple monitors}
 * : Adds support for multiple monitors}

Installation
To install IceWM simply emerge it using Portage:

Alternative 1 — Using a display manager
Use this method if you want X started on boot and present you a login window to initiate your IceWM session. You may use any display manager you wish. Here we assume xdm to be the display manager of choice:

Once xdm is properly installed in your system, it needs to be configured to run an IceWM session. You can either set it up globally by editing the file and adding/changing the XSESSION environment variable to icewm-session:

Or set it up on a per-user basis by creating a file named in your user's home directory with the following contents:

Icewm-session will run, apart from icewm itself, icewmbg (desktop background control) and icewmtray (docklet support) applications. Note that these may need to be emerged separately in addition to the main IceWM distribution.

Alternative 2 — Using startx
Use this method if you intend to start X and initiate your IceWM session manually by using the startx script. All you need to do is create or modify a file named in your user's home directory and put the following line (to the bottom of the file in case it had other contents):

Then, to start your session, run:

Configuration
IceWM stores its user-wise configuration files in the directory in the user's home directory. It does not exist by default, so you would normally start from modifying a default configuration:

NOTE: The above is only necessary if you wish to customize each file in the directory. It may also cause problems when certain default files get updated in (this usually happens when a theme gets updated).

The above will also prevent you from receiving updates to your current themes as icewm will use your old copy of the themes instead of the ones that will get updated at /.

Icewm looks in 3 places for settings files:


 * / (only on gentoo, for a regular icewm install it looks in )
 * / (only on gentoo, for a regular icewm install it looks in )

It prioritizes them in the above order. What this means is that the default settings are in. The system wide custom settings should go in (please note that the ebuild does not make this directory or copy any files there automatically). And the user's custom settings should go in

Now what you usually want is a system wide customized start menu in a multiuser environment (you know what programs are on your system better than the icewm guys do). So you would

This way each user doesn't have a run a menu gen program or manually add all the programs to their own .icewm/menu! Each user can still over ride this by copying it to his or her dir and adjusting it there.

If you need to customize any other files copy them on file by file basis so the ones you don't need customized will fall back to the ones that get updated in.

Of course NOW if you as a user and not an admin want to customize further (developing themes or what not)

Additional Packages
There are a number of tools to help configure IceWM through a graphical interface, rather then editing your files manually in the directory. Even though the GUIs help to streamline changing a lot of settings, it is recommend to view the files manually simply to see the large array of options that are available.

is a meta-package that installs many common administration tools. You probably don't need all of them, but running will show you which individual packages are included. List of emergable IceWM packages in alphabetical order.

Putting applications in the system tray
One of the great things about IceWM is that unlike KDE and Gnome, you don't need to install "applets" to have your programs run or minimize in the sytem tray. IceWM's configuration files makes it simple not only to run programs in your system tray, but also to change the icons, tell it which window to load in, individual window settings, etc.

All your per-program window settings can be found in

To have XMMS run in the system tray, simply add this line:

Anytime you make any changes to your IceWM settings that directly affect the main toolbar, you have to restart IceWM for the changes to take affect (the same is not true, however, if you add or edit programs in the sub-menus).

Fortunately, you can also restart IceWM without logging out. Just select "Restart IceWM" in the "Logout" menu. Open up XMMS and you should see it load in the system tray.

NOTE: There is a plugin for xmms that handles tray operations, just emerge xmms-status-plugin. You will get a nice tray icon of xmms with configurable mouse actions. Remember, only newer builds (>=1.2.10 r6) support 'minimize-to-tray' option.

Enabling "Run..."
As of IceWM 1.2.14, the default Gentoo installation does not include an option for the "Run..." command in the main menu, even if enabled in the preferences. A workaround is to use an external program to run the "Run..." commands, and modify your preferences to use that program.

A good one to use is BlackBox's bbrun, which is in portage. To install it, and avoid installing BlackBox WM, emerge the package with no dependencies:

Then, edit your file and set bbrun up as the desired application for the "Run..." option:

Also, if you would like to bind a key to running the "Run" window, edit your file. This example uses to open the run window (similar to KDE and GNOME).

(Note: Keystroke turns taskbar into "one-line shell" mode, which can be used as run app)

You can also use GTK2 based gmrun.

Quick Switch Between Windows
Press to bring up Window List, then type the first character of the window title you want to switch to.

Useful Links

 * http://www.osnews.com/story.php?news_id=7774&page=1
 * Thread for ICEWM lovers (ICEWM tips)