Monday saw the release of version 1.2.0 of Homerun, now a collection of launcher interfaces for Plasma Workspaces, powered by a common foundation. If you're already familiar with, or even a happy user of Homerun this description of it might make you raise an eyebrow, so let's take a look at what's new in this version.
The main addition in Homerun 1.2.0 is a second interface built atop Homerun's collection of data sources, the Homerun Kicker launcher menu shown above. Unlike the first Homerun interface, which is designed for use on the full screen or desktop background and meant to be both mouse- and finger-friendly (you can check it out here if you're new to Homerun or just need a memory boost), Homerun Kicker is a more traditional launcher menu design optimized for efficient use by mouse or touchscreen when placed on a panel.
The use of traditional, cascading popup menus is complemented by a sidebar strip in which application favorites and items related to power and session handling may be placed. Both types of items can be added, removed and reordered at will via mouse and menus, much like in the bigger, older brother.
It also has search, which - also a previously known Homerun feature - mines several different sources of data for your query. Unlike in the larger interface, however, results in Homerun Kicker are shown in dynamically created columns, one for each source:
Mmmmm. All that data.
Homerun Kicker looks and should feel simple, but has a bunch of fairly neat things going on under the hood to achieve that goal. Optimization for efficient mouse use starts with the chosen layout, but doesn't end there: The handling of mouse input is smart enough to, for example, treat a diagonal move into a sub-menu differently from vertical movement, to avoid accidentally switching to a different category when only briefly grazing menu items. The result is a menu that hopefully feels solid, dependable and hassle-free.
Keyboard aficionados have no need to feel to feel left out, either: Arrow keys and other keyboard commands work as you'd expect from a menu. Upon opening Homerun Kicker keyboard input focus is placed on the search field, so the search-and-hit-return workflow familiar to Homerun users is supported here as well.
Another feature worth mentioning is support for setting a custom image as the launcher button. The image can be non-square, enabling greater visual variety and a wider mouse click target.
With both Homerun interfaces built on the same underlying framework, several of the new things in this release pop up in both of them. Acute eyes may have already spotted a "Recent Applications" entry in the first Homerun Kicker screenshot - this is backed by a new Homerun source that can of course also be placed on tabs in the screen-spanning Homerun interface. The same goes for "Power / Session"; having a combined listing of buttons many users mentally group together had been a popular user wish in the past.
The original Homerun interface is most often used as a fullscreen launcher, but thanks to the versatility of the Plasma Workspaces architecture can also be placed on the desktop background, where it is very useful in a tablet or hybrid laptop setting. Some users felt the Plasma Desktop Toolbox getting in their way in this usage mode. It's now hidden by default, but can be toggled on and off from the configuration menu.
There's also the usual collection of minor behavior improvements and bug fixes. One particularly nasty bug could lead to the wrong apps being launched when using the "All Installed Applications" source with a particular combination of sidebar filtering and a search query - that's fixed now.
Homerun Kicker is included here as a first version that lacks some of the greater power known from its big brother. In particular, there's no graphical way to change the list and ordering of Homerun sources in the menu yet (though there's one big knob to disable the integration of non-apps data into search results if you don't want it). This is one obvious avenue for future versions to explore.
Those future versions may already be powered by Plasma Next by then - porting to Plasma Next (and therefore Qt 5 and Qt Quick 2) is on the immediate todo as well. The Plasma 1 version will continue to be supported with improvements and fixes until that transition is complete, however.
Some of the work put into Homerun Kicker and the experience gathered with it may also benefit the Plasma Next effort down the road. First reactions from the development period and the users of distributions that have already included Homerun Kicker in their default configuration indicate there's definitely an audience for a traditional menu option that integrates nicely with workspace theming, unlike the classic launcher menu widget currently bundled with Plasma Desktop. Replacing that widget with a derivative of the work accomplished here is one option that's being discussed at the moment.
Welp, that's it! Go grab the tarball or poke your favorite distro for an updated package. After checking out the goods consider providing your feedback. There's a #kde-homerun IRC channel on freenode you can stop by, and of course bugs as well as wishes can be reported at KDE Bugzilla.
This looks amazing! :) - Can't wait to load it on my machine!
I have been using it for the last weeks and I definitely like it, I'm usually not much of a "start menu" person, but when I use it it works fast and as expected. :)
Reading about your mining several of different data sources I am wondering how it all intersects with / relates to Aaron Seigo's work on the KRunner replacement. Can you give some insights on that?
Homerun today uses its own brand of modules dubbed "Homerun sources" to generate the items shown in either interface. Most of the existing Homerun sources are bundled with the codebase, but there's also a public plugin API for third-parties to write and publish additional sources. One of the bundled sources uses the KRunner API exposed by Plasma's libraries to get KRunner results into Homerun; this is e.g. what powers the Bookmarks and Nepomuk Desktop Search columns in the screenshot.
The decision to create the Homerun sources framework instead of relying on KRunner directly was made before I took over Homerun's maintenance and further development, but reasons included KRunner being hard to use directly from Qt Quick (tech: QML expects Qt data models, KRunner by itself doesn't provide any) and Homerun sources directly supporting some use cases KRunner plugins don't, such as categorization, hierarchical results (think Homerun's folder browsing) and using the search query to filter away results rather than produce new ones.
One of the exciting aspects of Aaron's in-progress KRunner replacement, called Sprinter, is that several of the improvements it makes over KRunner's design look like they could align well with Homerun's requirements. Sprinter is meant to be easily used from QML, looks like it will provide better metadata for results, and hierarchy ought to map fairly well to Sprinter's concept of being able launch a new search using a previous result item as a starting point. And Sprinter certainly has much better result lifecycle management than Homerun's framework, plus Homerun isn't multi-threaded (outside of the KRunner source, that is).
In the meantime, due to the unclear timeline on Sprinter, Plasma is also looking to port KRunner, so that dependency looks like it will continue to be available to Homerun as well.
So, that's the landscape out there right now, as for how things will pan out ... the priority concern is providing Homerun users with an always regression-free, steadily-improving user experience. That calls for care when thinking about swapping out backends, but I think a nice end game would be a Homerun powered by Sprinter and Sprinter plugins (whether those would be exclusively bundled with Sprinter, or some bundled with Homerun, nobody knows yet), dropping Homerun's own source module format for that. An alternate scenario would be still doing away with Homerun sources, but basing things on an improved KRunner port instead. Or Homerun sources could be retained, but both KRunner and Sprinter wrapped in sources to get at what they have to offer.
As you can see there are no firm decisions in either direction yet, but to answer directly, Sprinter looks very attractive for Homerun and investigating in what capacity it might be used is definitely in my plans.
I prefer QML Aplikation
I prefer QML Aplikation Launcher, but this will be cool if this left icon bar can be visible like normal aplication bar (like AWN or Ubuntu bar on left) and have tihis K app menu on this bar. They can transform from bar to appmenu just like on this foto.
So far, user feedback seems
So far, user feedback seems to indicate there's a use case for a middle-ground between launchers on the panel (or docked apps, e.g. when using Icon Tasks) and the menu hierarchy.
The favorites are useful for apps that are launched regularly, but not frequently, as well as apps with brief running times. Examples include System Settings, or, if you are not using a dock-like task manager, an app you start only once per session.
On my screenshot, Konversation and Spotify are good examples of this, or even KSnapshot: Konversation is an app I'm mostly guaranteed to start at some point in a session, but only once. Spotify is an app I'm likely to start eventually, but it's long-running and docks in the tray - I don't need to launch it very often. KSnapshot I run quite frequently, but I don't want to dedicate panel space to it since it only runs very briefly each time.
Apps you start all the time (more "click on their launcher often" than "have running much of the time") and will run for some time are well-placed on the panel instead, and apps you start even more rarely are fine left in the menu hierarchy.
Can't wait until it lands in Fedora :-)
I poked the Fedora KDE people
I poked the Fedora KDE people after uploading the tarball on Monday (along with Kubuntu, etc.), so it's probably on the way :).
Homerun in general is really cool and flexible.
I like to use it as a Unity-like left side panel.
You already can with icon
You already can with icon only task manager, it support unity badges and progress bars.