QuickSand differs from the current KRunner interface in several ways. QuickSand has 3 different display modes: "Icon Parade", "Selected Item", and "Text" mode. The default display mode is "Icon Parade". Instead of displaying a line-edit, QuickSand presents the user with a matches pane asking the user to type something to be searched. Upon typing, the search string is displayed on the upper left corner of the matches pane. If matches are found, the number of matches is displayed on the upper right corner of the match pane. The icons are of the matches are lined up horizontally in the match pane and a pop-up completion box is shown to guide the user in selecting the appropriate match. The user can scroll through the available matches by pressing the up and down keys (when the pop-up box is shown) or the left and right keys.
Hitting <enter> will select the match and display only the selected item. Clicking on the arrow on the upper right corner of the match pane will toggle between "Icon Parade" and "Selected Item" modes.
If the user would rather see a line edit, pressing the <.> (dot) key will change the display to "Text" mode. A line edit will replace the scrolling icons in the match pane.
One of the primary reasons for writing QuickSand was to provide support for multiple actions. For example a match for an open application window can have several actions associated with it. The window can be minimized, set on all desktops, etc. QuickSand supports multiple actions in the same manner as matches for a search. If a particular match has several actions associated with it, an action pane appears below the match pane with the first action selected. Pressing <tab> will switch to the action pane and the user can select from the various available actions in the same manner as matches.
Hopefully, QuickSand will be provided as an option in KRunner allowing users to select between the default interface and QuickSand.
Another future development would be support for actions that require objects/targets. For example given a match for a file "screenshot.jpg" and an action of "e-mail to...", a possible object would be "danny@commit-digest.org". Support for objects would be as simple as placing an object pane below the action pane and displaying it whenever the currently selected action requires an object.