В вычислительной технике Inter -Client Communication Conventions Manual ( ICCCM или I39L , сокращение от "I", 39 букв и "L") [1] является стандартным протоколом для X Window System . Он определяет соглашения для клиентов общего X-сервера о выборе и буферах вырезания , взаимодействии с оконным менеджером и менеджером сеансов , манипулировании общими ресурсами и цветовой характеристике.
Он был разработан Дэвидом С. Х. Розенталем из MIT X Consortium с 1987 по 1989 год. Черновая версия появилась в марте 1988 года в X11R2. Она была удалена из X11R3. Версия 1.0 была выпущена в июле 1989 года как часть X11R4. Три оконных менеджера в каталоге X11R4 contrib реализовали поддержку ICCCM: gwm, olwm и tekwm. Версия 1.1 содержит обновление для цветовой характеристики и появилась в X11R5. Версия 2.0 имеет много изменений в областях управления окнами, выбора , управления сеансами и совместного использования ресурсов. Она была выпущена в мае 1994 года как часть X11R6.
X намеренно определяет «механизм, а не политику» взаимодействия окон. Таким образом, для взаимодействия клиентов потребовалась дополнительная спецификация, выходящая за рамки самого протокола X.
ICCCM определяет буферы вырезания и вставки, взаимодействие с оконным менеджером, управление сеансами, как манипулировать общими ресурсами и как управлять цветами устройств. Эти низкоуровневые функции обычно реализуются в наборах инструментов виджетов или средах рабочего стола . Это изолирует программистов приложений от работы непосредственно с самим ICCCM, поскольку эта функциональность делегируется набору инструментов реализации.
ICCCM подвергся некоторой критике за неоднозначность и сложность правильной реализации. [1] [2] Это было признано в предисловии к версии 2.0, где говорилось, что она направлена на «исправление проблем с более ранними проектами и улучшение читаемости и понятности».
Кроме того, некоторые части могут быть устаревшими или более непрактичными для реализации. [3] Extended Window Manager Hints (EWMH) — более новый стандарт, который, согласно его введению: «основан на ICCCM, который определяет взаимодействие оконных менеджеров на более низком уровне. ICCCM не предоставляет способов реализации многих функций, которые ожидают современные пользователи настольных компьютеров». Но в нем также говорится: «Клиенты, которые стремятся выполнить эту спецификацию, ДОЛЖНЫ придерживаться ICCCM, на котором эта спецификация основана». в той мере, в какой EWMH не отменяет.
Freedesktop.org отмечает, что «исторически клиенты X не всегда обрабатывали операции копирования и вставки согласованным образом», и формулирует дополнительные рекомендации в спецификации буферов обмена.