HOWTO IceWM

From Gentoo Linux Wiki

Jump to: navigation, search

Window Manager Series


WMs


edit
Simple IceWM screenshot
Simple IceWM screenshot

Contents

[edit] What is IceWM?

IceWM is a very light and highly configurable window manager for the X Window System.
IceWM Homepage: http://www.icewm.org/

[edit] USE Flags

esdAdds support for the Enlightened sound daemon
gnomeAdds support for Gnome applications
imlib
nlsSupport for native languages (recommended)
silverxpPatches IceWM so you can use the SilverXP theme. Homepage: http://sourceforge.net/projects/icewmsilverxp
spell
truetypeAdds support for TrueType fonts
xineramaAdds support for multiple monitors

[edit] Setup

# emerge icewm

[edit] Alternative 1 - Using xdm

Use this method if you want X started on boot and present you a login window to initiate your IceWM session

  1. emerge --noreplace xdm

You may also use other display managers, but here we assume xdm.

There are two ways to do set icewm as your default WM: You can either(recommended way): In /etc/rc.conf, change XSESSION line to:

XSESSION="icewm-session"

OR: Create a file named .xsession in your home directory with this line:

exec icewm-session

icewm-session binary also launches icewmbg(setting the background) and icewmtray(docklet support) applications.

[edit] Alternative 2 - Using startx

Use this method if you don't want X started automatically and you use startx.

modify or create .xinitrc with this line (if you modify it, put this line to the bottom):

exec icewm

[edit] Settings Files

As your user:

$ mkdir ~/.icewm
$ cp -R /usr/share/icewm/* ~/.icewm/.

NOTE: The above is only necessary if you wish to customize each file in the .icewm directory. It may also cause problems when certain default files get updated in /usr/share/icewm (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 /home/user/.icewm copy of the themes instead of the ones that will get updated at /usr/share/icewm/.

Icewm looks in 3 places for settings files:

{$HOME}/.icewm /etc/icewm/ (only on gentoo, for a regular icewm install it looks in /etc/X11/icewm) /usr/share/icewm

It prioritizes them in the above order. What this means is that the default settings are in /usr/share/icewm. The system wide custom settings should go in /etc/icewm (please note that the ebuild does not make this directory or copy any files there automatically). And the users custom settings should go in {$HOME}/.icewm

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

# mkdir /etc/icewm
# cp /usr/share/icewm/menu /etc/icewm
# nano /etc/icewm/menu

This way each user doesnt 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 HOME/.icewm 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 /usr/share/icewm.

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

$ mkdir ~/.icewm
$ cp -R /usr/share/icewm/* ~/.icewm/.
$ cp -R /etc/icewm/* ~/.icewm/.

NOTE: with the above commands you will have manually update your .icewm by copying over the new theme file whenever the themes are updated. You'll have to do this for other files too but usually only the themes change.

[edit] IceWM Packages

There are a number of tools to help configure IceWM through a graphical interface, rather then editing your files manually in the ~/.icewm/ 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.

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

Package Name Description
x11-misc / denu A menu generation program for fluxbox, waimea, openbox, icewm, gnome and kde.
x11-misc / icebgset IceWM background editor
x11-misc / icecc IceWM Control Center (only main program, see icewm-tools for the rest)
x11-misc / icecursorscfg IceWM cursor's configurator
x11-misc / iceiconcvt IceWM icons' converter
x11-misc / iceked IceWM keys editor
x11-misc / icemc IceWM menu/toolbar editor
x11-misc / icemergeprefs IceWM private/global preferences merger
x11-misc / icerrun IceWM 'recently used programs' menu generator
x11-misc / icesndcfg IceWM sound editor.
x11-misc / icets IceWM Theme Editor
x11-misc / icewm-tools Convenience package for IceWM control center and tools
x11-misc / icewmcp A complete control panel for IceWM using gtk & python
x11-misc / icewoed IceWM winoptions editor.
x11-themes / iceicons IceWM Icons is a set of XPM 16x16, 32x32, and 48x48 XPM and PNG icons for IceWM
x11-themes / icewm-themes Collection of IceWM themes
x11-wm / icewm Ice Window Manager with Themes

[edit] Other Packages you might want to emerge

[edit] Desktop File Managers

Package Name Description
app-misc/dfm Desktop Manager. Good replacement for gmc or nautilus
gnome-base/nautilus A filemanager for the Gnome2 desktop
x11-misc/idesk Utility to put icons on the root window (Can't use this with Composite Enabled)

[edit] Tips and Tricks

[edit] Putting XMMS 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 ~/.icewm/winoptions

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


File: ~/.icewm/winoptions
 xmms.tray: Exclusive

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.

[edit] Enabling "Run..."

As of IceWM 1.2.14, the default Gentoo install doesn't 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:

# emerge bbrun -O

Note: that is a capital -O, equivalent to --nodeps

Then, edit your ~/.icewm/preferences to run "bbrun" for the "Run..." option:


File: ~/.icewm/preferences
ShowRun = 1
 RunCommand="bbrun -w"

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


File: ~/.icewm/keys
 key "Alt+F2" bbrun -w


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

You can also use GTK2 based gmrun.

[edit] Quick Switch Between Windows

Press Win+Esc to bring up Window List, then type the first character of the window title you want to switch to.

[edit] Useful Links

Personal tools