Lessico IT › Programmazione › _NET_WM_OPAQUE_REGION

_NET_WM_OPAQUE_REGION

Programmazione Svenska → Aggiornato: 2026-10-10

La proprietà EWMH con cui una finestra dotata di canale alfa dichiara quali rettangoli sono davvero pieni, così il compositor può evitare di disegnare tutto ciò che sta dietro.

Una finestra con un visual ARGB può essere trasparente ovunque, e il compositor non sa dove. Deve supporre il peggio e disegnare l'intera area dietro di essa, ogni finestra sottostante, la scrivania, tutto, prima di sovrapporre la finestra. Non importava finché le finestre trasparenti erano una curiosità, ma con le decorazioni lato client di GTK 3 ogni normale finestra di applicazione ottenne un canale alfa per gli angoli arrotondati e l'ombra, e di colpo nessuna finestra era più piena. EWMH 1.5 rispose con _NET_WM_OPAQUE_REGION: un elenco di rettangoli, quattro numeri ciascuno, che il client imposta sulla propria finestra di primo livello e che garantisce che i pixel al loro interno siano completamente opachi.

Il compositor può allora eliminare quelle aree dalla propria lista di disegno e trattare la finestra come una qualunque finestra piena, con solo un sottile bordo traslucido rimasto. GTK 3 imposta la proprietà automaticamente, e Mutter e KWin la leggono. Wayland ne ha fatto tesoro e ha messo l'equivalente, wl_surface.set_opaque_region, nel protocollo di base fin dall'inizio anziché come ripensamento.

← Torna al lessico