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 and also compiles on most *BSDs.
IceWM was coded from scratch in C++ by Marko Maček since 1997. It is now maintained at Github.
- 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
- Menus are automatically redefined when configuration changes
- Sound support
- Multiple focus modes
- Manual placement of windows option
- Autoraising of windows option
- Configurable keybindings
IceWM is themeable. Every setting from the preferences file can be changed by a theme. This includes titlebars, borders, icons, events, the taskbar, etc. IceWM supports pixmapped and non-pixmapped themes and comes with an example theme for all the theme types (warp3, warp4, win95, motif, nice, pixmap, metal, gtk) that IceWM supports. Currently, more than 400 themes can be downloaded from box-look.org.
IceWM is translated into three dozen languages.
See issues on Github.
Install the latest release as follows
$ wget https://github.com/ice-wm/icewm/releases/download/2.1.1/icewm-2.1.1.tar.lz $ tar -x --lzip -vpf icewm-2.1.1.tar.lz $ cd icewm-2.1.1 $ ./configure --prefix=/usr $ make $ sudo make install
Install from unreleased development source code
Gettext and asciidoc must be installed.
$ git clone https://github.com/bbidulock/icewm $ cd icewm $ ./autogen.sh $ ./configure --prefix=/usr $ make $ sudo make install
If you have cmake, an alternative is:
$ git clone https://github.com/bbidulock/icewm $ cd icewm $ ./rebuild.sh -r --prefix=/usr $ cd build $ sudo make install
Install package dependencies
To install all package dependencies in one go use the following script.
$ wget https://ice-wm.org/scripts/os-depends.sh $ sudo bash -x ./os-depends.sh
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
More installation and configuration
- IceWM sound files.
- IceWM release history.
- Compare window managers.
- List of all window managers.
- GNOME window manager hints.
- Extended window manager hints.
- The anatomy of the modern window manager.
- Porting a Window Manager from Xlib to XCB.
IceWM is released under the terms of the GNU Library General Public License.
Contribute to ongoing development and support of IceWM by donating.