Cwm (window manager)

Last updated

cwm
Original author(s) Marius Aamodt Eriksen
Developer(s) Marius Aamodt Eriksen, Andy Adamson, Niels Provos, Martin Murray, Dimitris Economou, Antti Nykänen
Initial release10 July 2004;19 years ago (2004-07-10)
Stable release
3 [1]   OOjs UI icon edit-ltr-progressive.svg / 28 August 2005
Repository
Written in C
Operating system Unix-like
Type Window manager
License ISC License
Website www.openbsd.org/cgi-bin/cvsweb/xenocara/app/cwm/   OOjs UI icon edit-ltr-progressive.svg

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

Contents

History

Development of cwm started from patches to evilwm by Marius Aamodt Eriksen. [4] To ease the implementation of new features, cwm was eventually rewritten using some code from 9wm. [5] The last release by the original author came out in August 2005. [4]

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

cwm has been distributed with OpenBSD since version 4.2, where it replaced wm2. [8] A third-party Linux port also exists. [9]

Description

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

cwm includes several menus: [11]

All these menus operate in a "search as you type" manner. [11]

cwm allows raising, hiding, switching between, and searching for windows using just the keyboard, making it suitable to use as terminal emulator multiplexer. [13] Furthermore, it allows manipulating pointing devices, such as mice, with the keyboard. [2]

Additional key bindings and configuration options can be specified in the configuration file ~/.cwmrc.

Reception

cwm is generally well received in software minimalist communities. [11]

cwm is noted to be used mainly due to its status as one of the default window managers in OpenBSD, [14] though other reasons are sometimes cited. [15] [16] cwm is also praised for its flexibility, ease of use, and the fact that it can be used without a mouse. [13] [17]

See also

Related Research Articles

A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening, renaming, copying, moving, deleting and searching for files, as well as modifying file attributes, properties and file permissions. Folders and files may be displayed in a hierarchical tree based on their directory structure.

<span class="mw-page-title-main">XFree86</span> Implementation of the X Window System

XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It was developed by the XFree86 Project, Inc. The lead developer was David Dawes. The last released version was 4.8.0, released December 2008. The last XFree86 CVS commit was made on May 18, 2009; the project was confirmed dormant in December 2011.

<span class="mw-page-title-main">Xfce</span> Desktop environment

Xfce or XFCE is a free and open-source desktop environment for Linux and other Unix-like operating systems.

<span class="mw-page-title-main">Fluxbox</span> Open source window manager for the X11 system

Fluxbox is a stacking window manager for the X Window System, which started as a fork of Blackbox 0.61.1 in 2001, with the same aim to be lightweight. Its user interface has only a taskbar, a pop-up menu accessible by right-clicking on the desktop, and minimal support for graphical icons. All basic configurations are controlled by text files, including the construction of menus and the mapping of key-bindings. Fluxbox has high compliance to the Extended Window Manager Hints specification.

PF is a BSD licensed stateful packet filter, a central piece of software for firewalling. It is comparable to netfilter (iptables), ipfw, and ipfilter.

<span class="mw-page-title-main">Window Maker</span>

Window Maker is a free and open-source window manager for the X Window System, allowing graphical applications to be run on Unix-like operating-systems. It is designed to emulate NeXTSTEP's GUI as an OpenStep-compatible environment. Window Maker is part of the GNU Project.

X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.

<span class="mw-page-title-main">Far Manager</span> File and archive manager for Microsoft Windows

Far Manager is an orthodox file manager for Microsoft Windows and is a clone of Norton Commander. Far Manager uses the Win32 console and has a keyboard-oriented user interface.

These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.

The OpenBSD operating system focuses on security and the development of security features. According to author Michael W. Lucas, OpenBSD "is widely regarded as the most secure operating system available anywhere, under any licensing terms."

The Portable C Compiler is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan Snyder in 1973, and "distributed as the C compiler by Bell Labs... with the blessing of Dennis Ritchie."

