Translucent windows in X

  • Authors:
  • Keith Packard

  • Affiliations:
  • XFree86 Core Team, SuSE Inc.

  • Venue:
  • ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

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 nonopaque 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, reparenting translucent windows and X visual differences between blended pixels are discussed.