This patch allows adding runners which, rather than being in-process
receive a search term and provide results over DBus.
A metadata file should be installed with metadata for the service and
path, and the remote app should implement the supplied interface.
By using metadata files all the current krunner architecture and config
management works seamlessly, and it allows the possibility for a runner
to be DBus activated if it wants to be.
The goal of this patch is threefold:
- To make it considerably easier to write runners where the data exists
in an already running application. The plasma-browser-integration is a
good example, it currently has it's own custom protocol, and ends up
sending data on all the tabs only to filter it inside krunner, somewhat
wasteful. With this adding searchable tabs to konversation (for example)
would be a ten minute patch.
- Make it easy to write a runner in any other language. An app just
needs to speak DBus with no other dependencies. Potentially even shipped
via the store.
- This approach could work for runners in sandboxes.