QueryTree
Der X11-Request, der verrät, wo ein Fenster im Baum sitzt: sein Root, sein Elternfenster und alle seine Kinder.
Ein X-Client weiß, welche Fenster er selbst erzeugt hat, und sonst herzlich wenig. XQueryTree nimmt ein Fenster und liefert das Root-Fenster, das Elternfenster und eine Liste der Kinder in Stapelreihenfolge, unterstes zuerst. Es ist im Kernprotokoll der einzige Weg, die Struktur zu sehen, und jeder Aufruf ist ein Roundtrip – den ganzen Baum Fenster für Fenster abzulaufen ist ein zuverlässiger Weg, ein schnelles Programm über SSH zäh wirken zu lassen.
Ein Fenstermanager, der auf einem Desktop startet, auf dem bereits Programme laufen, beginnt mit einem QueryTree auf dem Root, um die zu übernehmenden Fenster zu finden. Werkzeuge wie xwininfo -tree tun das Gleiche für Menschen. Der Haken ist das Reparenting: Die Kinder des Roots sind die Rahmen des Fenstermanagers, nicht die Anwendungen, wer also ein Client-Fenster sucht, muss eine Ebene tiefer gehen und auf WM_STATE prüfen.