**NOTE: this page describes what is a Jami Plugin and how to install and use them.**
# Jami Plugins
As from September of 2020, Jami team has added plugins as a call/chat feature for Linux and Android users.
This meaning that now they can personalize their call/chat experience by using one of our available plugins.
But that is not all, you can also transform your awesome ideas into a brand new plugin!
To properly setup a plugin you must follow the step bellow.
To `build` a plugin, please refer to build instructions at the end of this page.
## How to use it?
### Install / Uninstall
A Jami plugin is a file of the type plugin-name.jpl, and it must be installed to your Jami.
For Android You must go under Setting, enable plugins, and select a plugin file from your phone.
Similarly, for Linux, one must go to Jami Prefences, enable plugins, and select a plugins file from your computer.
Once installed, Jami will add your new plugin to the available plugins list.
For Android uninstall, one must click on the plugin and a uninstall option will appear.
For Linux, each plugins in plugins list shows a uninstall button.
### Load / Unload
Once installed, a plugins is not available for use yet. Plugins are libraries and must be loaded if you want to expose their functionalities.
For Android and Linux, there is checkbox that indicates plugin's load state. You can load or unload it by clicking on this checkbox.
### Change Parameters
Each plugin has configurations, and some of them are editable by the user. For example, our Foreground Segmentation plugin allows the user to change the background image displayed.
For client-gnome it is not yet possible to change those preferences, but for Android you can do so.
Preferences are displayed in the same page one must access to uninstall a plugin.
To take effect, the plugin has to be reloaded.
### Use!
Call plugins only take place if you turn them on during a call.
For both Android and Linux you can do so by clicking on the plugins icon on your call screen.
## How to build?
### Dependencies
If you want to make something with your video call, it is possible that you will do so with OpenCV and/or Tensorflow.
So, before going to the plugin, it is necessary to build the plugin dependencies.