10. Architecture

This section provides some insights about Keypirinha‘s design and philosophy.

10.1. Overview

Keypirinha by itself is just a database (the Catalog) sweetened with a small adaptive search engine and a straightforward graphical interface. Thus, the task of feeding the Catalog is entirely left to its Plugins.

From that point of view, we can say that the whole architecture of Keypirinha depends on its plugins. They are responsible of finding items on your computer, like a applications and documents for example, but not only (i.e.: the official Calc Package is the one that evaluates mathematical expressions).

Those items are created by the plugins, sent to the application, and are then sorted and stored in an internal database called the catalog, making them quickly searchable and easily executable.

10.2. Packages and Plugins

To make plugins easier to redistribute, Keypirinha has been introduced the concept of Packages.

In Keypirinha, a package is a container (e.g.: a directory; or a Zip archive with the .keypirinha-package extension) that groups one or several plugins designed to work together. It also contains the configuration files and dependencies, if any.

Read more about Packages Structure.

10.3. Configuration

By design, to configure Keypirinha and its packages requires to edit configuration files manually. There is no graphical interface to do that. Keypirinha uses the ini file format to read, and it only reads its configuration.

Read more about Configuration.