KDE 4 is barely eight months old, and already it has three options for a main menu. Until now, users have either used the default Kickoff, which makes for awkward navigation of the menu tree, or reverted to the familiar but unwieldy classic menu. Now, with the first full release of Lancelot, users have another option that overcomes the shortcomings of both other alternatives and gives KDE 4 a thoroughly modern menu.
According to comments on the project Web page by main developer Ivan Čukić, Lancelot started life as a SuperKaramba applet for organizing desktop icons. Its name is a homage to Monty Python and the Holy Grail -- as evidenced by the default grail icon -- as well as a pun on "launch-a-lot." As Čukić ported it to the new KDE desktop, the project changed in nature, first to keep pace with rumors about it, and then because of his dissatisfaction with Kickoff. Čukić is apparently not alone in his dissatisfaction, because within days of the 1.0 release being announced, Lancelot packages started to appear in many major distributions.
To understand why so much attention is being paid to the desktop menu in KDE 4, you need to refer back to the alternatives. The classic menu, which you can still use by right-clicking on the main menu, is an accordion-style menu, with submenus opening off of higher-level items and sprawling across the desktop. Although it's simple to learn and easy to navigate, the classic menu becomes increasingly unwieldy as you install more items, and can be intimidating to new users. Nor can the classic menu be resized, nor can submenus be torn off to sit on the desktop for convenience.
In their efforts to rethink the desktop, KDE 4 developers replaced the classic menu with Kickoff. Kickoff has several advantages over the classic menu, including the ability to resize the menu and to reduce clutter through the use of different views. But, for many people, Kickoff is severely limited by its inability to show more than one menu or submenu at a time -- a feature that prevents submenus from spilling over the desktop, but which can easily make you forget where you are in the menu system, and one which keeps you from jumping to another branch of the menu tree without first retracing your steps. In many ways, then, Kickoff creates as many problems as it solves for users.
Working with Lancelot
Lancelot is available as a Plasmoid widget -- that is, a desktop or panel applet. If you click the panel manager on the right side of the panel you can quickly add a copy of Lancelot to the panel, then move it to the position you want. If the default grail icon is too non-descriptive for you, you can right-click on the launcher and choose a different icon, such as the KDE logo.
When you open Lancelot, you can immediately see that it is influenced by Kickoff and other modern menus. It sports a search field on top, view categories, and system buttons. However, the view categories are more intelligently chosen, with the near-redundancy of Favorites and Recently Used in Kickoff eliminated and Documents and Contacts added. Sensibly, too, the view categories and system buttons are separated in Lancelot.
Like Kickoff, too, Lancelot confines all opened submenus to a single window. However, because Lancelot arranges menu levels in columns, starting with the top level on the left, it avoids the problems of navigation in Kickoff. Should the levels ever be too numerous to display at the default menu size, you can resize the menu, as you can if a submenu displays too many items for the menu's height. Alternatively, you can drag a submenu to the desktop to display it for yourself.
Lancelot's view changes as you tread the menu path, with higher-level menus disappearing if you move deep enough down into the menu hierarchy. However, another feature of Lancelot is the so-called breadcrumb trail that appears below the search field, which enables you to always know your position in the menu hierarchy. Overall, Lancelot is almost as easy as the classic menu for navigation, while confining the menus to a single window the way that Kickoff does.
In addition to its basic structure, Lancelot boasts two other interesting features. The first is a no-click option, which allows you to navigate the menu without clicking. Instead, you just hover the cursor over the arrows you use to change levels. If you hover over the arrow to the right of a program, you launch it. This no-click option is one small way of avoiding repetitive strain, but you can enable traditional clicks in the configuration dialog if you really miss them.
The second is that Lancelot uses Krunner for search, which gives you the power to search not only applications, but contacts and bookmarks as well. You can even use the Lancelot search field as a basic calculator.
Lancelot still has some problems. Running in a development version of Kubuntu 8.10, it was unable to add menus to the desktop, although the same feature worked without difficulty in openSUSE. It could also benefit from some simple enhancements. For instance, the ability to customize view categories would be welcome for those who want to finely customize their desktops.
These points aside, Lancelot is in many ways what Kickoff should have been. It makes Kickoff structures work without inhibiting navigation or adding unnecessary complexity. I would not be greatly surprised if, a few releases down the road, Lancelot becomes the default menu in the KDE 4 series.