There are a lot of runners but there is unfortunately not much documentation/easily available documentation.
As a developer you can go to the source code and quickly figure out how the runner gets triggered and
what it is supposed to do, but thats is not what most people want to do.
There are also quite a few comments about this on a reddit post:
https://www.reddit.com/r/kde/comments/g94nwx/krunner_is_very_useful_only_press_altspace_and/
To quote some of them:
> K Runner should really be a case study in CompSci degree programs of why documentation matters.
> I can relate, so many runners I don't know how to use.
My Idea: In the runners we already add in most cases a `Plasma::RunnerSyntax`, which contains queries and a description.
By creating a RunnerManager and loading the runner the syntaxes can be accessed.
A good place could be in the plasmasearch kcm as a tab in the info popup:
{F8278158}
I also have an idea on how to implement this:
The tabs in the info page are created in the kaboutdialogplugin.cpp class line ~110 (kxmlgui project).
To support additional Tabs I would create a new class, lets call it `KAboutDialogAbstactTab`,
which extends QWidgets and has an `init` method which takes the KPluginMetaData as a parameter.
In this init method you could create the RunnerManager and read the syntaxes etc.
A list of `KAboutDialogAbstactTab` could be added to a constructor overload.
In the `KAboutPluginDialogPrivate::init` the init method would be called and the tabs would be added to the list.
Because the `KAboutPluginDialog` gets called from the `KPluginSelector::Private::PluginDelegate::slotAboutClicked`
method the tab list needs to be added to the `KPluginSelector` class, maybe just a method `setAdditionalInfoTabs(...)`.
This is just an idea so feel free to comment, criticize and improve 😃