IT-Lexikon › Programmierung › ReparentNotify

ReparentNotify

Programmierung Svenska → Aktualisiert: 2026-10-11

Das X11-Ereignis, das meldet, dass ein Fenster ein neues Elternfenster hat – meist weil der Fenstermanager gerade einen Rahmen darum gelegt hat.

Ruft jemand XReparentWindow auf, schickt der Server ein ReparentNotify an das Fenster selbst, wenn es StructureNotifyMask gewählt hat, und an altes wie neues Elternfenster, wenn diese SubstructureNotifyMask gewählt haben. Das Ereignis enthält das Fenster, sein neues Elternfenster, seine Position darin und das Override-Redirect-Flag. Für eine gewöhnliche Anwendung ist es der einzige Hinweis darauf, dass sie nun in einem Rahmen lebt und ihre Koordinaten keine Bildschirmkoordinaten mehr sind.

Die Falle liegt im Drumherum. Ist das Fenster beim Umhängen gemappt, unmappt der Server es zuerst und mappt es danach wieder, sodass der Fenstermanager ein UnmapNotify erhält, das er selbst verursacht hat. Fast jeder Fenstermanager führt deshalb einen Zähler für zu ignorierende Unmaps; vergisst man ihn, schließt der Manager daraus, der Client habe sein Fenster geschlossen, und reißt den Rahmen ab. Beendet sich der Fenstermanager, läuft dieselbe Reise rückwärts über das Save-Set, und die Clients landen wieder unter dem Root-Fenster.

← Zurück zum Lexikon