Propiedad (X11)
Bloques de datos con nombre que el servidor X guarda en una ventana para quien quiera leerlos: el tablón de anuncios sobre el que se construyen los gestores de ventanas, el portapapeles y todo el ICCCM.
Cualquier ventana de X puede llevar cualquier número de propiedades. Una propiedad tiene un nombre y un tipo, ambos átomos, un formato de 8, 16 o 32 bits y una secuencia de valores. El cliente la fija con XChangeProperty, que puede sustituir el contenido o añadir por delante o por detrás, y lee las ajenas con XGetWindowProperty, que devuelve un trozo cada vez y puede borrar la propiedad en la misma llamada. Quien quiera enterarse de los cambios pide PropertyChangeMask y recibe PropertyNotify. Al servidor el contenido le da igual: son bytes con una etiqueta, y viven hasta que alguien los quita o la ventana se destruye.
Todo aquello para lo que el protocolo X no tiene concepto propio pasa por propiedades. El ICCCM es en buena medida una lista de cuáles debe llevar una ventana de nivel superior: WM_NAME, WM_CLASS, WM_HINTS, WM_NORMAL_HINTS. EWMH añadió la familia _NET_, y la ventana raíz guarda las globales, desde RESOURCE_MANAGER hasta la lista de ventanas abiertas del gestor. Hasta el portapapeles va por ahí: el propietario escribe los datos en una propiedad de la ventana del solicitante. xprop lo muestra todo, y por eso es lo primero que se ejecuta cuando una ventana se comporta de forma rara.