Jump to content

Inter-Client Communication Conventions Manual

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Iblynx (talk | contribs) at 17:50, 19 February 2021 (Improve section Criticism with quotations from direct sources.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 communication for clients of a common X server. It is primarily used for communication between the window manager and the X server's other clients.

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." However, the EWMH is about the interaction with managers and hence other sections of the ICCCM are still relevant.

List of Window Managers that are ICCCM Compliant

References