kdeconnect-kde/plugins
2024-08-12 11:01:22 +00:00
..
battery Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
bigscreen Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
clipboard Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
connectivity-report Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
contacts Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
findmyphone Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
findthisdevice Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
lockdevice Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
mmtelephony Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
mousepad Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
mpriscontrol Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
mprisremote Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
notifications Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
pausemusic Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
ping Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
presenter Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
remotecommands Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
remotecontrol Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
remotekeyboard Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
remotesystemvolume Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
runcommand Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
screensaver-inhibit Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
sendnotifications Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
sftp Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
share Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
sms Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
systemvolume Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
telephony Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
virtualmonitor Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
CMakeLists.txt Cleanup all occurences of QT_MAJOR_VERSION in cmake 2023-12-28 17:49:07 +01:00
kdeconnect.notifyrc SVN_SILENT made messages (.desktop file) - always resolve ours 2024-07-30 01:23:49 +00:00
kdeconnect.schema.json Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
Messages.sh Figure out Messages.sh after code refactoring 2014-06-17 18:45:47 +02:00
README.txt Fix file name on plugin's readme. 2022-11-27 01:40:51 +00:00

Writing a plugin for KDE Connect
=================================

For the desktop client (this project):
--------------------------------------

1. Enter the "plugins" directory.
2. Copy the "ping" under a different name ("findmyphone" in this example).
3. Add "add_subdirectory(findmyphone)" to CMakeLists.txt after the others "add_subdirectory".
4. Enter the new "findmyphone" directory.
5. Edit CMakeLists.txt by replacing "ping" with "findmyphone".
6. Rename other files in this directory by replacing "ping" with "findmyphone"
7. Write a description of your plugin into "README"
8. Edit findmyphoneplugin.cpp and findmyphoneplugin.h.
  A. Change license header.
  B. Replace (case sensitive) "ping" with "findmyphone", "PingPlugin" with "FindMyPhonePlugin" and "PING" with "FINDMYPHONE".
9. Edit kdeconnect_findmyphone.json file:
  A. Replace "ping" with "findmyphone".
  B. Change name, description, icon, author, email, version, website, license info.
  C. Remove all the translations
  D. Set X-KDEConnect-SupportedPacketType and X-KDEConnect-OutgoingPacketType to the packet type your plugin will receive
     and send, respectively. In this example this is "kdeconnect.findmyphone". Make sure that this matches what is defined in
     the findmyphoneplugin.h file (in the line "#define PACKET_TYPE_..."), and also in Android.
10. Now you have an empty skeleton to implement your new plugin logic.

For Android (project kdeconnect-android):
-----------------------------------------

1. Change directory to src/org/kde/kdeconnect/Plugins.
2. Copy "PingPlugin" under a different name ("FindMyPhonePlugin" in this example).
3. Enter the new "FindMyPhonePlugin" directory.
4. Rename "PingPlugin.java" to "FindMyPhonePlugin.java"
5. Edit it. Replace (case sensitive) "Ping" with "FindMyPhone", "ping" with "findmyphone", "PING" with "FINDMYPHONE"
   and "plugin_ping" with "plugin_findmyphone".
6. Open res/values/strings.xml. Find and copy the lines "pref_plugin_ping_desc" and "pref_plugin_ping" replacing "ping"
   with "findmyphone" and edit the plugin name and description between <string> </string>).
7. Now you have an empty skeleton to implement your new plugin logic.