From ArchWiki
Revision as of 19:13, 28 February 2014 by Chazza (talk | contribs) (added a troubleshooting section and addressed some common problems)
Jump to: navigation, search

According to Wikipedia:

IceWM is a window manager for the X Window System graphical infrastructure, written by Marko Maček. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License. It is relatively lightweight in terms of memory and CPU usage, and comes with themes that allow it to imitate the UI of Windows 95, OS/2, Motif, and other graphical user interfaces". Configurability and presence of simple session management places IceWM between simplest DEs and feature-rich WMs.


IceWM can be installed from official repositories with package icewm.

Alternatively, the latest version from the testing branch (icewm-testingAUR) and CVS version (icewm-cvsAUR) are available from the AUR. These versions add new features and bugfixes (due to slow development they are often equal with othe official repositories icewm).

Running as stand-alone WM

To run IceWM as a stand-alone window manager, append the following to ~/.xinitrc:

exec icewm

icewm-session will run icewm, icewmbg and icewmtray, so appending the following to {{ic|~/.xinitrc} implements basic session management:

exec icewm-session

See xinitrc for details, such as preserving the logind session.

IceWM as a WM for desktop environments

Actions required to use IceWM with DE are basically same as ones for Openbox (and probably any other WM).


Although IceWM configuration is originally text-based, there are GUI-based tools available, notably icewm-utils in [community]. However these tools are relatively old and most users prefer to simply edit the text configuration files. Configuration changes from defaults can be made either system wide (in /etc/icewm/) or on a user-specific basis (in ~/.icewm/).

To change your icewm configuration from the default, simply copy the default configuration files from /usr/share/icewm/ to ~/.icewm/, for example:

Note: Do this as a regular user, not as root.
$ mkdir ~/.icewm/
$ cp -R /usr/share/icewm/* ~/.icewm/
  • preferences is the core configuration file for IceWM.
  • menu controls the contents of the IceWM application menu.
  • keys allows the user to customize keyboard shortcuts
  • toolbar row of launcher icons on the taskbar
  • winoptions behavior of individual applications
  • theme theme path/name
  • startup script or command (must be executable) executed on startup
  • shutdown the same for shutdown
Note: Startup commands that install system tray applets must be preceded by sleep 1 &&, otherwise IceWM will create an ugly black window that will prevent it from quitting; in that case, use xkill on the task bar.


  • menumaker from the official repositories is a Python script that automatically populates your applications menu based on what is installed in your system. Although this may result in a menu filled with many unwanted applcations, it may still be preferable to manually editing the menu configuration file. When running MenuMaker, use the -f flag to overwrite an existing menu file:
# mmaker -f icewm
# xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/ > ~/.icewm/menu


Some themes are included by default, much larger selection is available in the icewm-themes package in the repository, but even the best of them have a spartan, 'old Windows' feel. Much better examples (like [1], [2] or [3]) can be found at

File managers

It should be noted that IceWM is a window manager only and therefore does not include a file manager. PCManFM and Rox Filer enable desktop icons, but Idesk can also be used to achieve this functionality.

Note: For a greater listing of file managers, examine the File managers category listing.


No start menu icon (Intel graphics)

If you have Intel Graphics and you find that the start menu in your taskbar has no icon this is due to a recent change in the xf86-video-intel driver which now favours the newer SNA acceleration backend as opposed the older but more stable UXA acceleration backend. Switching back to the UXA backend should fix this issue. Instructions for changing the acceleration backend can be found here.

Unable to logout when PCManFM is managing the desktop

If you use PCManFM to manage the desktop you may find that the IceWM logout button no longer works. To work around this issue you will need to define a logout command. Open ~/.icewm/preferences, uncomment the following line: # LogoutCommand="" and enter a command which can be used to logout. For example: LogoutCommand="pkill -u username" where username is your username.

No shutdown or reboot options in logout menu (logout command has been defined)

Currently, IceWM does not allow the user to define both shutdown and reboot commands as well as a logout command. If you want shutdown and reboot options in the logout menu then you must not define a logout command.

No shutdown or reboot options in logout menu (logout command has not been defined)

If you have defined shutdown and reboot commands (such as systemctl poweroff or systemctl reboot) and you have not defined a logout command but you still find that there are no shutdown or reboot options in the logout menu, this is due to an upstream bug introduced into IceWM 1.3.8 which renders the logout and reboot dialogues inert. The only known workaround is to downgrade to IceWM 1.3.7. You can find the IceWM 1.3.7 package in the Arch Rollback Machine.

See also