HOWTO IceWM
From Gentoo Linux Wiki
|
|
edit |
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
esd | Adds support for the Enlightened sound daemon |
gnome | Adds support for Gnome applications |
imlib | |
nls | Support for native languages (recommended) |
silverxp | Patches IceWM so you can use the SilverXP theme. Homepage: http://sourceforge.net/projects/icewmsilverxp |
spell | |
truetype | Adds support for TrueType fonts |
xinerama | Adds 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
- 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.