IT-lexikon › Programmering › _NET_WM_OPAQUE_REGION

_NET_WM_OPAQUE_REGION

Programmering In English → Uppdaterad: 2026-10-10

EWMH-egenskapen där ett fönster med alfakanal talar om vilka rektanglar som faktiskt är täckande, så att kompositorn slipper rita allt som ligger bakom.

Ett fönster med ARGB-visual kan vara genomskinligt var som helst, och kompositorn vet inte var. Den måste anta det värsta och rita hela ytan bakom — varje fönster under, skrivbordet, allt — innan den blandar in fönstret ovanpå. Det spelade ingen roll så länge genomskinliga fönster var en kuriositet, men med GTK 3:s klientsidesdekorationer fick varje vanligt programfönster en alfakanal för sina rundade hörn och sin skugga, och plötsligt var inget fönster täckande. EWMH 1.5 svarade med _NET_WM_OPAQUE_REGION: en lista av rektanglar, fyra tal vardera, som klienten sätter på sitt toppfönster och som lovar att pixlarna däri är helt ogenomskinliga.

Kompositorn kan då stryka de ytorna ur sin ritlista och behandla fönstret som vilket massivt fönster som helst, med en smal genomskinlig kant kvar. GTK 3 sätter egenskapen automatiskt, och Mutter och KWin läser den. Wayland tog med sig lärdomen och lade motsvarigheten, wl_surface.set_opaque_region, i kärnprotokollet från början i stället för som ett tillägg i efterhand.

← Tillbaka till lexikonet