Léxico TI › Programación › Mapas de color estándar (ICCCM)

Mapas de color estándar (ICCCM)

Programación Svenska → Actualizado: 2026-10-10

La receta del ICCCM para que varios programas X compartieran un mapa de 256 colores sin preguntar al servidor por cada tono: una propiedad en la ventana raíz que describe el cubo de color con tres multiplicadores y un píxel base.

En una pantalla PseudoColor cada color era una celda de un mapa de colores, y un programa que reservaba celdas propias se las quitaba a los demás. La respuesta del ICCCM fue que alguien, normalmente un programita al iniciar la sesión, reservara una vez un cubo de color uniforme y lo describiera en propiedades de la ventana raíz llamadas RGB_DEFAULT_MAP, RGB_BEST_MAP, RGB_GRAY_MAP y alguna más. El registro contiene el id del mapa, el visual, red_max, green_max, blue_max, tres multiplicadores y un base_pixel. El píxel de un color se calcula en local como base_pixel + r·red_mult + g·green_mult + b·blue_mult, sin una sola petición al servidor. La utilidad xstdcmap crea los mapas, Xlib los lee con XGetRGBColormaps y Xmu trae funciones para encontrar uno o crearlo si hace falta.

El objetivo era rendimiento y paz a partes iguales. Un cubo 3-3-2, ocho niveles de rojo y de verde y cuatro de azul, cabía en 256 celdas y bastaba para la mayoría de visores de imágenes, y un programa que usara el mapa estándar se ahorraba tanto los viajes de ida y vuelta como el fogonazo psicodélico al mover el foco entre ventanas con mapas privados. El campo killid decía quién poseía las celdas para poder limpiarlas. TrueColor lo dejó todo obsoleto en los 2000; quedan el capítulo 7 del ICCCM y algún xprop -root que todavía muestra un RGB_DEFAULT_MAP que nadie pidió.

← Volver al léxico