Lancelot is consisted of a couple of subprojects. The main application and applets are the things visible to users.

For the developers, more interesting are liblancelot and PUCK.

  • liblancelot - a library that contains all UI widgets and layouts used in the Lancelot project. It is a base framework for everything in the world of Lancelot. It is built on top of Plasma. It provides a set of custom widgets, layouts and has a few more advanced concepts for allowing for quicker development of Plasma-based applications.

    Note: liblancelot is still under heavy development, which means that the future versions will not be ABI nor API compatible with the present one.
  • PUCK - The Plasma User Interface Compiler reads a user interface definition out of a XML-based file format, and creates a corresponding C++ implementation.

The documentation for liblancelot can be found at, while PUCK is fully undocumented at the moment.