Léxico de TI › Programação › ReparentNotify

ReparentNotify

Programação Svenska → Atualizado: 2026-10-12

O evento do X11 que anuncia que uma janela ganhou um novo pai — geralmente porque o gerenciador de janelas acabou de envolvê-la numa moldura.

Quando alguém chama XReparentWindow, o servidor envia um ReparentNotify à própria janela, se ela selecionou StructureNotifyMask, e ao pai antigo e ao novo, se tiverem selecionado SubstructureNotifyMask. O evento traz a janela, o novo pai, a posição dentro dele e a flag override-redirect. Para um aplicativo comum, é a única pista de que agora ele vive dentro de uma moldura e de que suas coordenadas já não são coordenadas de tela.

A armadilha está no que vem em volta. Se a janela estiver mapeada quando é movida, o servidor primeiro a desmapeia e depois a mapeia de novo, de modo que o gerenciador recebe um UnmapNotify causado por ele mesmo. Quase todo gerenciador mantém, por isso, um contador de unmaps a ignorar; esqueça dele e o gerenciador conclui que o cliente acabou de fechar a janela e derruba a moldura. Quando o gerenciador sai, a mesma viagem acontece ao contrário, via save-set, e os clientes voltam para debaixo da janela raiz.

← Voltar ao léxico