IT-Lexikon › Programmierung › _NET_SUPPORTING_WM_CHECK

_NET_SUPPORTING_WM_CHECK

Programmierung Svenska → Aktualisiert: 2026-10-09

Der Handschlag, mit dem ein Programm feststellt, ob tatsächlich ein EWMH-fähiger Fenstermanager läuft – ohne Properties zu trauen, die ein toter zurückgelassen hat.

Das Root-Fenster überlebt den Fenstermanager. Alles, was er dort hinterlegt hat – _NET_SUPPORTED, _NET_CLIENT_LIST, _NET_CURRENT_DESKTOP – bleibt nach einem Absturz stehen und sieht so gültig aus wie zuvor. EWMHs Antwort ist ein Zeuge: Der Fenstermanager legt ein kleines, nie gemapptes Kind der Root an und setzt _NET_SUPPORTING_WM_CHECK auf Root und Kind, jeweils mit der ID des Kindes. Wer den Zustand wissen will, liest die Property an der Root, folgt der ID und prüft, ob das Kind existiert und auf sich selbst zurückzeigt. Stirbt der Fenstermanager, verschwinden seine Fenster mit seiner Verbindung, die Kette reißt, und der veraltete Root-Wert ist als Müll entlarvt.

Das Kindfenster trägt außerdem _NET_WM_NAME mit dem Namen des Fenstermanagers; daran erkennen wmctrl -m und diverse Skripte, ob sie mit Openbox, KWin oder Mutter sprechen. Daneben liegt an der Root _NET_SUPPORTED: die Liste aller _NET_-Atome, die der Fenstermanager versteht, sodass ein Programm vor einem Vollbild- oder Strut-Wunsch nachfragen kann, statt zu senden und zu hoffen. GTK und Qt führen die Prüfung beim Start durch und merken sich das Ergebnis. Das Muster stammt aus GNOMEs _WIN_SUPPORTING_WM_CHECK von 1998, und es schlägt die ICCCM-orthodoxe WM_Sn-Selection in genau einem Punkt: Es sagt, was der Fenstermanager kann, nicht bloß, dass es ihn gibt.

← Zurück zum Lexikon