Pseudo-transparency

Pseudo-transparency

"Pseudo-transparency" is a term used for X Window System clients that simulate the appearance of translucency or transparency by manipulating the same pixmap that has been drawn on the root window, or by instructing the X Server that the Background Pixmap should be inherited from the window's parent.

Purpose

Traditionally, the X Window System has lagged behind other windowing systems in adding purely eye candy or aesthetic features, such as window translucency. This has encouraged client developers to develop hacks (cunning workarounds) to overcome this limitation.

This pseudo-transparency, so called as the background pixmap of the root window is visible (analogous to desktop wallpaper) rather than any obscured windows, allows users to make windows look less imposing (such as Terminal emulators, which usually comprise large chunks of text), and to integrate the appearance of windows with their desktop themes.

Implementation

There are three common methods for achieving pseudo-transparency using Xlib, each with its own advantages and drawbacks.

Parental-relative

The "parental-relative" method uses XSetWindowBackgroundPixmap() to inherit the parent window's background image. Unfortunately, using this method, the X server permits very few operations to be performed on the background pixmap (such as XOR), preventing clients from implementing any sort of advanced image filtering.

_XROOTPMAP_ID and ESETROOT_PMAP_ID properties

These properties are used to inform the window where it can find the pixmap used on the root window. Using this information, a client can paint a section of the image (corresponding to the size and position of the window) onto its background, achieving the effect of transparency. This method uses the most memory, but has the advantage of allowing clients to perform any operation, such as tinting or shading, on the image data.

XCopyArea

"XCopyArea" can achieve a more realistic transparency effect in that it can include obscured windows, but with the significant disadvantage that it is only usable with modal windows. This method simply uses the XCopyArea() function to take a partial screenshot for use as the window's background pixmap.

Future

Recent technologies such as DirectFB, Direct Rendering Infrastructure, and hardware compositing via OpenGL allow X client applications to utilize true alpha transparency.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Transparency — may refer to:*Transparency (optics), the physical property of allowing the transmission of light through a materialLiteral uses: *Electromagnetically induced transparency, an effect in which a medium that is normally opaque at a particular… …   Wikipedia

  • Mrxvt — Infobox Software name = mrxvt caption = developer = latest release version = 0.5.3 latest release date = August 23, 2007 latest preview version = latest preview date = operating system = genre = Terminal emulator license = GPL website =… …   Wikipedia

  • mrxvt — Hello world, in mrxvt Stable release 0.5.4 / September 10, 2008; 3 years ago (2008 09 10) Written in …   Wikipedia

  • Window Maker — Infobox Software name = Window Maker caption = Default look of the Window Maker environment, with dock at upper right, an open menu and the clip at upper left. developer = Window Maker developers latest release version = 0.92.0 (stable) latest… …   Wikipedia

  • Rxvt — Infobox Software name = rxvt caption = A plain rxvt displaying the rxvt man page. developer = rxvt project latest release version = 2.6.4 latest release date = 2001 11 01 latest preview version = 2.7.10 latest preview date = 2003 03 25 operating… …   Wikipedia

  • Aterm — Infobox Software name = aterm caption = developer = AfterStep project latest release version = 1.0.1 latest release date = August 1, 2007 operating system = AfterStep X Window System genre = Terminal emulator license = GNU General Public License… …   Wikipedia

  • Rxvt-unicode — Infobox Software name = urxvt caption = Urxvt in the X Window System developer = Marc Lehmann released = November 2003 latest release version = 9.05 latest release date = June 15, 2008 operating system = Unix like genre = Terminal emulator… …   Wikipedia

  • IDesk — is a minimalist computer program used in conjunction with X window managers to draw icons on the desktop. iDesk has been in development since 2003 and is licensed under the GPL. Features *anti aliased and shadowed fonts *execution of multiple… …   Wikipedia

  • Constellation — This article is about the star grouping. For other uses, see Constellation (disambiguation). The constellation Orion is one of the most recognizable in the night sky. In modern astronomy, a constellation is an internationally defined area of the… …   Wikipedia

  • Network neutrality — This article is about the general principle of network neutrality. For its specific application to Canada, see Network neutrality in Canada. For its application to the U.S., see Network neutrality in the United States. Network Neutrality Related… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”