Введение

Термин окна X В системе X Window каждое окно содержится в другом окне, называемом его родительским. Это заставляет окна формировать иерархию. Корневое окно - это корень этой иерархии. Он такой же большой, как поверхность экрана/дисплея, и все другие окна являются его детьми или потомками. Поскольку каждое окно покрывает часть своего родительского окна, на котором оно находится, все остальные окна кажутся выше корневого окна. В результате, корневое окно видно как часть экрана, которая находится за всеми другими окнами. Другими словами, корневое окно образует фон экрана. Изображение может использоваться в качестве обоев экрана, установив его в качестве фона в корневом окне. Это можно сделать, например, с помощью программ xsetroot или xv. Прямые дети корневого окна называются окнами верхнего уровня. Эти окна обычно рисуются с декоративной рамой и заголовком (которые на самом деле добавляются менеджером окна). Окна верхнего уровня, неофициально, являются обычными окнами в терминологии большинства ГИУ. Окна, которые не находятся на верхнем уровне, используются для кнопок, текстовых ящиков и т. Д. Свойства корневого окна иногда используются в качестве рудиментарной формы средства связи между клиентами. Например, буферы вырезания являются свойствами корневого окна, которые используются для копирования выбранного текста из окна в окно, а менеджер окна dwm отображает имя корневого окна в области статуса. Ресурсы X также хранятся во время выполнения в свойстве корневого окна.

Виртуальное корневое окно

Управляющий окном swm ввел виртуальное корневое окно. С точки зрения протокола X, это обычное окно. Однако, X-программы управления окнами, использующие виртуальное корневое окно, репартируют все окна вместо реального корневого окна. Виртуальные корневые окна в основном используются репатриантами, например, для создания ряда виртуальных рабочих столов, между которыми пользователь может переключаться. Другим клиентам (кроме диспетчера окон) может потребоваться использовать виртуальное корневое окно. Идентификатор этого окна можно найти в свойстве окна SWM VROOT в прямом ребенке реального корневого окна. Технически, многие программы используют макросы для поиска корневых окон, переопределенных файлом включения под названием vroot. h. Спецификация freedesktop window manager требует, чтобы свойство под названием NET VIRTUAL ROOTS реального корневого окна содержало список окон, которые действуют как виртуальные корневые окна; виртуальное корневое окно, которое в настоящее время активно, можно найти в свойстве NET CURRENT DESKTOP реального корневого окна. Виртуальное корневое окно используется менеджерами окон swm, tvtwm, amiwm и enlightenment. Другие системы, такие как KDE, используют виртуальное окно фона (которое содержит иконки, например), но не репарендируют другие окна в это окно. Виртуальное корневое окно также используется XScreenSaver: когда заставка запускается, эта программа создает виртуальное корневое окно, помещает его в верхнюю часть всех других окон и вызывает один из своих хаков (модулей), который находит виртуальное корневое окно и запускает его.