IceWM

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, themable 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.

Software

IceWM has been coded from scratch in C++. It is maintained at Github.

Releases

The latest released version is 1.4.2 (2017-07-30). The following stable pre-releases have many improvements and are recommended:

Compared to 1.4.2, the latest pre-release contains many bugfixes, many portability fixes and updated translations. A new quickswitch, new hotkeys, new focus behavior FocusCurrentWorkspace, new theme option TaskbuttonIconOffset, SVG support for gdk-pixbuf. Change focus model without restart. Change preferences via menus. Improved locating and loading of icons. Extended window list menus. Switch windows of same class. Monitoring applet options. MouseWinLower hotkey. Omit borders for shaped applications. Shuffle and cycle backgrounds periodically. A new website ice-wm.org. Quickswitch can be either horizontal or vertical. Easily change focus or workspaces by mouse wheel. A gui to select RandR settings. A new compliant menu generator. The monitoring applets require a lot less processor time. The improved system tray supports more applications. Mailbox monitoring was overhauled and now supports TLS/SSL connections to POP and IMAP servers, Gmail and Maildirs. Support for 32-bit visuals and compositing managers was added. The order of buttons and icons on taskbar, tray bar and system tray is now fully configurable. Many new manual pages have been written and documentation is fully updated. The addressbar now has a recallable history of previous commands. PagerShowPreview is now the default. IceWM now supports _NET_WM_PING, _NET_REQUEST_FRAME_EXTENTS, _NET_WM_STATE_FOCUSED and _NET_WM_WINDOW_OPACITY protocols. Support for sounds on guievents was updated.

Features

  • 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
  • Tooltips
  • Configurable keybindings

Screenshots

The IceWM Screenshots Collection

Themes

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.

Translations

IceWM is translated into three dozen languages.

Documentation

Bug Tracking

See issues on Github.

Install from source

$ git clone https://github.com/bbidulock/icewm
$ cd icewm
$ ./autogen.sh
$ ./configure --enable-gdk-pixbuf --prefix=/usr
$ make
$ sudo make install

Install package dependencies

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

$ wget https://ice-wm.org/scripts/os-depends.sh
$ sudo bash -x ./os-depends.sh

License

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