ice window manager (evacuated from NSA/Microsoft Github)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
anonymous cypherpunk 1901737502 builds now 3 months ago
contrib Interpret removed monitors as truely disconnected 6 years ago
doc update manual for menu files. 6 years ago
lib Merge pull request #272 from ddekany/pr-default-colors 6 years ago
m4 builds now 3 months ago
man builds now 3 months ago
po Translated using Weblate (Danish) 6 years ago
src builds now 3 months ago
utils default configure arguments removed 17 years ago
.gitignore add ignore files 6 years ago
ABOUT-NLS builds now 3 months ago
AUTHORS more authors 7 years ago
BUGS Update bug report location to Github. 7 years ago
CHANGES degithubbing 3 months ago
CMakeLists.txt Have cmake add git rev number to VERSION 6 years ago degithubbing 3 months ago
COMPLIANCE support _NET_WM_PING. 6 years ago degithubbing 3 months ago
COPYING minor build corrections and cosmetics 10 years ago
ChangeLog Revert "suppress warnings on open files" 7 years ago
INSTALL builds now 3 months ago markdownify 7 years ago
INSTALL.cmakebuild Added a dedicated CMake option for LTO enabling 7 years ago
Makefile builds now 3 months ago added script to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT 6 years ago builds now 3 months ago
NEWS Revert "suppress warnings on open files" 7 years ago
PLATFORMS solaris 9 20 years ago degithubbing 3 months ago mention xde-menu utility 6 years ago
THANKS simplify distribution 8 years ago
TODO support _NET_WM_PING. 6 years ago
VERSION builds now 3 months ago
acinclude.m4 autoconf 2.59 fixes 20 years ago
aclocal.m4 builds now 3 months ago OpenBSD sed requires file argument to be last. 6 years ago
config.h builds now 3 months ago builds now 3 months ago
configure builds now 3 months ago builds now 3 months ago Revert "some changes for testing" 6 years ago option -j#JOBS 6 years ago dashify gennews 7 years ago
icewm-set-gnomewm breaks distcheck 7 years ago
icewm.lsm builds now 3 months ago degithubbing 3 months ago
icewm.spec builds now 3 months ago degithubbing 3 months ago Initial revision 22 years ago Cmake support JPEG for XPM and fix FRIBIDI. 6 years ago

Ice Window Manager - Evacuated from NSA/Microsoft Github (IceWM)

IceWM at one point was onn sourceforge's CVS. Then it got soaked up into somebody's git repo, and then eventually wound up in github. Then NSA/Microsoft bought github, in an attempt to divide and conquer the free software movement. We are here to rescue Icewm from NSA/Microsoft.

At one point icewm had "EWMH/ICCCM compliance" whatever that means.

Icewm has in the past benefitted from patches from Arch Linux, Debian, pld-linux, the IceWM bug list(wherever this is), and various other forks on Github, and now we're ready to start forking off into a new direction.

The name was decided on a very hot day... (and Marko started writing it in winter ;-)


This fork happened at icewm-1.4.2 , released under LGPL license 2017-07-30. This release as well as future versions here, can all be obtained from [GitHub][1] using a command such as:

git clone

When working from git(1), please use this file. An abbreviated installation procedure that works for most applications appears below.

Quick Start

The quickest and easiest way to get IceWM up and running is to run the following commands:

$> git clone
$> cd icewm
$> ./
$> ./configure --prefix=/usr --sysconfdir=/etc
$> make
$> sudo make DESTDIR="$pkgdir" install

This will configure, compile and install IceWM the quickest. For those who would like to customize the installation, use the command:

./configure --help

Please see the INSTALL file for more detailed installation instructions. An alternative way to build IceWM using CMake is [documented here][19]. The ChangeLog file contains a detailed history of implementation changes. The COMPLIANCE file lists the current state of EWMH/ICCCM compliance. The NEWS file has release notes and history of user visible changes of the current version. The TODO file lists features not yet implemented and other outstanding items.

This release is published under LGPL license that can be found in the file COPYING.


Building from tarball requires:

  • gcc or clang
  • libxft
  • libxinerama
  • libxpm
  • libjpeg
  • libxrandr

if you can help us deduce exactly which versions of the above work, we would appreciate it.

Building from git also requires:

  • complete autoconf or cmake toolchain
  • asciidoctor or asciidoc

Configuring IceWM

Documentation for configuring the window manager can be obtained from the [online manual][15].

Unfortunately the documentation is for version 1.2.27 and is incomplete at that; however, it is for the most part usable.

The good news is that the icewm(1) manual page for version 1.4.1 is complete and fully up-to-date.

Included Utilities

Currently, the only included utilities are:

  • icewmbg (a background setting program),
  • icewmtray (a system tray for the IceWM taskbar), and,
  • icewm-session (a program to launch the window manager, icewmbg and icewmtray in an orderly fashion),
  • icewm-menu-fdo (a utility to genenerate XDG menus),
  • icewm-menu-gnome2 (a utility to generate GNOME menus),
  • icewmhint (a utility to set IceWM-specific window options hint).
  • icesound (play audio files when interesting GUI events happen).

Third-party Utilities

There used to be some on github.

For additional utilities see the IceWM FAQ.

Bug Reports

Issues can be reported here.

Please try to submit patches or pull requests if you can.

If you would like to perform regular maintenance activities (e.g. if you are a maintainer of an IceWM package for a distribution), get in touch ( ).

We welcome bug reports.

Bug reports, feedback, and suggestions pertaining to the original CVS version

Apparently there used to be a mailing list on sourceforge at . If you use this version of the project, suggest for them to rebase efforts for development here (or leave github).

See also BUGS, TODO and the sites at:

Old websites were at :


If you would like to develop against this fork, the easiest way is to obtain a FCE account, fork the [repository][1] and perform your development. Send me a pull request when you have something stable.


You can provide translations by patching .po files and issuing pull requests, or you can use the openSUSE weblate tool. There are two XDG files, [icewm.desktop][17] and [icewm-session.desktop][18] than may need manual translations. If you have difficulties using the tools, just send me the updated .po file or a patch to apply.