Plugins

Configuration

Plugin development caveats

It's still early days for fman's plugin support. While great care has been
taken to offer a reasonable and stable API, no guarantee is (currently)
made that it won't change.

fman's plugins currently all live in the same process and even the same name
space. This means that it is theoretically possible to import modules from
other plugins. However, this is discouraged and will likely not be possible
in future versions.

fman is based on the Qt GUI framework. It uses the
PyQt library
to access Qt's functions from Python. Plugins are currently able to
call all PyQt functions, which you could in theory use to open and draw your
own windows. This too is discouraged and will likely stop working in a
future release.

Naming Conventions

When developing your own plugins, please follow these naming conventions:

Plugin names should be uppercase. Eg. Core instead of
core.

All your Python sources should lie inside one (Python) package
with a unique name. The name should be lower case and can contain
underscores (_) but no other special characters. If your
plugin is called My Plugin, then a good package name is
my_plugin.

Make the names of your settings files very human-readable. For example, if
your plugin is called Foo, name your settings file
Foo Settings.json. All words should be capitalized.