Inter-Client Communication Conventions Manual

Last updated

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.

Contents

History

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.

Background

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.

Features

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.

Criticism

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.

List of Window Managers that are ICCCM Compliant

Related Research Articles

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

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.

<span class="mw-page-title-main">X window manager</span> Type of window manager

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.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is software 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.

<span class="mw-page-title-main">Blackbox</span> Free and open-source stacking window manager for the X Window System

In Unix computing, Blackbox is a free and open-source stacking window manager for the X Window System.

<span class="mw-page-title-main">Virtual Network Computing</span> Graphical desktop-sharing system

Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the graphical-screen updates, over a network.

<span class="mw-page-title-main">Openbox</span> Stacking window manager for X11 displays

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) 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. It was founded by Havoc Pennington, a GNOME developer working for Red Hat in March 2000. The project's servers are hosted by Portland State University, sponsored by Hewlett-Packard, Intel, and Google.

twm Window manager for the X Window System

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.

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

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

<span class="mw-page-title-main">X display manager</span>

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.

<span class="mw-page-title-main">Tiling window manager</span> Window manager with non-overlapping frames

In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the 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.

Extended Window Manager Hints, a.k.a. NetWM, is an X Window System standard for the communication between window managers and applications. It builds on the functionality of the Inter-Client Communication Conventions Manual (ICCCM).

This article compares variety of different X window managers. For an introduction to the topic, see X Window System.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

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.

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.

References

  1. 1 2 The X-Windows Disaster Don Hopkins, UNIX-HATERS Handbook
  2. - [chat] Re: [SLUG] Ximian / Gnome and Xalf
  3. Re: ICCCM compliance?
  4. "Blackbox COMPLIANCE" . Retrieved 2021-02-15.
  5. "IceWM COMPLIANCE" . Retrieved 2020-12-28.