Plugin types

The following plugin types can be distinguished:

  1. Visual/non-visual (marked with the isVisual flag in the config.json):

    • Visual plugins ("isVisual": true) open a window or a panel for some action, like Highlight code, Photo editor, OCR.

      You can run multiple visual plugins at the same time. For each plugin, a separate button will appear on the left toolbar.

      Visual plugins

      Starting from version 8.1, plugins can change the toolbar: create their own tabs and fill them, add buttons to the standard tabs. To do this, use the AddToolbarMenuItem method.

      Toolbar plugins
    • Non-visual (background) plugins ("isVisual": false) provide a button (or buttons) to apply some transformations or manipulations to the document, like Hello world, Speech. To access them, click the Background Plugins button on the top toolbar.

      Background plugins
    • An input helper ("events": ["onInputHelperClear", "onInputHelperInput"]) plugin is a combo of both visual and non-visual plugins, like Autocomplete. It has its own window that appears and disappears when you type text. Its location is tied to the cursor.

  2. System/non-system (marked with the isSystem flag in the config.json):

    • Non-system plugins (not marked in the config.json) start upon clicking the corresponding button, like Clippy, Thesaurus, Translator.

    • System plugins ("isSystem": true) work in the background as long as the editors are launched, like Settings, Search and replace on start. You don’t need to run them. And unlike background plugins, they cannot be disabled.

  3. Editor enhancement/UI enhancement/third-party service plugins:

  4. OLE object (marked as "initDataType": "ole" flag in the config.json):

    • In addition to simple document manipulation or editing, the plugin can embed an OLE object which allows a third-party developer to access the document format, i.e. save information from external resources to the resulting file.

      For example, the YouTube plugin embeds YouTube videos into your document and the Chess plugin embeds a chess board.