First there was Compiz
, a compositing window manager that brought very interesting desktop effects to Linux, and then Beryl
came about as a fork of Compiz before it ultimately turned into Compiz Fusion
. Today though, on Christmas eve, the world can now meet Compiz++.
Compiz++ is a branch of Compiz that brings several new features to the table and there are huge changes. First off, the Composite and OpenGL layers to Compiz have been separated so that Compiz++ no longer is just a compositing window manager. If your graphics hardware or drivers don't support Composite, you can now run Compiz++ as a normal window manager without compositing effects. Other rendering back-ends could be introduced to Compiz++ so that the windowing manager could render to say X Render or Clutter. Compiz++ also provides re-parented decorations.
The Compiz++ branch no longer has multi-display or multi-screen support since that work was never completed and was ill-maintained so users should now start one Compiz instance per screen, use Xinerama
, or use RandR 1.2
functionality that's still supported. Compiz++ also introduces support for tiled textures, which allows larger pixmaps to be supported whereby its broken into smaller textures to avoid such limitations.
When it comes to plug-ins in Compiz++ there is a new plug-in (WRAP/UNWRAP) interface. Compiz++ also doesn't allow for direct access to memory variables but instead requires get and set functions, which should further stabilize the plug-in ABI.
As implied by the new name, Compiz++ is no longer written in C but its core has been recoded in C++. Rewriting Compiz in C++ allows for smart functions, easier and smarter private systems, easier initialization and clean-up, and there are numerous other advantages. The build system for Compiz has also been converted to CMake.
Compiz++ is created by Dennis Kasprzyk as the possible future for Compiz. However, it's up to the Compiz community as a whole as whether they turn their focus from Compiz to Compiz++ or continue with the status quo.
The announcement of Compiz++ can be read on the Compiz mailing list