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: