Idea for SoC propsal

Aaron J. Seigo aseigo at kde.org
Wed Mar 5 01:38:49 CET 2008


On Tuesday 04 March 2008, Matej Svejda wrote:
> I'm a student at the Technical University Munich and I've just
> finished my first semester (computer science) and I'd like to
> participate in Google's Summer of Code. I have moderate knowledge of
> C++ and Qt (I've written a couple of really small programs,
> http://kde-apps.org/content/show.php/Destick?content=47576 is one of
> them). What I'd like to do is to combine three ideas from
> http://techbase.kde.org/index.php?title=Projects/Summer_of_Code/2008/Ideas#
>KRunner:
>
> Ranking results, abstracting runner management and using runners in Kickoff

awesome...

> First of all ranking results should just work. My goal would be that
> what any (sane) user thought of when entering something should always
> be in the top 3 results (given a runner exists for what the user
> wants).

cool. extra points for implementing an elegant way to automatically reward 
previously selected matches with a higher relevancy score.

> Also the user should be able to tweak how KRunner ranks 
> results (something like a list of preferred runners).

.. as well as a whitelist of runners. we already support whitelists and 
blacklists in the relevant code in libplasma, but we need a way to set this 
from the UI.

>        A "general query"-mode where you just type a keyword and KRunner
> tries to guess what you meant (which is how KRunner works now). Each
> result gets a ranking and the results are displayed...
>                ... grouped (like Apple's spotlight) where the groups
> are sorted by
> some kind of combination of average rating per entry and the highest
> rating for each group (maybe).
>                ... with each item on it's own, exclusively sorted by
> rating. How the results are displayed should be switchable and KRunner
> should just remember this setting.

this falls in line with the "revamp the UI" work. Riccardo: do you want to 
chime in here a bit perhaps?

>        A "specified query"-mode where you specify which runner should be
> used for searching and only results from this runner would be
> displayed. Which runner is used could be either written or selected
> from a select box. I'm thinking of something like dolphin's places
> select box. Also this setting should be switchable (text and select
> box mode) and KRunner should just remember it.

that'd be cool. we also need this to be settable by external apps calling into 
krunner (e.g. for the user sessions runner); related to this would be a "no 
editing of the query" mode (again, use case is the sessions runner)

> All this should be abstracted out of plasma and it should be really
> trivial (trivial as in "just a few lines of code") to use this
> functionality in different applications (kick-off, raptor, dolphin,
> lancelot...).

yep. that means mostly taking the thread management code out of 
KRunner::interface.

> I haven't looked into KRunner's cobase yet but I will do that soon.

the interesting classes are in:

kdebase/workspace/libs/plasma/searchcontext.[h|cpp]
kdebase/workspace/libs/plasma/searchmatch.[h|cpp]
kdebase/workspace/libs/plasma/abstractrunner.[h|cpp]
kdebase/workspace/krunner/interface.[h|cpp]

> What do you guys think about this?

+1 from me.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20080304/ef5e9e25/attachment.pgp 


More information about the Panel-devel mailing list