Design Notes on Deskbar

If we ever are to reimplement/port deskbar in/to another lanuage (C, D, Vala, <favorite language>) this is a list of important things to keep in mind.

Design Flaws in 2.* Series

  • Handler Checking not Async : At startup we check whether or not each handler qualifies to even show up in the list of available handlers (fx. don't show beagle-live unless beagle is installed). This is done synchronously. Some handlers might want to contact a web- or dbus service, or other that might hang, this necessitates an async validation mechanism for handlers.

  • Hits Not Updatable : Some handlers might be able to obtain a hit title very quickly but has the ability to retrieve additional hit metadata with a slower operation. The prime example here is Beagle or Tracker fetching snippets. Right now it is impossible to update the hits once they have been dispatched, leaving handlers to choose between fast-and-bare-bones or slow-and-cool.

  • No autocompletion : A gripe I've heard a few times is that when typing in directory/file names it is not possible to tab-autocomplete (like in a terminal). This is especially annoying if you want to go to fx ~/Projects/deskbar-applet/deskbar/handlers/. People want to type ~/Pr<tab>de<tab>de<tab>h<tab> which would expand to the desired in a terminal. The problem is that there is no clean way to do completion suggestions in the current design.

  • Can't bind special keys: Most modern keyboards have some special keys to quickly access a web browser, e-mail client, music player, etc. Deskbar doesn't support binding such keys. This is mainly caused by Tomboy keybinder.

  • Can't edit history items: Currently, it's only possible to parse history (pressing up arrow). Trying to edit such items clears the entry (see: bug #362044).

  • Show thumbnails: It should be possible to attach a thumbnail to a search result. This would be very handy if you search for videos or pictures.

  • Actions for handlers: This idea is inspired by Quicksilver. When selecting a search result you should be able choose from different actions to perform. E.g. if you select a text file you may want to open it in gedit, copy/move it to another location or e-mail it to a friend.

Attic/DeskbarApplet/Design (last edited 2013-11-20 07:46:34 by WilliamJonMcCann)