Place here Python modules with plugins.
Each Python module should contain at least the following attributes.

Required attributes:

  * `ORDER` constant.
    Plugins with smaller `ORDER` will be initiated and started earlier

  * `init()` function to initialize the plugin.
    This function will be called before Shell initialization phase, so,
    it is possible to put here a monkey patcing code.

  * `start()` function to start the plugin
    Actual starting the plugin. This function will be called when Shell starts
    heavy code like Journal.

Optional attributes:

  * `TITLE` constant.
    This title will appear in "Plugins" Control Panel component to let user
    a chnace to enable, or, disable the plugin. If `TITLE` is omitted,
    plugin will be enabled unconditionally.

  * `control_panel_section()` function to create Control Panel sub-section.
    If exists, it should return a widget to place to "Plugins" Control Panel
    section to configure the plugin. Returing widget should take care about
    reading/writing plugin configuration on its own and should assume applying
    configuration changes right after making them, i.e., without any apply
    buttons. The regular way to handle plugin configuration is using
    `Option` class like `example plugin`_ does.

  * `binding()` function to return a list of Posix shell commands.
    Resulting lines will be sourced before starting Sugar Shell process.
    Note that sourcing will happen before starting DBus session.

Optional directories:

  * `locale/`
    Compiled locale files for `sugar-plugin-<PLUGIN_NAME>` domain.


.. _example plugin: https://git.sugarlabs.org/desktop/sugar-example-plugin
