created: 20190928081810311 modified: 20211114222640985 tags: PluginMechanism title: Plugin Types type: text/vnd.tiddlywiki Plugins have a `plugin-type` field that determines how it is treated. The following values are defined by the core: * `plugin` - an ordinary plugin * `theme` - a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins) * `language` - a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins) The following plugin types are used internally by the core: * `import` - for the special $:/Import plugin created while importing is in progress * `info` - for the special $:/temp/info-plugin tiddler created by the InfoMechanism While not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate [[view template segment|SystemTag: $:/tags/ViewTemplate]]. By default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the [[plugintiddlers Operator]]). Setting a configuration tiddler `$:/config/RegisterPluginType/` to `yes` will cause the tiddlers within the plugin to be registered as shadow tiddlers.