Window Manager

IceWM website logo

IceWM is a window manager for the X Window System. The goal of IceWM is speed, simplicity, and not getting in the user’s way. It comes with a taskbar with pager, global and per-window keybindings and a dynamic menu system. Application windows can be managed by keyboard and mouse. Windows can be iconified to the taskbar, to the tray, to the desktop or be made hidden. They are controllable by a quick switch window (Alt+Tab) and in a window list. A handful of configurable focus models are menu-selectable. Setups with multiple monitors are supported by RandR and Xinerama. IceWM is very configurable, themeable and well documented. It includes an optional external background wallpaper manager with transparency support, a simple session manager and a system tray. IceWM is available on popular Linux distributions like Debian, Ubuntu, Arch, OpenSUSE, Gentoo, Slackware, CentOS, antiX, NixOS and on most *BSDs.


IceWM was coded from scratch in C++ by Marko Maček since 1997. It is now maintained at Github.


The latest released version is 3.6.0 (2024-06-16).


  • Easy to use, simple and fast
  • Standards compliant
  • Fully usable with keyboard
  • Alt+Tab window switching
  • Efficient resource usage
  • Task bar (optional)
  • Multiple workspaces
  • Fully documented
  • A large number of themes
  • Usable with GNOME and KDE environments
  • Regenerates menus when configuration changes
  • Support for sound effects
  • Multiple focus modes
  • Manual placement of windows option
  • Autoraising of windows option
  • Tooltips
  • Configurable keybindings
  • Supports DockApps in a container
  • Tabbed windows


The IceWM Screenshots Collection


IceWM is themeable. The visual appearance of icewm can be changed by a theme, which is a collection of settings and small images. More than 400 themes can be downloaded from Extra is a collection of 90 highlights.


IceWM is translated into three dozen languages. To improve the translation for your language at Weblate, first register an account either here or there, then update.


Bug Tracking

Report your icewm bugs on Github.

Install the latest release as follows

$ wget
$ tar -x --lzip -vpf icewm-3.6.0.tar.lz
$ cd icewm-3.6.0
$ ./configure --prefix=/usr
$ make
$ sudo make install

Install from unreleased development source code

Gettext must be installed.

$ git clone
$ cd icewm
$ ./
$ ./configure --prefix=/usr
$ make
$ sudo make install

If you have cmake, an alternative is:

$ git clone
$ cd icewm
$ ./ -r --prefix=/usr
$ cd build
$ sudo make install

Install package dependencies

To install all package dependencies in one go use the following script.

$ wget
$ sudo bash -x ./

Verify package dependencies by:

$ pkg-config --modversion x11 xext xcomposite xdamage xfixes xrender xrandr xinerama xft fontconfig sm ice sndfile alsa ao gio-2.0 gio-unix-2.0 gdk-pixbuf-xlib-2.0 imlib2 librsvg-2.0 xpm libpng libjpeg
# or simpler:
$ ./ -d

More installation and configuration


IceWM is released under the terms of the GNU Library General Public License.

Contribute to ongoing development and support of IceWM by donating.


Show you’re an afficionado and visit our shop.