D6390: WIP: Add remote runners over DBus

2017-07-06 Thread David Edmundson
davidedmundson updated this revision to Diff 16231.
davidedmundson added a comment.


  Added unit test, support actions

REPOSITORY
  R308 KRunner

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D6390?vs=15870=16231

BRANCH
  dbusrunner

REVISION DETAIL
  https://phabricator.kde.org/D6390

AFFECTED FILES
  autotests/CMakeLists.txt
  autotests/dbusrunnertest.cpp
  autotests/dbusrunnertest.desktop
  autotests/testremoterunner.cpp
  autotests/testremoterunner.h
  src/CMakeLists.txt
  src/abstractrunner.cpp
  src/data/org.kde.krunner1.xml
  src/data/servicetypes/plasma-runner.desktop
  src/dbusrunner.cpp
  src/dbusrunner_p.h
  src/dbusutils_p.h
  src/querymatch.cpp
  src/querymatch.h
  src/runnermanager.cpp

To: davidedmundson, #plasma
Cc: mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas


D6390: WIP: Add remote runners over DBus

2017-06-29 Thread Marco Martin
mart added a comment.


  love the idea.
  when this goes in, at least one using this should already exist, to make sure 
the code gets well tested from day one.
  
  this makes me think...
  it's not exacrtly the same thing, maybe kindof a layer, but would be possible 
to start from this and have a process that contains all current runners which 
krunner and plasmashell then query? (this at least would get rid of things like 
the thousands of plasmashell crashes caused by baloo once for all, even tough 
it moves them to another process, it's a less mission critical one)

REPOSITORY
  R308 KRunner

REVISION DETAIL
  https://phabricator.kde.org/D6390

To: davidedmundson, #plasma
Cc: mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas


D6390: WIP: Add remote runners over DBus

2017-06-26 Thread David Edmundson
davidedmundson created this revision.
Restricted Application added projects: Plasma, Frameworks.
Restricted Application added subscribers: Frameworks, plasma-devel.

REVISION SUMMARY
  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.

TEST PLAN
  Wrote new sample app
  Got my runner showing results
  Brief profiling had roundtrip time as 0ms.

REPOSITORY
  R308 KRunner

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D6390

AFFECTED FILES
  src/CMakeLists.txt
  src/data/org.kde.krunner1.xml
  src/data/servicetypes/plasma-runner.desktop
  src/dbusrunner.cpp
  src/dbusrunner_p.h
  src/dbusutils_p.h
  src/runnermanager.cpp

To: davidedmundson, #plasma
Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart, lukas