Hi, I have been working lately on adding better support for single-runner runners to Homerun. The code is currently available in the "wip/single-runner" branch of Homerun.
This code exposes all runners which advertise single-runner mode as sources. When a single-runner is used, Homerun uses the runner default syntax to query its content. Any search performed in Homerun search field gets "translated" into the runner default syntax. This means that if I add the "Activities" runner, whose default syntax is "activity :q:", then by default Homerun queries the runner for "activity". If the user types "work" in the search field, Homerun queries the runner for "activity work". # The plan In the long term, I hope this makes it possible to drop some of Homerun sources and replace them with single-runner runners. Potential candidates are (Source => runner): - Favorite Places => Places - Recent Documents => Recent Documents - Power => Powerdevil - Sessions => Sessions Some of them need additional work to provide what I would like to feature in Homerun, but assuming you agree with this, I believe I can get it done in time for KDE SC 4.11. # Questions 1. Does this sound like a good plan to you? 2. The way single-runners are queried is not very elegant. It looks like this: QString SingleRunnerModel::prepareSearchTerm(const QString &term) { const char *placeHolder = ":q:"; Q_ASSERT(m_manager); Plasma::RunnerSyntax *syntax = m_manager->singleModeRunner()->defaultSyntax(); QStringList queries = syntax->exampleQueries(); Q_ASSERT(!queries.isEmpty()); QString query = queries.first(); if (query.contains(placeHolder)) { return query.replace(placeHolder, term); } else { return query + ' ' + term; } } Is there a better way to do this? 3. I noticed some runners advertise single-runner mode but do not define a default syntax. Is it a bug or is there a reason for that? # Screenshots - Activities, Kate and KDevelop sessions runners inside Homerun (review requests are going to be filed for Kate and KDevelop session runners) http://agateau.com/tmp/homerun-single-runners.png - Configure mode showing single-runner runners (Command line should probably not advertise itself as supporting single-runner mode): http://agateau.com/tmp/homerun-single-runners-configure.png Aurélien _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel