The basic ROLF software consists of three applications and two libraries:
Wimp : the central process that all ROLF applications communicate with. It manages the window stack and the on-screen pointer, handles inter-process messaging, and communicates with the input devices (keyboard and mouse). Access to the Wimp is managed in a co-operative multi-tasking manner (as with RISC OS), with a couple of differences: firstly, applications can continue processing independently of the Wimp and, secondly, multiple applications may be asked to (re)draw non-overlapping rectangles of the screen simultaneously.
Iconbar : this ROLF application must be run first by the Wimp (to be ready to provide its services to other applications, including the Filer) and provides the backdrop and iconbar functionality.
Filer : this ROLF application provides a GUI representing the files on the system and handles loading or running of files and applications. Filetypes will be stored in the Linux directory structure (initially as hidden files including the file type in their names) so that the types of all the files in a directory can be read in almost the same time as simply reading their names.
Furniture library : a library linked with each ROLF application that handles window furniture (title bar, size icon, etc.) using the facilities provided by the Wimp. Having a separate library should avoid feature creep in the Wimp, so that modifications to the Wimp should consist only of optimisations and support for additional hardware.
Bitmap library: a library for handling images in an abstract way, so that the internal format of a bitmap need not be known by external software. Source Images can be rendered to Destination Images, without having to know anything about the internal representations of either. Pixels are nominally 16 bits each of Red, Green, Blue and Alpha, although most major operations will be optimised to use the minimum required. Scalable images (SVG, DrawFiles and Fonts) are also handled by this mechanism.