Ich habe X11 seit über einem Jahrzehnt nicht programmiert, also vergib mir, wenn ich das falsch verstehe.
Ich glaube, dass Sie für Mausbewegungsereignisse auf Ihren Fenstern registrieren können. Wenn Sie ein solches Ereignis behandeln, indem Sie das Fenster-Handle in einer Variablen speichern und das Ereignis dann so behandeln, dass es die Struktur nicht durchdringt, können Sie zu dem Zeitpunkt, zu dem Sie das Fenster identifizieren möchten, einfach die Variable abfragen.
Dies funktioniert jedoch nur, wenn sich die Maus über einem Fenster befindet, für das Sie einen geeigneten Event-Handler registriert haben. Sie werden also keine Fenster anderer Anwendungen kennen - es sei denn, es gibt eine Möglichkeit, sich für Ereignisse anderer Personen zu registrieren Fenster, die möglich sein können.
Der Vorteil gegenüber der anderen Antwort ist, dass Sie nicht den gesamten Baum durchlaufen müssen. Der Nachteil ist, dass Sie sehr viele Mausbewegungsereignisse verarbeiten müssen und es möglicherweise nicht funktioniert, um die Fenster anderer Leute zu finden.
Ich glaube, es gibt auch Mauseingabe und Maus verlassen Ereignisse, die die Menge der erforderlichen Verarbeitung reduzieren würde.
zum Beispiel hier: http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_ACRO_SUP/XWINSYS.PDF –
Ich dachte an die Adrian Nye Bücher (XLib Programmierhandbuch, XLib Reference Manual) von veröffentlicht O'Reilly, diese Serie war meine Bibel in meinen X11/Motif-Tagen. –