11. Architecture

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

11.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 applications, documents and bookmarks for example, as well as offering to evaluate mathematical expressions, monetary conversions and so on…

These items are created by the plugins and are then sorted and stored in an internal database called the Catalog, to make making them quickly searchable and easily executable.

11.2. Packages and Plugins

To make Plugins easier to distribute, Keypirinha has been introduced the concept of Packages.

In Keypirinha, a package is a container that groups one or several plugins designed to work together, as well as optional configuration files and dependencies.

A package can take the form of a directory containing loose files, or a Zip archive with the .keypirinha-package extension (for redistribution).

Read more about Packages Structure.

11.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.