IT-Lexikon › Programmierung › _NET_WM_OPAQUE_REGION

_NET_WM_OPAQUE_REGION

Programmierung Svenska → Aktualisiert: 2026-10-10

Die EWMH-Property, mit der ein Fenster mit Alphakanal angibt, welche Rechtecke tatsächlich massiv sind, damit der Compositor alles dahinter nicht mehr zeichnen muss.

Ein Fenster mit ARGB-Visual darf überall transparent sein, und der Compositor weiß nicht, wo. Er muss vom Schlimmsten ausgehen und die gesamte Fläche dahinter zeichnen – jedes darunterliegende Fenster, den Desktop, alles –, bevor er das Fenster darüberblendet. Solange transparente Fenster eine Kuriosität waren, spielte das keine Rolle; mit den Client-Side Decorations von GTK 3 bekam aber jedes gewöhnliche Anwendungsfenster einen Alphakanal für seine runden Ecken und den Schatten, und plötzlich war kein Fenster mehr massiv. EWMH 1.5 antwortete mit _NET_WM_OPAQUE_REGION: einer Liste von Rechtecken zu je vier Zahlen, die der Client am Toplevel-Fenster setzt und die zusichern, dass die Pixel darin vollständig deckend sind.

Der Compositor kann diese Bereiche dann aus seiner Zeichenliste streichen und das Fenster wie ein massives behandeln; übrig bleibt nur ein schmaler durchscheinender Rand. GTK 3 setzt die Property automatisch, und Mutter und KWin werten sie aus. Wayland zog die Lehre daraus und nahm das Äquivalent, wl_surface.set_opaque_region, von Anfang an ins Kernprotokoll auf, statt es nachzureichen.

← Zurück zum Lexikon