Менеджер окон с переопределением — это менеджер окон X Window System , который принимает все остальные окна.
В системе X Window каждое окно имеет родительское окно, которое может быть либо корневым окном , либо другим окном. Окна, которые являются дочерними по отношению к корневому окну, называются окнами верхнего уровня . Когда создается окно верхнего уровня, переродительский оконный менеджер изменяет родительское окно этого окна на второе новое окно, созданное оконным менеджером для этой цели. Это позволяет оконному менеджеру украшать окна декорациями окон и заголовками , а также обеспечивает расширенный контроль над работой окон, требуемый, например, виртуальными оконными менеджерами .
Технически, переродительский оконный менеджер регистрируется на X-сервере, чтобы получать уведомления, когда отображается окно верхнего уровня (пытается стать видимым). Когда генерируется такое событие , оконный менеджер создает окно-рамку, а в большинстве случаев также окно заголовка. Затем окно-рамка становится родителем как главного окна, так и окна заголовка. Также могут быть созданы другие формы оформления, такие как кнопки, заголовок окна и т. д.; они обычно являются родительскими для окна заголовка. [1]
Практически все современные оконные менеджеры являются переродительскими, хотя более ранние оконные менеджеры, такие как оконный менеджер uwm , не были. Исключениями из этого правила являются dwm , cwm , PLWM, ratpoison и xmonad , из-за отсутствия каких-либо типичных декораций окон, используемых этими оконными менеджерами, а также Compiz , который рисовал декорации отдельно вплоть до версии 0.9.0, где он стал переродительским оконным менеджером, чтобы позволить ему работать в некомпозитном режиме. Несмотря на то, что stumpwm не рисует типичные декорации окон, он переродительствует окна в родительском фрейме для отображения контуров.