Once the application program has built an interface, control is then passed to Mint in
order to wait for events to happen (e.g. user interaction or timed delays). The
main loop code is contained in the file mint_main.c.

Once Mint encounters an event then a signal is sent. The application program can catch
these signals using callbacks to run a specific piece of code when that signal is sent
by Mint. Signal code is contained in the file mint_signal.c with the API being in
mint_signal.h.

To display strings or text in a Mint application you will first need to open a
font. By default Mint uses a 16x8 or 8x8 font. The API in mint_font.h also allows
font files (such as TTF) to be opened via the FreeType library.

Timers are used to trigger callbacks to the user application after a specified delay.
Details of this API are in mint_timer.h. The API also allows you to slow down the
internal Mint delay (normally one thousandth of a second) if you are using very slow
hardware.

Mint provides a very basic inifile API in mint_inifile.h. Inifiles are useful for
storing application data for storing default user settings, and Mint does this by
using a simple key/data pair. This API also has a few other useful functions
such as getting the default user directory and loading a whole file into memory.

The API for balanced binary trees (BBT) is provided via mint_tree.h. The purpose of
a BBT is to provide a simple way to store a key/data pair in a structure that is
very quick to find that data at a later time. The inifile code is a practical
example of how to use a BBT.

Customization is done by creating new widget structures and attaching new objects
to those widgets via via mint_object.h. This
customization can be implemented directly inside an application or via a C library
so that these features can be shared between programs.