A window manager can decorate windows on the screen with titlebars and place little boxes on the titlebar with which the window can be moved or resized. This is only one possibility, modeled on the user interface on the Macintosh™.
To do this, the window manager creates a child of the root
somewhat larger than the top-level window of the application. Then it
XReparentWindow(), specifying the top-level
window of the application as
win and the new
win and all its descendants will then be
In the area where the new parent is visible around the top-level window of the application, the window manager can put anything it wants. This could include text, graphics, and small windows which perform certain functions when a button is clicked in them.
The window manager can decorate all top-level windows, but it will
normally ignore windows that are mapped with their
override_redirect attribute set, since no
*Request events will be generated for them. The
window manager may also decorate differently windows that have set the
XA_WM_TRANSIENT_FOR property and apply its window
layout policy to them. The window manager calls
XGetTransientForHint() for each window to get this
By the way, it is impossible (except by luck) for the window manager to match the colors of the decoration to the colors of the window it is decorating. A window manager cannot find out what colors a window uses for its border or background because these window ...