Inter-Client Communication Conventions Manual

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 in 1988 with version 1.0 released in July 1989 and version 2.0 in early 1994.

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 is notorious for being ambiguous and difficult to correctly implement.[2] Furthermore, some parts are obsolete or no longer practical to implement.[3]

Efforts to update and clarify the ICCCM for current needs have resulted in the Extended Window Manager Hints (EWMH), which has gained fairly broad acceptance and continues to be extended as the need arises.

List of Window Managers that are ICCCM Compliant

  • aewm a stacking window manager.
  • alloywm partial compliance.
  • awesome a dynamic window manager that is configured in Lua.
  • blackbox (version 0.65 and later) a stacking window manager that was later discontinued.
  • Compiz
  • dwm can be configured for compliance
  • enlightenment also serves as a Wayland compositor.
  • evilwm partial compliance
  • EXWM (Emacs X Window Manager) features ICCCM and EWMH compliance
  • fvwm
  • IceWM
  • KWin default window manager and Wayland compositor of KDE Plasma.
  • Metacity default window manager of GNOME 2.
  • musca
  • Openbox the default window manager used by LXDE and LXQt.
  • vtwm
  • wmfs
  • xfwm
  • xmonad
gollark: 4K 240Hz is the best way.
gollark: You see, it is said "oh, if you use a 144Hz/240Hz/5PHz/2K/4K/10000/GSync monitor you'll never want to go back", and "oh, it's totally noticeable immediately", which means if I'm ever exposed to one I'll realise that every moment of entertainment I got from my old monitor was but a farce.
gollark: Unless I see a 144Hz monitor and immediately become forced to use one forever.
gollark: I'm hoping iGPUs will get good enough in a few years for my GPU to become unnecessary.
gollark: Practically you need a GPU, if just a minimal one, but you don't need a graphics card. My CPU has no iGPU, you see.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.