Корневое окно

редактировать
Возможное расположение некоторых окон: 1 - корневое окно, которое покрывает весь экран; 2 и 3 - окна верхнего уровня; 4 и 5 являются подокнами 2.

В X Window System каждое окно содержится в другом окне, называемом его родительским. Это заставляет окна образовывать иерархию. Корневое окно является корнем этой иерархии. Он такой же большой, как экран, а все остальные окна являются его дочерними или потомками.

Поскольку каждое окно закрывает ту часть своего родителя, на которой оно остается, все остальные окна кажутся выше корневого окна. В результате корневое окно отображается как часть экрана, которая находится за всеми другими окнами. Другими словами, корневое окно образует фон экрана. Изображение можно использовать в качестве обоев экрана, установив его в качестве фонового изображения корневого окна. Это можно сделать, например, с помощью программ xsetrootили xv.

Прямые дочерние элементы корневого окна называются окнами верхнего уровня. Эти окна обычно изображаются с декоративной рамкой и строкой заголовка (которые фактически добавляются оконным менеджером ). Неформально окна верхнего уровня являются обычными окнами в терминологии большинства GUI. Окна, не относящиеся к верхнему уровню, используются для кнопок, текстовых полей и т. Д.

Свойства корневого окна иногда используются в качестве рудиментарной формы средств межклиентской связи. Например, вырезанные буферы - это свойства корневого окна, которые используются для копирования выделенного текста из окна в другое, а оконный менеджер dwm отображает имя корневого окна в статусе площадь. Ресурсы X также сохраняются во время выполнения в свойстве корневого окна.

Содержание
  • 1 Виртуальное корневое окно
  • 2 Утилиты, использующие корневое окно
  • 3 См. Также
  • 4 Внешние ссылки
Виртуальное корневое окно

swm оконный менеджер представил виртуальное корневое окно . С точки зрения протокола X это обычное окно. Однако менеджеры окон X, использующие виртуальное корневое окно, переопределяют все окна для него, а не для реального корневого окна. Виртуальные корневые окна в основном используются оконными менеджерами для повторного родительства, например, для реализации количества виртуальных рабочих столов, между которыми пользователь может переключаться.

Другим клиентам (кроме оконного менеджера) может потребоваться использование виртуального корневого окна. Идентификатор этого окна можно найти в свойстве окна с именем __SWM_VROOTв прямом дочернем элементе реального корневого окна. Технически, многие программы используют макросы для поиска корневых окон, переопределенных включаемым файлом с именем vroot.h.

Для спецификации оконного менеджера freedesktop требуется свойство с именем _NET_VIRTUAL_ROOTSреального корневого окна, чтобы содержать список окон, которые действуют как виртуальные корневые окна; виртуальное корневое окно, которое в настоящее время активно, можно найти в свойстве _NET_CURRENT_DESKTOPреального корневого окна.

Виртуальное корневое окно используется оконными менеджерами swm, tvtwm, amiwm и enlightenment. Другие системы, такие как KDE, используют виртуальное фоновое окно (которое, например, содержит значки), но не изменяют родительство других окон на это. Виртуальное корневое окно также используется XScreenSaver : когда заставка активирована, эта программа создает виртуальное корневое окно, помещает его поверх всех других окон и вызывает один из своих хаков (модулей), который находит виртуальное корневое окно и рисует в нем.

Утилиты, использующие корневое окно
См. Также
Внешние ссылки
Последняя правка сделана 2021-06-04 10:10:39
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте