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 system implementations in adding purely eye candy 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 only the background pixmap of the root window is visible (a similar concept to desktop wallpaper) rather than any obscured windows, allows users to make windows look less imposing (such as Terminal emulators, which usually comprise of large chunks of text), and to integrate the appearance of windows with their desktop themes. Additionally, it looks really neat.

Implementation

There are 3 common methods for achieving pseudo-transparency, each with their own benefits and weaknesses.
  • ParentalRelative
The ParentalRelative method uses the XSetWindowBackgroundPixmap() Xlib function to inherit the windows background from the parent window. This is generally the fastest method, but is also very limited as the X Server permits very few operations on the BackgroundPixmap (such as XOR).
  • _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, this method uses the most memory, but has the advantage of allowing clients to perform any operation it wishes on the pixmap, such as tinting, shading, etc.
  • XCopyArea
XCopyArea is the most visually pleasing method, but with the significant disadvantage that it is only usable with modal windows where the X Server has been grabbed, such as menus. This method simply uses the XCopyArea() Xlib function to take a screenshot and then uses it as the Background Pixmap.

Future

Pseudo-transparency is only a hack used by developers until the X Servers support transparency, or so-called "True Transparency". X.Org, XDirectFB and others are all developing True Transparency support.

 

<< PreviousWord BrowserNext >>
ourthe
buckhorn
la cenicienta
list of cities in the falkland islands
springwood
suze arts
roger sanchez
candace & lauren mead
morley high school
flight 191
dighton
eric & brandon billings
list of cities in greenland
gila katsav
prime ministers of brazil
saint christophe sur le nais
ohio state board of education
donnie munro
paige & ryanne kettner
brianna & chalice fischette
vera weizmann
kenji hatanaka
lexis
brianna & brittany mcconnell
bunker tragedy
2000 in rail transport
hassan, karnataka
amicus, inc
chevrolet ss
semois
ashlyn & kayley messick
sainte colombe
boots n' all
jemima shore
scott & zachary benes
lloyd braun
edward vaizey
lszl kovcs (cinematographer)
san francisco cable car system
christiansborg castle
jonathan & thomas selstad
andrew voss
the desert of wales
godefroid kurth