Warning: THE VOID WIKI IS DEPRECATED. It is no longer being maintained, contains outdated and incorrect information, and will eventually be shut down. Please refer to the Void Handbook, https://docs.voidlinux.org/, for the official documentation. If you can't find the information you're seeking, please raise an issue at https://github.com/void-linux/void-docs/issues

Icewm -

From Void Linux Wiki
Revision as of 09:27, 10 June 2020 by Duncaen (talk | contribs) (Duncaen moved page Icewm to Icewm - without leaving a redirect)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article was taken partly or wholly, with or without modification from: ArchWiki

IceWM is a window manager for the X Window System graphical infrastructure.. 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.


IceWM can be installed with the icewm package.

A forked version of IceWM exists on GitHub


With xinit run icewm, or icewm-session to also run icewmbg and icewmtray.


Although IceWM configuration is originally text-based, there are GUI-based tools available. 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:

$ 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


The startup script is not provided by the icewm package so you will need to create it yourself.

$ touch ~/.icewm/startup
$ chmod +x ~/.icewm/startup

Then open the file in your favourite text editor and add the commands for the programs that you wish to start with the IceWM session.

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.

Below is an example of an IceWM startup script which starts network-manager-applet and XScreenSaver with the IceWM session:


sleep 1 &&
nm-applet &

xscreensaver -nosplash &

Generating menu entries

  • 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 applications, 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

You can avoid populating your menu with terminal based applications such as alsamixer by running the following switches with the mmaker command: --no-legacy and --no-debian. For example:

$ mmaker -f --no-legacy --no-debian icewm

Desktop icons

A file manager such as PCManFM or Rox Filer can manage the wallpaper and add desktop icons. Alternatively, you could install Idesk, a small program that can also add icons to the desktop.

Tips and tricks


IceWM is not a compositing window manager. If you need compositing with IceWM, you have the option of using a standalone composite manager such as Xcompmgr or Compton.


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. As a workaround, you can define a logout command. This should allow you to logout whilst PCManFM is managing the desktop. To do this, 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:

Shutdown and reboot commands will be ignored if a logout command has been defined. If you want shutdown and reboot options in the logout menu then you must not define a logout command.

See also