En informática , el Manual de Convenciones de Comunicación entre Clientes ( ICCCM o I39L, abreviatura de "I", 39 letras y "L") [1] es un protocolo estándar para el Sistema de Ventanas X. Especifica las convenciones para los clientes de un servidor X común sobre selecciones y buffers de corte , comunicación con el administrador de ventanas y el administrador de sesiones , manipulación de recursos compartidos y caracterización de color.
Historia
Fue diseñado por David SH Rosenthal del MIT X Consortium de 1987 a 1989. Una versión borrador apareció en marzo de 1988 en X11R2. Esta fue eliminada de X11R3. La versión 1.0 fue lanzada en julio de 1989 como parte de X11R4. Tres administradores de ventanas en el directorio contrib de X11R4 implementaron soporte para ICCCM: gwm, olwm y tekwm. La versión 1.1 contiene una actualización para la caracterización de color y apareció en X11R5. La versión 2.0 tiene muchos cambios en las áreas de administración de ventanas, selecciones , administración de sesiones y uso compartido de recursos. Fue lanzada en mayo de 1994 como parte de X11R6.
Fondo
X especifica deliberadamente "un mecanismo, no una política" para la interacción entre ventanas. Por ello, se necesitaba una especificación adicional más allá del propio protocolo X para la interoperabilidad con el cliente.
Características
El ICCCM especifica los buffers de cortar y pegar, la interacción con el administrador de ventanas, la administración de sesiones, cómo manipular recursos compartidos y cómo administrar los colores de los dispositivos. Estas funciones de bajo nivel generalmente se implementan dentro de los conjuntos de herramientas de widgets o entornos de escritorio . Esto aísla a los programadores de aplicaciones de trabajar directamente con el propio ICCCM, ya que esta funcionalidad se delega al conjunto de herramientas de implementación.
Crítica
El ICCCM ha recibido algunas críticas por ser ambiguo y difícil de implementar correctamente. [1] [2] Esto fue reconocido en el prefacio de la versión 2.0, afirmando que tenía como objetivo "corregir problemas con borradores anteriores y mejorar la legibilidad y la comprensibilidad".
Además, algunas partes pueden estar obsoletas o no ser prácticas para implementar. [3] El Extended Window Manager Hints (EWMH) es un estándar más reciente, que, según su introducción: "se basa en el ICCCM, que define las interacciones del administrador de ventanas en un nivel inferior. El ICCCM no proporciona formas de implementar muchas características que los usuarios de escritorio modernos esperan". Pero también establece: "Los clientes que apuntan a cumplir con esta especificación DEBEN adherirse al ICCCM sobre el cual se basa esta especificación". en la medida en que el EWMH no lo invalide.
Freedesktop.org señala que "históricamente, los clientes X no han manejado el cortar y pegar de manera consistente" y formula pautas adicionales en una especificación de portapapeles.
Lista de administradores de ventanas que cumplen con los requisitos de ICCCM
- aewm — un administrador de ventanas apilables .
- Alloywm — cumplimiento parcial.
- awesome : un administrador de ventanas dinámico que está configurado en Lua .
- Caja negra [4]
- Compiz
- CTWM
- dwm — se puede configurar para cumplimiento
- Ilustración - también trabaja como compositor de Wayland .
- evilwm — cumplimiento parcial
- EXWM (Emacs X Window Manager): cuenta con compatibilidad con ICCCM y EWMH
- Vehículo todo terreno
- HieloWM [5]
- KWin : gestor de ventanas predeterminado y compositor Wayland de KDE Plasma .
- Metacity : administrador de ventanas predeterminado de GNOME 2 .
- moscatel
- Openbox : el administrador de ventanas predeterminado utilizado por LXDE y LXQt .
- vtm
- archivos wmf
- xfwm
- xmonad
Referencias
- ^ ab El desastre de X-Windows Don Hopkins, Manual para quienes odian a UNIX
- ^ - [chat] Re: [SLUG] Ximian / Gnome y Xalf
- ^ Re: ¿Cumplimiento del ICCCM?
- ^ "CUMPLIMIENTO DE BLACKBOX". GitHub . Consultado el 15 de febrero de 2021 .
- ^ "CUMPLIMIENTO DE ICEWM". GitHub . Consultado el 28 de diciembre de 2020 .
Enlaces externos
- Manual de convenciones de comunicación entre clientes, versión 2.0
- Manual de convenciones de comunicación entre clientes versión 2.0