Project

General

Profile

Wiki » History » Version 14

Arnaud Fontaine, 02/11/2010 01:31 PM

1 11 Arnaud Fontaine
{{toc}}
2 1 Arnaud Fontaine
3 11 Arnaud Fontaine
_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..._
4 1 Arnaud Fontaine
5 11 Arnaud Fontaine
h1. Overview
6 1 Arnaud Fontaine
7 13 Arnaud Fontaine
Unagi is a modular compositing manager which *aims to be efficient, lightweight and responsive*. It is currently written in C programming language and based on "XCB library":http://xcb.freedesktop.org client library. *Any existing window manager can be used* as long as it implements properly "EWMH":http://standards.freedesktop.org/wm-spec/wm-spec-latest.html and "ICCCM":http://tronche.com/gui/x/icccm/ specifications (or at least parts of it which are necessary), which is generally the case nowadays.
8 1 Arnaud Fontaine
9 11 Arnaud Fontaine
This project also *aims to provide a functional and stable software to improve window manager usability from an end-user point of view* (for instance windows translucency, application-switcher using live thumbnails instead of plain icons, "Exposé":http://en.wikipedia.org/wiki/Expos%C3%A9_%28Mac_OS_X%29...), therefore it does not intend at all to provide useless eye-candy effects.
10 1 Arnaud Fontaine
11 11 Arnaud Fontaine
Unagi relies on a *modular architecture* as the code is split up in three parts: *core code*, *rendering backends* (only one backend relying on Render X extension has been implemented so far) and *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.
12 1 Arnaud Fontaine
13 14 Arnaud Fontaine
h1. Installation
14 14 Arnaud Fontaine
15 14 Arnaud Fontaine
Further information can be found in the source:INSTALL and source:README files.
16 14 Arnaud Fontaine
17 14 Arnaud Fontaine
h1. Git repository
18 14 Arnaud Fontaine
19 14 Arnaud Fontaine
The Git repository is available "there":http://git.mini-dweeb.org/?p=arnau/unagi.git;a=summary. You can clone the repository by running the folllowing command:
20 14 Arnaud Fontaine
<pre>
21 14 Arnaud Fontaine
$ git clone git://git.mini-dweeb.org/arnau/unagi.git
22 14 Arnaud Fontaine
</pre>
23 14 Arnaud Fontaine
24 11 Arnaud Fontaine
h1. Status
25 10 Arnaud Fontaine
26 11 Arnaud Fontaine
* Core code, rendering and visual effects seem stable
27 11 Arnaud Fontaine
* One rendering backend, based on Render X extension) has been implemented so far
28 11 Arnaud Fontaine
* Two plugins have been implemented, namely _Opacity_ and _Exposé_
29 11 Arnaud Fontaine
30 11 Arnaud Fontaine
h1. Shortcomings
31 11 Arnaud Fontaine
32 10 Arnaud Fontaine
* Early stage of development
33 12 Arnaud Fontaine
* Tested almost only with "Awesome Window Manager":http://awesome.naquadah.org
34 10 Arnaud Fontaine
* Performance issues which will be addressed in the next release though
35 10 Arnaud Fontaine
36 10 Arnaud Fontaine
h1. Contribute
37 10 Arnaud Fontaine
38 10 Arnaud Fontaine
If you wish to contribute, you can find further information in document:"Master thesis: Writing an X compositing manager" and general information about "XCB":http://xcb.freedesktop.org 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":https://projects.mini-dweeb.org/embedded/unagi.
39 10 Arnaud Fontaine
40 10 Arnaud Fontaine
h1. Screenshots
41 1 Arnaud Fontaine
42 12 Arnaud Fontaine
Here are some screenshots of Unagi running with "Awesome Window Manager":http://awesome.naquadah.org.
43 10 Arnaud Fontaine
44 5 Arnaud Fontaine
h2. Opacity plugin
45 1 Arnaud Fontaine
46 4 Arnaud Fontaine
!opacity-enabled.png!
47 1 Arnaud Fontaine
48 10 Arnaud Fontaine
h2. Expose plugin
49 3 Arnaud Fontaine
50 10 Arnaud Fontaine
h3. Expose plugin before being enabled
51 1 Arnaud Fontaine
52 9 Arnaud Fontaine
!expose-disabled.png!
53 6 Arnaud Fontaine
54 11 Arnaud Fontaine
h3. Expose plugin when enabled
55 6 Arnaud Fontaine
56 9 Arnaud Fontaine
!expose-enabled.png!