IT-Lexikon › Programmierung › Standard-Colormaps (ICCCM)

Standard-Colormaps (ICCCM)

Programmierung Svenska → Aktualisiert: 2026-10-10

Das ICCCM-Rezept, mit dem sich mehrere X-Programme eine 256-Farben-Colormap teilen, ohne den Server nach jedem Farbton zu fragen: eine Property am Root-Fenster, die den Farbwürfel mit drei Multiplikatoren und einem Basispixel beschreibt.

Auf einem PseudoColor-Display war jede Farbe ein Platz in einer Colormap, und wer eigene Zellen belegte, nahm sie allen anderen weg. Die ICCCM-Antwort: Jemand – meist ein kleines Programm beim Sitzungsstart – legt einmal einen gleichmäßigen Farbwürfel an und beschreibt ihn in Root-Fenster-Properties namens RGB_DEFAULT_MAP, RGB_BEST_MAP, RGB_GRAY_MAP und einigen weiteren. Der Eintrag enthält die Colormap-ID, die Visual, red_max, green_max, blue_max, drei Multiplikatoren und ein base_pixel. Der Pixelwert einer Farbe ergibt sich dann lokal als base_pixel + r·red_mult + g·green_mult + b·blue_mult – ohne eine einzige Anfrage an den Server. Das Werkzeug xstdcmap legt die Maps an, Xlib liest sie mit XGetRGBColormaps, und Xmu hat Hilfsfunktionen, um eine zu finden oder bei Bedarf zu erzeugen.

Es ging um Leistung und Frieden zugleich. Ein 3-3-2-Würfel mit acht Stufen für Rot und Grün und vier für Blau passte in 256 Zellen und genügte den meisten Bildbetrachtern; wer die Standard-Map nutzte, sparte sich die Round-Trips und das psychedelische Flackern, wenn der Fokus zwischen Fenstern mit privaten Maps wechselte. Das Feld killid verriet, wem die Zellen gehörten, damit sie aufgeräumt werden konnten. TrueColor machte das Ganze in den 2000ern überflüssig; geblieben ist Kapitel 7 des ICCCM und gelegentlich ein xprop -root, das eine RGB_DEFAULT_MAP zeigt, die niemand bestellt hat.

← Zurück zum Lexikon