Введение
Термин окна X В системе X Window каждое окно содержится в другом окне, называемом его родительским. Это заставляет окна формировать иерархию. Корневое окно - это корень этой иерархии. Он такой же большой, как поверхность экрана/дисплея, и все другие окна являются его детьми или потомками. Поскольку каждое окно покрывает часть своего родительского окна, на котором оно находится, все остальные окна кажутся выше корневого окна. В результате, корневое окно видно как часть экрана, которая находится за всеми другими окнами. Другими словами, корневое окно образует фон экрана. Изображение может использоваться в качестве обоев экрана, установив его в качестве фона в корневом окне. Это можно сделать, например, с помощью программ xsetroot или xv. Прямые дети корневого окна называются окнами верхнего уровня. Эти окна обычно рисуются с декоративной рамой и заголовком (которые на самом деле добавляются менеджером окна). Окна верхнего уровня, неофициально, являются обычными окнами в терминологии большинства ГИУ. Окна, которые не находятся на верхнем уровне, используются для кнопок, текстовых ящиков и т. Д. Свойства корневого окна иногда используются в качестве рудиментарной формы средства связи между клиентами. Например, буферы вырезания являются свойствами корневого окна, которые используются для копирования выбранного текста из окна в окно, а менеджер окна dwm отображает имя корневого окна в области статуса. Ресурсы X также хранятся во время выполнения в свойстве корневого окна.
In the X Window System, every window is contained within another window, called its parent. This makes the windows form a hierarchy. The root window is the root of this hierarchy. It is as large as the screen/display surface, and all other windows are either children or descendants of it. Since every window covers the part of its parent it is staying on, all other windows appear to be above the root window. As a result, the root window is visible as the part of the screen that is behind all other windows. In other words, the root window forms the background of the screen. An image can be used as the wallpaper of the screen by setting it as the background image of the root window. This can be done for example using the xsetroot or the xv programs. The direct children of the root window are called top level windows. These windows are usually drawn with a decorative frame and a title bar (which are actually added by the window manager). The top level windows are, informally, the regular windows in the terminology of most GUIs. The windows that are not top level are used for buttons, textboxes, etc. The properties of the root window are sometimes used as a rudimentary form of inter client communication means. For example, the cut buffers are properties of the root window that are used for copying selected text from a window to another, and the dwm window manager displays the root window's name in a status area. The X resources are also stored, during execution, in a property of the root window.
Виртуальное корневое окно
Управляющий окном swm ввел виртуальное корневое окно. С точки зрения протокола X, это обычное окно. Однако, X-программы управления окнами, использующие виртуальное корневое окно, репартируют все окна вместо реального корневого окна. Виртуальные корневые окна в основном используются репатриантами, например, для создания ряда виртуальных рабочих столов, между которыми пользователь может переключаться. Другим клиентам (кроме диспетчера окон) может потребоваться использовать виртуальное корневое окно. Идентификатор этого окна можно найти в свойстве окна SWM VROOT в прямом ребенке реального корневого окна. Технически, многие программы используют макросы для поиска корневых окон, переопределенных файлом включения под названием vroot. h. Спецификация freedesktop window manager требует, чтобы свойство под названием NET VIRTUAL ROOTS реального корневого окна содержало список окон, которые действуют как виртуальные корневые окна; виртуальное корневое окно, которое в настоящее время активно, можно найти в свойстве NET CURRENT DESKTOP реального корневого окна. Виртуальное корневое окно используется менеджерами окон swm, tvtwm, amiwm и enlightenment. Другие системы, такие как KDE, используют виртуальное окно фона (которое содержит иконки, например), но не репарендируют другие окна в это окно. Виртуальное корневое окно также используется XScreenSaver: когда заставка запускается, эта программа создает виртуальное корневое окно, помещает его в верхнюю часть всех других окон и вызывает один из своих хаков (модулей), который находит виртуальное корневое окно и запускает его.
The freedesktop window manager specification requires a property named NET VIRTUAL ROOTS of the real root window to contain a list of the windows that are acting as virtual root windows; the virtual root window that is currently active can be found in the property NET CURRENT DESKTOP of the real root window. The virtual root window is used by the window managers swm, tvtwm, amiwm, and enlightenment. Other systems such as KDE use a virtual background window (which contains the icons, for example) but do not reparent the other windows to this one. The virtual root window is also used by XScreenSaver: when the screensaver is activated, this program creates a virtual root window, places it at the top of all other windows, and calls one of its hacks (modules), which finds the virtual root window and draws in it.