Transparency
Keith Packard
keithp@keithp.com
Sat, 07 Feb 2004 17:24:57 -0800
Around 14 o'clock on Feb 7, Matt Jones wrote:
> Is there any chance that someone could generate some well-documented
> samples/tutorials for new features in fd.o xserver? Uncover, xcompmgr
> and others spring to mind for the compositing extensions (although
> better commenting is needed), but things like ARGB windows aren't really
> explained anywhere (at least that I can find).
Ah, perhaps I should write a nice paper and present it at OLS then. I've
been trying to think what to do there, and a 'why' paper instead of a
'how' paper seems like a good thing to do.
> I'd like to start working on a more modular (as the TODO requests)
> replacement of xcompmgr / full merge with metacity (I see that some
> basic code is already in there), but I'm not completely confident about
> my abilities with some of the new API.
That would be great. You're in good company here; there are lots of
performance questions that haven't been answered yet, and I keep learning
about how things really work compared with how I expect them to work. I
*never* expected that calling XSync would dramatically improve performance.
One thing that would be nice to have is a simple library which managed to
track the server window hierarchy on the client side from the sequence of
events; everyone using Composite is going to need that information, and
duplicating the code in multiple places seems like a bad idea. That
wouldn't require anything beyond regular Xlib to get working. Having
something well tested and debugged would be a huge benefit before
attempting to build a compositing manager; xcompmgr suffered (and may well
still suffer) from broken window tracking. All you need to manage is a
sorted list of windows, each containing their geometry. Simple in
concept; a bit tricky in practice.
With that, doing a basic non-decorating compositing manager should be
quite easy. Adding fancy decorations can come afterwards. I'm actually
getting used to relatively simple decorations and starting to like the
clean screen with no repaint noise.
-keith