In computing, the Inter-Client Communication Conventions Manual (ICCCM or I39L short for "I", 39 letters and "L") [1] is a standard protocol for the X Window System. It specifies conventions for clients of a common X server about selections and cut buffers, communication with the window manager and session manager, manipulation of shared resources, and color characterization.
It was designed by David S. H. Rosenthal of the MIT X Consortium from 1987 to 1989. A draft version appeared in March 1988 in X11R2. This was removed from X11R3. Version 1.0 was released in July 1989 as part of X11R4. Three window managers in the X11R4 contrib directory implemented support for ICCCM: gwm, olwm and tekwm. Version 1.1 contains an update for color characterization and appeared in X11R5. Version 2.0 has many changes in the areas of window management, selections, session management, and resource sharing. It was released in May 1994 as part of X11R6.
X deliberately specifies "mechanism, not policy" for how windows interact. As such, an additional specification beyond the X protocol itself was needed for client interoperation.
The ICCCM specifies cut and paste buffers, window manager interaction, session management, how to manipulate shared resources and how to manage device colours. These low-level functions are generally implemented within widget toolkits or desktop environments. This isolates application programmers from working directly with the ICCCM itself, as this functionality is delegated to the implementing toolkit.
The ICCCM has received some criticism for being ambiguous and difficult to implement correctly. [1] [2] This was acknowledged in the preface of version 2.0, stating that it aimed "to fix problems with earlier drafts, and to improve readability and understandability".
Furthermore, some parts may be obsolete or no longer practical to implement. [3] The Extended Window Manager Hints (EWMH) is a more recent standard, which, according to its introduction: "builds on the ICCCM, which defines window manager interactions at a lower level. The ICCCM does not provide ways to implement many features that modern desktop users expect." But it also states: "Clients which aim to fulfill this specification MUST adhere to the ICCCM on which this specification builds." insofar the EWMH doesn't overrule.
Freedesktop.org notes that "historically, X clients have not handled cut-and-paste in a consistent way" and formulates additional guidelines in a clipboards-spec Archived 2021-02-17 at the Wayback Machine .
![]() |
The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.
An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems.
In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.
Blackbox is a free and open-source stacking window manager for the X Window System.
Openbox is a free, stacking window manager for the X Window System, licensed under the GNU General Public License. Originally derived from Blackbox 0.65.0, Openbox has been completely re-written in the C programming language and since version 3.0 is no longer based upon any code from Blackbox. Since at least 2010, it has been considered feature complete, bug free and a completed project. Occasional maintenance is done to keep it working, but only if needed.
freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.
twm is a window manager for the X Window System. Started in 1987 by Tom LaStrange, it has been the standard window manager for the X Window System since version X11R4. The name originally stood for Tom's Window Manager, but the software was renamed Tab Window Manager by the X Consortium when they adopted it in 1989. twm is a stacking window manager that provides title bars, shaped windows and icon management. It is highly configurable and extensible.
Metacity was the default window manager used by the GNOME 2 desktop environment until it was replaced by Mutter in GNOME 3. It is still used by GNOME Flashback, a session for GNOME 3 that provides a similar user experience to the Gnome 2.x series sessions.
A clipboard manager or clipboard extender, is a computer program that adds functionality to an operating system's clipboard. Many clipboards provide only one buffer for the "copy and paste" function, and it is overwritten by each new "copy" operation. The main task of a clipboard manager is to store data copied to the clipboard in a way that permits extended use of the data.
In computing, the X Window System is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.
GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.
In computing, a tiling window manager is a window manager with the organization of the screen often dependant on mathematical formulas to organise the windows into a non-overlapping frame. This is opposed to the more common approach used by stacking window managers, which allow the user to drag windows around, instead of windows snapping into a position. This allows for a different style of organization, although it strays from the traditional desktop metaphor.
In the X Window System, an X session manager is a session management program, a program that can save and restore the current state of a set of running applications, including window manager.
LXDE was a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbooks or system on a chip computers.
This article compares variety of different X window managers. For an introduction to the topic, see X Window System.
Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.
Mutter is a window manager initially designed and implemented for the X Window System, but then evolved to be a Wayland compositor. It became the default window manager in GNOME 3, replacing Metacity which used GTK for rendering. "Mutter" is a combination of "Metacity" and "Clutter".
Client-side decoration (CSD) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations, historically the responsibility of the window manager.