Image:Some_X_windows.png In the X_Window_System, every Window is contained within another window, called its parent. This makes the windows to form a Hierarchy. The '''root window''' is the root of this hierarchy. It is as large as the screen, and all other windows are either children or descendant 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 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 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. The X_resources are also stored, during execution, in a property of the root window. ==Virtual root window== The Swm window manager introduced the '''virtual root window'''. From the point of view of the X protocol, this is a regular window. However, X_window_managers using the virtual root window reparent all windows to it instead to the real root window. Virtual root windows are mainly used by Virtual_window_managers, for example for realizing a number of Virtual_desktops the user can switch between. Other clients (beside the window manager) may need to use the virtual root window. The identificator of this window can be found in a propety named __SWM_VROOT in a direct child of the real root window. Technically, many programs use the macros for finding the root windows as redefined by an include file named vroot.h. 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 enlightment. 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. ==See also== * X_Window_System * X_Window_System_protocols_and_architecture ==External links== * Extended Window Manager Hints from freedesktop.org * toon_root.c, a source file of XPenguins that contains information about virtual root/desktop windows for various window managers Category:X_Window_System