cwm (window manager)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Cwm (window manager).png
cwm running on OpenBSD
Original author(s) Marius Aamodt Eriksen
Developer(s) Marius Aamodt Eriksen, Andy Adamson, Niels Provos, Martin Murray, Dimitris Economou, Antti Nykänen, Christian Neukirchen
Initial release July 10, 2004; 12 years ago (2004-07-10)
Stable release
Within OpenBSD 6.0 / September 1, 2016; 7 months ago (2016-09-01)
Development status Active
Written in C
Operating system Unix-like
Type Window manager
License ISC License

cwm (Calm Window Manager)[1] is a stacking window manager for the X Window System. While it is primarily developed as a part of OpenBSD's base system,[2] portable versions are available on other Unix-like operating systems.


Development of cwm started from patches to evilwm by Marius Aamodt Eriksen, but the evilwm's codebase "did not accomodate [sic] well for the new features added".[3] Some of 9wm code was used for rewrite.[4] The last release by the original author came out in August 2005.

In April 2007, the cwm was imported into OpenBSD source tree. By January 2008 substantial part of the original source code (including all of the 9wm code) was rewritten.[5]

Currently cwm is distributed with OpenBSD since release 4.2, where it replaced wm2.[6] Some Linux ports also exist.[7][8]


cwm is a stacking window manager oriented towards heavy keyboard usage,[9][10] small footprint and ease of use. While it lacks explicit virtual desktops functionality, it can be emulated by using the window groups mechanism.[11] cwm doesn't draw window decorations except for 1 pixel border around the windows.

cwm includes several menus:[10]

  • exec menu (application launcher)
  • window menu (searching windows of running applications)
  • ssh to menu (start a Secure Shell session)
  • exec wm menu (switch window manager)

All these menus are operated in search as you type manner.[10]

cwm allows raising, hiding switching and searching windows with no use of mouse, making it suitable to use as terminal emulator multiplexer.[12] Furthermore, it allows manipulating pointing device with keyboard.[1]

The additional key bindings and configuration options can be specified in configuration file ~/.cwmrc.


cwm is generally positively received in software minimalist communities.[10]

Though not reviewed separately, cwm is noted to be used mainly due to its status of one of the default window managers in OpenBSD,[13] though other reasons are sometimes cited, such as being out of the ordinary[14] or allowing nice interaction with GUI.[15] Though it often gets no explanation, several OpenBSD users prefer to use cwm under Linux, even if it requires modifying and supporting source code.[8][16] cwm is also praised for its flexibility, ability to interact in a non-disruptive way and in having no dependency on using a mouse.[12][17]

See also[edit]


  1. ^ a b Czarkoff, Dmitrij D. (2011-11-22), "Introduction: calm window manager", OSNews, retrieved 2011-11-23 
  2. ^ "The X Window System", OpenBSD Frequently Asked Questions, OpenBSD, retrieved 2016-05-07 
  3. ^ Eriksen, Marius Aamodt, Old home page, archived from the original on 2011-11-18, retrieved 2011-11-16 
  4. ^ "cwm — a lightweight and efficient window manager for X11", OpenBSD manual pages, The OpenBSD project, retrieved 2011-11-16, The from-scratch rewrite borrowed some code from 9wm, however that code has since been removed or rewritten. 
  5. ^ OpenBSD CVS log, The OpenBSD CVS, retrieved 2011-11-16 
  6. ^ Rosink, Japke, Software updates - OpenBSD 4.2, retrieved 2011-11-16 
  7. ^ Janin, Bertrand, various hacks for OpenBSD's cwm, retrieved 2011-11-16 
  8. ^ a b Neukirchen, Christian, one of cwm's repositories, GitHub, retrieved 2011-11-16 
  9. ^ Adriaanse, Jasper Lievisse (2007-07-11), cwm in Xenocara, OpenBSD Journal, retrieved 2011-10-05 
  10. ^ a b c d O'Higgins, Niall (2007-07-09), Keyboard-only X, cwm hacks and Vimperator, retrieved 2011-11-16 
  11. ^ Gouveia, Rodolfo (2009-05-02), Getting started with cwm, OpenBSD Journal, retrieved 2011-10-05 
  12. ^ a b O'Higgins, Niall (2007-06-19), Typing, window managers and sore hands, retrieved 2011-10-05 
  13. ^ Skinwalker (2011-09-13), OpenBSD – EEEPC, retrieved 2011-11-16 
  14. ^ Mandla, K. (2010-06-18), Showt and sweet: cwm, retrieved 2011-11-16 
  15. ^ Pfennigs, Thilo (2008-05-03), Virtualized servers & OpenBSD, retrieved 2011-11-16 
  16. ^ Toft, Martin, cwm, retrieved 2011-11-16 
  17. ^ Lucas, Michael W. (2011-05-31), my .cwmrc, retrieved 2011-11-16 

External links[edit]