Translucent Windows in X
Keith Packard, XFree86 Core Team, SuSE Inc.
Abstract
The X Window System allows multiple windows to occupy the same
coordinates on the screen. The core protocol defines which portions of each
window are visible and which are occluded by overlapping windows, but the
overlapping windows are always completely opaque.
Various techniques can be used to simulate non-opaque windows in controlled
environments. The Shape Extension can be used to make areas of the window
transparent. A background of ``None'' can be used to inherit the contents of
the screen in the region occupied by the window when it is first mapped.
Where available, hardware overlays can be used which expose a transparent
pixel value.
None of these techniques can be used for translucency in a general way;
hardware overlays and the Shape Extension can only provide transparency and
cannot blend the pixel colors together. A background of ``None'' cannot be
used when the occluding windows are to be reconfigured or when the occluded
region contents are expected to change.
The X Translucent Window Extension is described which solves the general
translucency problem by assigning alpha values for pixels in occluding
windows. These values are used to blend the occluding window contents with
the occluded region for display. The details of managing translucent window
hierarchies, re-parenting translucent windows and X visual differences
between blended pixels are discussed.
- View the full text of this paper in
HTML form, and
PDF form.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.