Корневое окно - Root window
Эта статья не цитировать любой источники.Сентябрь 2008 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
в X Window System, каждый окно содержится в другом окне, называемом его родительским. Это заставляет окна образовывать иерархия. В корневое окно является корнем этой иерархии. Он такой же большой, как экран, а все остальные окна являются его дочерними или потомками.
Поскольку каждое окно закрывает ту часть своего родителя, на которой оно остается, все остальные окна кажутся выше корневого окна. В результате корневое окно отображается как часть экрана, которая находится за всеми другими окнами. Другими словами, корневое окно образует фон экрана. Изображение можно использовать как обои на стену экрана, установив его в качестве фонового изображения корневого окна. Это можно сделать, например, используя xsetroot
или xv программы.
Прямые дочерние элементы корневого окна называются окна верхнего уровня. Эти окна обычно имеют декоративную рамку и строку заголовка (которые на самом деле добавляются оконный менеджер ). Окна верхнего уровня неформально являются обычными окнами в терминологии большинства GUI. Окна не верхнего уровня используются для кнопок, текстовых полей и т. Д.
Свойства корневого окна иногда используются как элементарная форма средств межклиентской коммуникации. Например, вырезать буферы являются свойствами корневого окна, которые используются для копирования выделенного текста из одного окна в другое, а dwm оконный менеджер отображает имя корневого окна в области состояния. В X ресурсы также сохраняются во время выполнения в свойстве корневого окна.
Виртуальное корневое окно
В swm оконный менеджер представил виртуальное корневое окно. С точки зрения протокола X это обычное окно. Тем не мение, X оконные менеджеры используя виртуальное корневое окно, переназначьте все окна к нему, а не к настоящему корневому окну. Виртуальные корневые окна в основном используются повторное воспитание оконных менеджеров, например, для реализации ряда виртуальные рабочие столы пользователь может переключаться между ними.
Другим клиентам (помимо оконного менеджера) может потребоваться использование виртуального корневого окна. Идентификатор этого окна можно найти в свойство окна названный __SWM_VROOT
в прямом потомке реального корневого окна. Технически, многие программы используют макросы для поиска корневых окон, переопределенных включаемым файлом с именем vroot.h
.
В бесплатный стол Спецификация оконного менеджера требует свойства с именем _NET_VIRTUAL_ROOTS
реального корневого окна, чтобы содержать список окон, которые действуют как виртуальные корневые окна; виртуальное корневое окно, которое в настоящее время активно, можно найти в свойстве _NET_CURRENT_DESKTOP
реального корневого окна.
Виртуальное корневое окно используется оконными менеджерами swm, tvtwm, amiwm, и просветление. Другие системы, такие как KDE используйте виртуальное фоновое окно (например, содержащее значки), но не переключайте другие окна на это. Виртуальное корневое окно также используется XScreenSaver: когда активирована заставка, эта программа создает виртуальное корневое окно, помещает его поверх всех других окон и вызывает один из своих хаков (модулей), который находит виртуальное корневое окно и рисует в нем.
Утилиты, использующие корневое окно
Смотрите также
внешняя ссылка
- Подсказки расширенного оконного менеджера из freedesktop.org
- toon_root.c, исходный файл XPenguins который содержит информацию о виртуальных корневых / рабочих окнах для различных оконных менеджеров