mini-dweeb.org projects: Latest projects
https://projects.mini-dweeb.org/
https://projects.mini-dweeb.org/favicon.ico?1669909042
2009-12-13T14:39:46Z
mini-dweeb.org projects
Redmine
Unagi Compositing Manager - Project: Unagi Compositing Manager
https://projects.mini-dweeb.org/projects/unagi
2009-12-13T14:39:46Z
<p><strong>Unagi</strong> is a modular compositing manager which aims to be efficient, lightweight and responsive. It is currently written in C programming language and based on <a href="http://xcb.freedesktop.org" class="external">XCB library</a> client library. Any existing window manager can be used as long as it implements properly <a href="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html" class="external">EWMH</a> and <a href="http://tronche.com/gui/x/icccm/" class="external">ICCCM</a> specifications (or at least parts of it which are needed), which is generally the case nowadays.</p>
<p>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é...), therefore it does not intend at all to provide useless eye-candy effects.</p>
<a name="Concepts"></a>
<h2 >Concepts<a href="#Concepts" class="wiki-anchor">¶</a></h2>
<p>A <em>compositing manager</em> 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 <em>compositing window manager</em> such as <a href="http://compiz.org" class="external">Compiz</a>, a <em>compositing manager</em> does not manage windows but simply implements visual effects such as windows translucency, drop shadows, fading... Therefore, it is generally used along a window manager.</p>
<p><strong>Unagi</strong> relies on a modular architecture as the code is split up in three parts: <em>core code</em>, <em>rendering backends</em> (only one backend relying on <code>Render</code> X extension has been implemented so far) and <em>effect plugins</em>. 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.</p>
<a name="Further-documentation"></a>
<h2 >Further documentation<a href="#Further-documentation" class="wiki-anchor">¶</a></h2>
<p>Further documentations are available on <a class="wiki-page" href="https://projects.mini-dweeb.org/projects/unagi/wiki/Wiki">Wiki</a>.</p>