IT-lexicon › Programmeren › Standard colormaps (ICCCM)

Standard colormaps (ICCCM)

Programmeren Svenska → Bijgewerkt: 2026-10-10

Het ICCCM-recept waarmee meerdere X-programma’s een 256-kleurenkaart konden delen zonder de server om elke tint te vragen: een property op het rootvenster die de kleurenkubus beschrijft met drie vermenigvuldigers en een basispixel.

Op een PseudoColor-scherm was elke kleur een vak in een colormap, en een programma dat eigen cellen toewees nam ze af van alle anderen. Het ICCCM-antwoord was dat iemand, meestal een klein programma bij het starten van de sessie, eenmalig een gelijkmatige kleurenkubus toewijst en die beschrijft in rootvenster-properties met namen als RGB_DEFAULT_MAP, RGB_BEST_MAP, RGB_GRAY_MAP en enkele andere. Het record bevat de colormap-id, de visual, red_max, green_max, blue_max, drie vermenigvuldigers en een base_pixel. De pixel voor een kleur wordt dan lokaal berekend als base_pixel + r·red_mult + g·green_mult + b·blue_mult, zonder één verzoek aan de server. Het hulpprogramma xstdcmap maakt de kaarten, Xlib leest ze met XGetRGBColormaps, en Xmu heeft hulpfuncties om er een te vinden of op verzoek aan te maken.

Het ging om snelheid en rust tegelijk. Een 3-3-2-kubus, acht niveaus rood en groen en vier blauw, paste in 256 cellen en volstond voor de meeste afbeeldingsviewers, en een programma met de standaardkaart ontliep zowel de round trips als de psychedelische flits wanneer de focus wisselde tussen vensters met eigen kaarten. Het veld killid gaf aan wie de cellen bezat, zodat ze konden worden opgeruimd. TrueColor maakte het geheel in de jaren 2000 overbodig; wat rest is hoofdstuk 7 van de ICCCM en af en toe een xprop -root dat nog altijd een RGB_DEFAULT_MAP toont waar niemand om vroeg.

← Terug naar het lexicon