Léxico TI › Programación › _NET_WM_OPAQUE_REGION

_NET_WM_OPAQUE_REGION

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

La propiedad EWMH con la que una ventana con canal alfa declara qué rectángulos son realmente opacos, para que el compositor se ahorre dibujar todo lo que hay detrás.

Una ventana con visual ARGB puede ser transparente en cualquier punto, y el compositor no tiene ni idea de dónde. Debe suponer lo peor y dibujar toda el área que queda detrás — cada ventana de debajo, el escritorio, todo — antes de mezclar la ventana encima. Daba igual mientras las ventanas transparentes eran una curiosidad, pero con las decoraciones del lado del cliente de GTK 3 cada ventana corriente de aplicación adquirió un canal alfa para sus esquinas redondeadas y su sombra, y de pronto ninguna ventana era opaca. EWMH 1.5 respondió con _NET_WM_OPAQUE_REGION: una lista de rectángulos, cuatro números cada uno, que el cliente coloca en su ventana de primer nivel y que prometen que los píxeles de dentro son completamente opacos.

El compositor puede entonces tachar esas áreas de su lista de dibujo y tratar la ventana como cualquier ventana sólida, con solo un borde fino translúcido de sobra. GTK 3 pone la propiedad automáticamente, y Mutter y KWin la leen. Wayland se llevó la lección consigo y puso el equivalente, wl_surface.set_opaque_region, en el protocolo base desde el principio, en lugar de como un añadido a posteriori.

← Volver al léxico