## TotemPlugin TotemPlugin — base plugin class and loading/unloading functions |

## Stability Level

Unstable, unless otherwise indicated

## Functions

#define | TOTEM_PLUGIN_REGISTER()
#define | TOTEM_PLUGIN_REGISTER_CONFIGURABLE()
char ** | totem_get_plugin_paths ()

## Includes

    #include <totem-dirs.h>

## Description

libpeas is used as a general-purpose architecture for adding plugins to Totem, with derived support for different programming languages.

The functions in totem-dirs.h are used to allow plugins to find and load files installed alongside the plugins, such as UI files.

## Functions

### TOTEM_PLUGIN_REGISTER()

    #define             TOTEM_PLUGIN_REGISTER(TYPE_NAME, TypeName, type_name)

Registers a plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate and deactivate functions.

#### Parameters

TYPE_NAME | the name of the plugin type, in UPPER_CASE |
TypeName | the name of the plugin type, in CamelCase |
type_name | the name of the plugin type, in lower_case |

### TOTEM_PLUGIN_REGISTER_CONFIGURABLE()

    #define             TOTEM_PLUGIN_REGISTER_CONFIGURABLE(TYPE_NAME, TypeName, type_name)

Registers a configurable plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate and deactivate and widget creation functions.

#### Parameters

TYPE_NAME | the name of the plugin type, in UPPER_CASE |
TypeName | the name of the plugin type, in CamelCase |
type_name | the name of the plugin type, in lower_case |

### totem_get_plugin_paths ()

    char **
    totem_get_plugin_paths (void);

Return a `NULL`-terminated array of paths to directories which can contain Totem plugins. This respects the GSettings disable_user_plugins setting.

#### Returns

a `NULL`-terminated array of paths to plugin directories.

[transfer full]

Since: 2.90.0