Composite application usage question
Carsten Haitzler (The Rasterman)
raster at rasterman.com
Mon Aug 21 00:47:36 PDT 2006
On Mon, 21 Aug 2006 00:07:47 -0700 Gautam Iyer <gautam at math.stanford.edu>
> On Mon, Aug 21, 2006 at 10:42:01AM +0900, Carsten Haitzler wrote:
> > > I'd like to do the following: I want a translucent window, but the text
> > > in that window to be opaque (or at least less translucent). It's for a
> > > terminal emulator (mrxvt).
> > >
> > > 1. Is it possible using libXcomposite?
> > >
> > > 2. How? I found very little documentation out there. Just the
> > > protocol specification (which is not easy to understand), and the
> > > header files.
> > >
> > > Is there some secret tutorial on using Xcomposite which would help me?
> > > Also if one of you Xorg gurus knows how to do the above, and can briefly
> > > tell me, I'd be most grateful.
> > >
> > > Thanks in advance,
> > you need to
> > 1. know if composite manager is running or not. if it is not your
> > alpha channel games will have no effect. netwm has new shiny standards
> > for this - but are not honored much yet.
> > 2. create an argb32 visual window
> > 3. fill the window in with pixels such as the high byte is your alpha
> > channel.
> Hi Carsten,
> Thanks for your pointers. Number 3. above will be problematic: For
> instance when we draw text using Xft, I need to find some way to tell it
> to set the alpha map. Also I might have to modify every instance of
> XDrawLine etc (unless there's some easier way).
> > i could point at some code i wrote that does this and does all the
> > rendering etc. - but u:d need to dig thru quite a mountain (in evas -
> > more in ecore etc. in enlightenment's cvs repository) ... and i don't
> > have time to dig right now - hopefully the above will get you started
> > though.
> I sure wouldn't mind looking at your code :). I'm a little clueless
> about this right now, so having something to guide me would be helpful.
> You mean the applications "evas" and "ecore" (whatever they are) right?
they are libraires actually - rather largish. in the e17 cvs module.
u will find core in ecore in src/lib/ecore_x and src/lib/ecore_evas
that pertains to xrender and argb visuals.
you will want to look at the xrender engine in evas
(src/modules/engines/xrender_x11) that sets up xrender pictures and can handle
argb destinations. the software engine handles this too but since it does all
its own rendering entirely in software - its a different kettle of fish.
i cant really go digging out all the calls u need atm - at work and stuff :(
> Twenty five sure signs you're a Bombayite:
> 19. You have 14 different menus of Free Home Deliveries next to your
> xorg mailing list
> xorg at lists.freedesktop.org
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster at rasterman.com
Tokyo, Japan (東京 日本)
More information about the xorg