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