The Plasma workspace provides an application called KRunner which, among other things, allows one to type into a text area which causes various actions and information that match the text appear as the text is being typed.
This functionality is provided via plugins called "runners". These plugins can be used by any application that links again libplasma. This tutorial explores how to create a runner.
Part of libplasma, Plasma::AbstractRunner is the base class of all runners. It provides API for the following functionality:
The interface it provides is licensed under the LGPL and can therefore be linked to by a code on a variety of Free/Open Source as well as proprietary licenses.