Hey Folks, I'd like to start a discussion about bringing something like Windows 7 Jumplists to GNOME and other free desktops. I briefly spoke to Jon McCann and others in IRC about this, so I know that people on this list probably have a lot of great ideas that could help contribute to an eventual spec. I'm starting the discussion here to keep the initial noise level down. If we come up with something good, it would be great to propose it on desktop-devel-list and the appropriate freedesktop.org list.
The basic idea (heavily influenced by the existing Tomboy note menu and what I've seen of Windows 7 Jumplists) is that we give applications a way to specify: * User actions * Arbitrary named sets of items This information is communicated by the application to a daemon. The actions and item sets can then be exposed in the UI of gnome-shell, Docky, or a more traditional gnome2 taskbar, which get them from the daemon. With GNOME 3, applets are going away. In Ubuntu-land, there is work to get rid of the notification area to end the way it has been abused. And here I am, maintaining Tomboy, not wanting the lovely note menu to go away. But after seeing Windows 7 Jumplists, it now seems obvious that there's no reason other applications couldn't have their own equivalents of the Tomboy note menu. When exploring applications in gnome-shell, I should be able to do more than just launch. I should be able to perform common actions. In the case of Tomboy, I should be able to search my notes or create new ones. With a media player, I should be able to control playback. If I already have OO.o Writer open, as a user I'd rather click "New Document" instead of "New Instance". I know gnome-shell is already integrating recent docs and Zeitgeist, but in some cases it surely makes sense for an application to put a little more control over what document-type items appear. Being able to provide named categories of such items adds a few nice possibilities, too. Lastly, pinning notes is a popular feature of the Tomboy note menu, and I see that the Windows 7 guys have added that feature as well. Pinning is a really great way for a user to make document lists a little more deterministic. So we should support that, too. By keeping all of this info in a central daemon (with a nice dbus API, of course), we allow users to have access to it in gnome-shell, and in Docky, or whatever other application-management tools they might prefer. Also, there is the potential to cache the actions/items for each application, so that they can be available even when the app is not running. A user acclimated to clicking "play" could then do so regardless of whether or not their media player was running. Similarly, they could have access to the Tomboy note menu without even starting Tomboy. Jason Smith has added a dbus API to Docky, allowing items to be added. This annotated screenshot gives a good idea of what could be achieved for all applications if we had a common spec and API: http://armstrong-clan.net/dump/tomboy-docky.png Here's a screenshot of some work-in-progress from Stefan Cosma, a Tomboy contributor, adding Jumplist support for our users on Windows: http://bugzilla-attachments.gnome.org/attachment.cgi?id=146605 A bit of technical info about the feature on Windows 7 is available here: http://blogs.msdn.com/yochay/archive/2009/01/06/windows-7-taskbar-part-1-the-basics.aspx So, that's all I really have to say. Thanks for reading this. If people like it and think it's a good idea, there shouldn't be too much work to get something ready to propose. All we really need is: * A set of dbus interfaces for apps to specify their actions and items * A set of dbus interfaces for gnome-shell, Docky, etc, to use to get those actions and items * A daemon implementing those interfaces * Patches for gnome-shell, Docky, etc * Patches for a couple of obvious apps, like maybe Tomboy and Banshee So, what do you think? Sandy _______________________________________________ gnome-shell-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-shell-list
