diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/plugins/PluginsSettingsScreen.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/plugins/PluginsSettingsScreen.kt index 78d0036d..007a2770 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/plugins/PluginsSettingsScreen.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/plugins/PluginsSettingsScreen.kt @@ -38,7 +38,10 @@ fun PluginsSettingsScreen() { val pluginPackages by viewModel.pluginPackages.collectAsState(null) val enabledPackages by viewModel.enabledPluginPackages.collectAsState(emptyList()) val disabledPackages by viewModel.disabledPluginPackages.collectAsState(emptyList()) - PreferenceScreen(title = stringResource(R.string.preference_screen_plugins)) { + PreferenceScreen( + title = stringResource(R.string.preference_screen_plugins), + helpUrl = "https://kvaesitso.mm20.de/docs/user-guide/concepts/plugins" + ) { when { pluginPackages?.isEmpty() == true -> { item { diff --git a/docs/docs/user-guide/concepts/plugins.md b/docs/docs/user-guide/concepts/plugins.md new file mode 100644 index 00000000..90984df9 --- /dev/null +++ b/docs/docs/user-guide/concepts/plugins.md @@ -0,0 +1,50 @@ +# Plugins + +Plugins are a way to extend the launcher's functionality. Plugins act as data providers for several +launcher components. + +As of now, only weather provider plugins and file search plugins are supported, but in the long +term, +support for all search categories is planned. + +## Usage + +### Installation + +Plugins are installed the same way as any other app. You can either download them from an app store, +or install them manually as APK files. + +### Activation + +After the plugin has been installed, it needs to be activated in the launcher settings. To do this, +go to settings > plugins, tap on the plugin you want to activate, and enable it. The plugin will +show a permission dialog. Tap on "Allow" to give the launcher the necessary permission to access +the plugin's data. + +Next, you may or may not need to perform steps to configure the plugin. For example, a plugin might +require you to sign in with an account in order to use it. A banner is shown when additional +configuration steps are needed: + + + +Last but not least, you need to enable the plugin functionalities that you want to use. + +For weather plugins, you need to change the weather integration settings to use the plugin as +weather provider. + +For search plugins, you need to enable the search provider in search settings. Shortcuts to these +settings are available on the plugin's settings page. + +## Available plugins + +As of now, the following plugins are available: + +- **OneDrive plugin**: adds OneDrive file + search [[Github]](https://github.com/Kvaesitso/Plugin-OneDrive) [[Download]](https://fdroid.mm20.de/app/de.mm20.launcher2.plugin.onedrive) +- **OpenWeatherMap plugin**: adds OpenWeatherMap weather + provider [[Github]](https://github.com/Kvaesitso/Plugin-OpenWeatherMap) [[Download]](https://fdroid.mm20.de/app/de.mm20.launcher2.plugin.openweathermap) + +## Plugin development + +If you are a developer and you are interested in developing your own plugin for the launcher, +you can find more information in the [developer guide](/docs/developer-guide/plugins/get-started). \ No newline at end of file diff --git a/docs/docs/user-guide/sidebar.ts b/docs/docs/user-guide/sidebar.ts index 1eff1271..091408d4 100644 --- a/docs/docs/user-guide/sidebar.ts +++ b/docs/docs/user-guide/sidebar.ts @@ -20,6 +20,10 @@ export const UserGuideSidebar: DefaultTheme.SidebarItem[] = [ text: 'Tags', link: '/docs/user-guide/concepts/tags', }, + { + text: 'Plugins', + link: '/docs/user-guide/concepts/plugins', + }, ], }, { diff --git a/docs/public/img/plugin-configuration.png b/docs/public/img/plugin-configuration.png new file mode 100644 index 00000000..80a29b01 Binary files /dev/null and b/docs/public/img/plugin-configuration.png differ