Wiki » History » Revision 11

Revision 10 (Arnaud Fontaine, 02/10/2010 05:06 PM) → Revision 11/19 (Arnaud Fontaine, 02/10/2010 05:19 PM)

{{toc}} h1. What is a Compositing Manager? 

 _A Basically, a compositing manager is a piece of software running along with the window manager and where each graphical program outputs into a separate and independent off-screen buffer that can be manipulated before being shown in order to enhance user experience. Unlike a compositing window manager, a compositing manager does not manage windows but simply implements visual effects such as windows translucency, drop shadows, fading..._ fading... 

 h1. Overview Unagi overview 

 Unagi is a modular compositing manager which *aims aims to be efficient, lightweight and responsive*. responsive. It is currently written in C programming language and based on "XCB library": client library. *Any Any existing window manager can be used* used as long as it implements properly "EWMH": and "ICCCM": specifications (or at least parts of it which are needed), which is generally the case nowadays. 

 This project also *aims aims to provide a functional and stable software to improve window manager usability from an end-user point of view* view (for instance windows translucency, application-switcher using live thumbnails instead of plain icons, "Exposé":, therefore it does not intend at all to provide useless eye-candy effects. 

 Unagi relies on a *modular architecture* modular architecture as the code is split up in three parts: *core code*, *rendering backends* core code, rendering backends (only one backend relying on Render X extension has been implemented so far) and *effect plugins*. effect plugins. Thus, it provides a small and fast compositing manager from a codebase and footprint point of view, besides allowing to easily write other rendering backend which would work better on certain hardware. It also tries to take advantage of the asynchronous XCB model to be able to be used through a network. 

 h1. Status Current shortcomings 

 * Core code, rendering and visual effects seem stable 
 * One rendering backend, based on Render X extension) has been implemented so far 
 * Two plugins have been implemented, namely _Opacity_ and _Exposé_ 

 h1. Shortcomings 

 * Early stage of development 
 * Tested almost only with Awesome Window Manager 
 * Performance issues which will be addressed in the next release though 

 h1. Contribute 

 If you wish to contribute, you can find further information in document:"Master thesis: Writing an X compositing manager" and general information about "XCB": in document:"Bachelor thesis: Porting a window manager from Xlib to XCB". You can also have a look at the documentation generated from the source code available "there": 

 h1. Screenshots 

 Here are some screenshots of Unagi running with Awesome Window Manager. 

 h2. Opacity plugin 


 h2. Expose plugin 

 h3. Expose plugin before being enabled 


 h3. h4. Expose plugin when enabled