Wiki » History » Version 18
Arnaud Fontaine, 01/07/2012 08:33 PM
1 | 11 | Arnaud Fontaine | {{toc}} |
---|---|---|---|
2 | 1 | Arnaud Fontaine | |
3 | 15 | 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 such as Compiz, 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 | 15 | Arnaud Fontaine | Unagi is a modular compositing manager (like xcompmgr) 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 | |||
15 | Further information can be found in the source:INSTALL and source:README files. |
||
16 | |||
17 | 17 | Arnaud Fontaine | h2. Debian package |
18 | |||
19 | 18 | Arnaud Fontaine | Debian packages is available officially for the last released version in "testing":http://packages.debian.org/search?keywords=unagi&searchon=sourcenames&suite=testing§ion=all and "unstable":http://packages.debian.org/search?keywords=unagi&searchon=sourcenames&suite=unstable§ion=all. In addition of the main package, named unagi, there is also unagi-dev to allow development of additional rendering backends and plugins. |
20 | 17 | Arnaud Fontaine | |
21 | h2. Arch package |
||
22 | |||
23 | 18 | Arnaud Fontaine | Arch package is available from "AUR":https://aur.archlinux.org/packages.php?ID=34557 and maintained by Laurent Ollagnier. |
24 | 17 | Arnaud Fontaine | |
25 | 14 | Arnaud Fontaine | h1. Git repository |
26 | |||
27 | 18 | Arnaud Fontaine | The Git repository is available "there":http://git.mini-dweeb.org/?p=arnau/unagi.git;a=summary. You can clone the repository with the following command: |
28 | 14 | Arnaud Fontaine | <pre> |
29 | 16 | Arnaud Fontaine | $ git clone git://rcs-git.duckcorp.org/projects/unagi/unagi.git |
30 | 14 | Arnaud Fontaine | </pre> |
31 | |||
32 | 11 | Arnaud Fontaine | h1. Status |
33 | 10 | Arnaud Fontaine | |
34 | 11 | Arnaud Fontaine | * Core code, rendering and visual effects seem stable |
35 | * One rendering backend, based on Render X extension) has been implemented so far |
||
36 | * Two plugins have been implemented, namely _Opacity_ and _Exposé_ |
||
37 | |||
38 | h1. Shortcomings |
||
39 | 10 | Arnaud Fontaine | |
40 | 12 | Arnaud Fontaine | * Early stage of development |
41 | 1 | Arnaud Fontaine | * Tested almost only with "Awesome Window Manager":http://awesome.naquadah.org |
42 | 17 | Arnaud Fontaine | * Performance issues which should be better from 0.2 and are progressively being addressed |
43 | 10 | Arnaud Fontaine | |
44 | h1. Contribute |
||
45 | |||
46 | 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. |
||
47 | |||
48 | h1. Screenshots |
||
49 | 1 | Arnaud Fontaine | |
50 | 12 | Arnaud Fontaine | Here are some screenshots of Unagi running with "Awesome Window Manager":http://awesome.naquadah.org. |
51 | 10 | Arnaud Fontaine | |
52 | 5 | Arnaud Fontaine | h2. Opacity plugin |
53 | 1 | Arnaud Fontaine | |
54 | 4 | Arnaud Fontaine | !opacity-enabled.png! |
55 | 1 | Arnaud Fontaine | |
56 | h2. Expose plugin |
||
57 | 17 | Arnaud Fontaine | |
58 | *WARNING*: this plugin is currently experimental and is currently very slow and not working well. As soon as all performance issues have been addressed, it will be improved and stabilized (see reported issues for further information). |
||
59 | 3 | Arnaud Fontaine | |
60 | 10 | Arnaud Fontaine | h3. Expose plugin before being enabled |
61 | 1 | Arnaud Fontaine | |
62 | 9 | Arnaud Fontaine | !expose-disabled.png! |
63 | 6 | Arnaud Fontaine | |
64 | 11 | Arnaud Fontaine | h3. Expose plugin when enabled |
65 | 6 | Arnaud Fontaine | |
66 | 9 | Arnaud Fontaine | !expose-enabled.png! |