Atributos de ventana (X11)
Los quince ajustes que el servidor X guarda para cada ventana —fondo, borde, máscara de eventos, cursor, mapa de colores y unos cuantos más— y que un cliente modifica de forma selectiva mediante una máscara de bits.
Una ventana X es algo más que un rectángulo. Al llamar a XCreateWindow, y después con la petición ChangeWindowAttributes, el cliente envía una estructura XSetWindowAttributes junto con una máscara como CWBackPixel | CWEventMask; solo se leen los campos cuyo bit está activado. Ahí viven el color o pixmap de fondo, el color del borde, la gravedad de bits y de ventana, backing store, save-under, override-redirect, la máscara de eventos, la de eventos que no deben propagarse, el mapa de colores y el cursor.
El fondo tiene dos valores especiales con mucha historia. None significa que el servidor no pinta nada, de modo que lo que hubiera debajo sigue visible hasta que el programa dibuje: el origen de muchas imágenes fantasma al redimensionar. ParentRelative toma prestado el fondo del padre y fue la base de la pseudotransparencia. Leer los atributos con XGetWindowAttributes cuesta un viaje de ida y vuelta.