IT-lexicon › Programmeren › ReparentNotify

ReparentNotify

Programmeren Svenska → Bijgewerkt: 2026-10-11

Het X11-event dat meldt dat een venster een nieuwe parent heeft — meestal omdat de windowmanager er net een frame omheen heeft gezet.

Roept iemand XReparentWindow aan, dan stuurt de server een ReparentNotify naar het venster zelf als dat StructureNotifyMask heeft geselecteerd, en naar zowel de oude als de nieuwe parent als die SubstructureNotifyMask hebben geselecteerd. Het event bevat het venster, de nieuwe parent, de positie binnen die parent en de override-redirect-vlag. Voor een gewone applicatie is het de enige aanwijzing dat het nu in een frame woont en dat de coördinaten geen schermcoördinaten meer zijn.

De valkuil zit in wat eromheen gebeurt. Is het venster gemapt wanneer het verhuist, dan unmapt de server het eerst en mapt het daarna opnieuw, zodat de windowmanager een UnmapNotify ontvangt die hij zelf heeft veroorzaakt. Vrijwel elke windowmanager houdt daarom een teller bij van te negeren unmaps; vergeet je die, dan concludeert de manager dat de client zijn venster net heeft gesloten en breekt hij het frame af. Sluit de windowmanager af, dan loopt dezelfde reis in omgekeerde richting via de save-set en belanden clients weer onder het rootvenster.

← Terug naar het lexicon