2.1  Overview

The gDesklets framework consists of several components, as can be seen below.

Figure 2-1  The gDesklets Framework
  • A daemon is running in the background as a server providing a socket for communication. Clients connect to the socket to give instructions to the daemon, e.g. to have it open an applet.

    The daemon is responsible for loading and running the applets. Clients, e.g. a command line frontend, can thus be implemented as thin remote controls.

  • The user interface of applets, i.e. the things which the user will see and be able to interact with, is defined by ADL, a simple, yet powerful XML based language.

  • The XML-defined user interface can be brought to life with inline scripts, i.e. Python scripts which are directly written into the XML code or imported there to be executed in a secure sandbox.

  • Sandboxed scripting code can use controls to access otherwise unreachable data. Controls can, for instance, be used for reading hardware information. Basically they provide a controlled way to access data outside the sandbox. libdesklets is a library which can be used to ease their implementation.