Xenocara is the OpenBSD build infrastructure for the project's customised X.Org Server that utilises a dedicated _x11 user by default to drop privileges and perform privilege separation in accordance to OpenBSD's "least privilege" policy.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

<span class="mw-page-title-main">OpenBSD</span> Operating system

OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. The OpenBSD project emphasizes portability, standardization, correctness, proactive security, and integrated cryptography.

<span class="mw-page-title-main">OpenSSH</span> Set of computer programs providing encrypted communication sessions

OpenSSH is a suite of secure networking utilities based on the Secure Shell (SSH) protocol, which provides a secure channel over an unsecured network in a client–server architecture.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

<span class="mw-page-title-main">Lumina (desktop environment)</span> Desktop environment for X Window System

Lumina Desktop Environment, or simply Lumina, is a plugin-based desktop environment for Unix and Unix-like operating systems. It is designed specifically as a system interface for TrueOS, and systems derived from Berkeley Software Distribution (BSD) in general, but has been ported to various Linux distributions.

A virtual kernel architecture (vkernel) is an operating system virtualisation paradigm where kernel code can be compiled to run in the user space, for example, to ease debugging of various kernel-level components, in addition to general-purpose virtualisation and compartmentalisation of system resources. It is used by DragonFly BSD in its vkernel implementation since DragonFly 1.7, having been first revealed in September 2006, and first released in the stable branch with DragonFly 1.8 in January 2007. The long-term goal, in addition to easing kernel development, is to make it easier to support internet-connected computer clusters without compromising local security. Similar concepts exist in other operating systems as well; in Linux, a similar virtualisation concept is known as user-mode Linux; whereas in NetBSD since the summer of 2007, it has been the initial focus of the rump kernel infrastructure.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References

  1. "cwm". Archived from the original on 8 June 2015.
  2. 1 2 Czarkoff, Dmitrij D. (22 November 2011), "Introduction: calm window manager", OSNews , retrieved 23 November 2011
  3. "The X Window System", OpenBSD Frequently Asked Questions, OpenBSD , retrieved 7 May 2016
  4. 1 2 Eriksen, Marius Aamodt, Old home page, archived from the original on 18 November 2011, retrieved 16 November 2011
  5. "cwm — a lightweight and efficient window manager for X11", OpenBSD manual pages, The OpenBSD project, retrieved 16 November 2011, The from-scratch rewrite borrowed some code from 9wm, however that code has since been removed or rewritten.
  6. "xenocara/app/cwm/calmwm.c", OpenBSD CVS, OpenBSD, 27 April 2007, retrieved 30 April 2017
  7. OpenBSD CVS log, The OpenBSD CVS , retrieved 16 November 2011
  8. "OpenBSD 4.2", OpenBSD , 1 November 2007, retrieved 30 April 2017
  9. Neukirchen, Leah, portable version of OpenBSD's cwm(1) window manager, GitHub , retrieved 16 November 2011
  10. Adriaanse, Jasper Lievisse (11 July 2007), cwm in Xenocara, OpenBSD Journal , retrieved 5 October 2011
  11. 1 2 3 4 O'Higgins, Niall (9 July 2007), Keyboard-only X, cwm hacks and Vimperator , retrieved 16 November 2011
  12. Gouveia, Rodolfo (2 May 2009), Getting started with cwm, OpenBSD Journal , retrieved 5 October 2011
  13. 1 2 O'Higgins, Niall (19 June 2007), Typing, window managers and sore hands , retrieved 5 October 2011
  14. Skinwalker (13 September 2011), OpenBSD – EEEPC , retrieved 16 November 2011
  15. Mandla, K. (18 June 2010), Short and sweet: cwm , retrieved 16 November 2011
  16. Pfennigs, Thilo (3 May 2008), Virtualized servers & OpenBSD , retrieved 16 November 2011
  17. Lucas, Michael W. (31 May 2011), my .cwmrc , retrieved 16 November 2011