В вычислениях, Руководство по соглашениям между клиентами (ICCCM или I39L, сокращение от «I», 39 букв и « L ") - стандартный протокол для X Window System. Он определяет связь для клиентов обычного X-сервера. В основном он используется для связи между оконным менеджером и другими клиентами X-сервера.
Он был разработан Дэвидом Ш. Розенталем из Консорциума MIT X в 1988 году, версия 1.0 была выпущена в июле 1989 года, а версия 2.0 - в начале 1994 года.
X намеренно определяет «механизм, а не политику» взаимодействия окон. Таким образом, для взаимодействия с клиентом требовалась дополнительная спецификация помимо самого протокола X.
ICCCM определяет буферы вырезания и вставки, взаимодействие оконного менеджера, управление сеансом, способы управления общими ресурсами и способы управления цветами устройств. Эти низкоуровневые функции обычно реализуются в наборах инструментов виджетов или средах рабочего стола. Это изолирует прикладных программистов от работы непосредственно с ICCCM, поскольку эта функциональность делегирована набору инструментов реализации.
ICCCM печально известен своей неоднозначностью и сложностью для правильной реализации. Кроме того, некоторые части устарели или больше не практичны для реализации.
Попытки обновить и уточнить ICCCM для текущих потребностей привели к подсказкам расширенного диспетчера окон (EWMH), которые получили довольно широкое признание и продолжает расширяться по мере необходимости.