This page serves as a cauldron where ideas for projects in DeskbarApplet can boil in and mature. If you have any ideas yourself, please add them to the list!

Currently the descriptions are a bit short - use your imagination and fill them out yourself!

If some specific project gather enough momentum it should create it's own subpage like DeskbarApplet/DotIndex.

MikkelKamstrup: There's actually a point to the deskbar.something naming - it makes stuff easier to talk about. Why not just use the WikiLikeNames then? - Short answer: I hate CamelCase. Moreover, look at a name like deskbar.bling it's totally hype! :-D

Beyond Brainstorming

A few measures we can take to get past this brainstorming.

  • If someone (preferably with commit rights - although that's not a must) steps up to the job, he/she notifies the rest of us, and is then considered anchor man

  • Add a few deadlines/milestones with preset dates... Fx. Brainstorm, Draft, Implementation, Test, Deploy

deskbar.index

Details: [DeskbarApplet/DotIndex]

Keywords
  • Memory footprint reduction
  • Start up time reduction
  • Integration with other searchable applications

Create a storage back end for deskbar. A searchable index if you like. This should be a convenience store for handlers doing small time indexing. The index backend should be easily replacable.

Possible backends:

Links:

Notes:

  • It is worth noting that beagle was started for almost this exact reason, as an indexing backend to dashboard, as a result, it is built almost exactly for this purpose, and it has been designed for the pluggable nature that something like this would require. A little known feature about beagle it that it possesses 'Query Domains' such that deskbar could create its own backend within the beagle infrastructure, and query only the specified domain. Just a note, ask about this integration on the dashboard-hackers e-mail list, and you will get plenty of information ;) --KevinKubasik

  • Python 2.5 contains the sqlite3 module by default. A backend based on that may be a cool thing.

deskbar.core

Details: DeskbarApplet/DotCore

Keywords
  • Completely separate deskbar core from applet functionality
  • Applet functionality in a class DeskbarApplet subclassing DeskbarUI

  • DeskbarCore class without notions of applets, UI is very abstract, a console ui should also be possible

Notes: Instead of each app using deskbar having its own instance of a DeskbarCore, the deskbar core could be a singleton exposing a dbus api.

deskbar.plug

Details: DeskbarApplet/DotPlug

Keywords
  • Other apps can integrate deskbar-like features

This depends on the deskbar.core goal. Apps can integrate deskbar instantiating a deskbar core, telling it what handlers to use (possibly app specific), and what ui to use (non applet clause is important here). A view based on gtk.IconView could be useful here.

deskbar.bling

Details: DeskbarApplet/DotBling

Keywords
  • gtk 2.10 is compositor aware

  • translucency
  • shaped windows
  • animated windows? Imagine results "unrolling" the window...

Small sample pygtk script using composition here, snatched from a blog entry by Mike Hearn. MacSlow also has an interesting blog entry with some fancy windowing effects, it's implemented in C#, but should be easily portable. There is also an example for dynamically shaped windows available.

deskbar.profiling

Details: DeskbarApplet/DotProfiling

Keywords
  • A profiling framework to detect perfomance regressions

Python 2.5 contains a new profiling toolkit from GSoC. Maybe worth a look?

deskbar.test

Details: DeskbarApplet/DotTest

Keywords
  • Unit testing framework

deskbar.usability

Details: DeskbarApplet/DotUsability

Keywords
  • Is deskbar usable?

  • Force non-tech friend through a few predefined tasks and see how they fare

deskbar.newstuff

Details: DeskbarApplet/PluginManager

Keywords
  • Implement the famous NewStuffManager

  • Central repo to get new cool handlers directly from the deskbar prefs
  • Update handlers not supported by distros
  • Add Drag & Drop feature to easily install handlers (like GNOME's theme manager)

There's a lengthy discussion behind the details link.

deskbar.ui

Details: DeskbarApplet/DotUI

Keywords
  • General ui tweaks and
  • Allow to "bookmark" results with a keyboard combination

deskbar.superapplet

Details: DeskbarApplet/DotSuperApplet

Keywords
  • Deskbar should be the only applet in the panel

We could replicate the functionality of any reasonable applet. The clock applet for instance if we create a handler giving a hit on "time" or "date" showing system time. Maybe a unified "System Info" handler could contain this functionality. Among other replacements we already have the window-switcher handler.

deskbar.popup

Details: DeskbarApplet/DotPopup

Keywords
  • Alt-F2 run dialog replacement
  • look in deskbar/ui/window the code is almost ready

We had to scrap popup mode in the last part of the 2.16 cycle. The ui needs some polish, but is mostly done. The biggest problem is that a menu item cannot show the ui - without loading the entire applet that is. Deskbar needs a remote control to be activated by outside events. Did anyone say dbus? Furthermore we have some problems focusing the window without a proper gtk event. The current code also has trouble focusing the ui when the keyboard trigger is fired.

deskbar.opensearch

Details: DeskbarApplet/DotOpenSearch

Keywords
  • New handler capable of querying opensearch interfaces
  • Handler dialog with a handful preset togglable opensearch interfaces
  • Handler config to allow entering new interface urls

This will allow live queries to be performed on a wide range of search engines - there are 447 registered feeds here, they include pubmed, newyork times, wikipedia, flickr, imdb, just to name a few high rolers.

Resources:

deskbar.deskbug

Details: DeskbarApplet/DotDeskBug

Keywords
  • New handler capable of evaluating expressions on the deskbar internals

Typing %% deskbar.ui.get_entry().select_region(0,1) would select the first character in the entry (%% is just some random escape char). The possibility to evaluate an expression and get the output in a Zenity dialog should also be available. Fx ## len(deskbar.module_list) would open a window showing the number of availble modules.

This functionality will likely require some restructuring of the deskbar code. Also I don't know if it will be useful anyway... But a cool feature nonetheless :-D

deskbar.prefsep

Details: DeskbarApplet/DotPrefSep

Keywords
  • Split pref dialog into a separate app
  • Save memory, by not having the entire pref dialog in memory all the time

MikkelKamstrup: I've looked through the module handling code in DeskbarApplet.py an this appears to be easy. As far as I can see the main part that needs to be done is to load handlers into a ModuleList and checking their status via gconf. The code is actually already there, it just needs some refactoring.

  • MikkelKamstrup: There was done a little testing on this goal and it seemed to only save a tiny bit of memory so it's probably not worth the trouble. It might require some more testing to completely rule it out.

deskbar.bugshield

Details: DeskbarApplet/DotBugShield

Keywords
  • Clearly mark exceptions when they occur in third party handlers so we are not flooded by bugs from those
  • More aggressive try/catching. Log errors instead.
  • Any old exception appears as a "Crasher", when they often doesn't cause any real problem

Singling out exceptions from 3rd party handlers will require a bit of framework in deskbar, but should not be a massive task. On each release we could just generate a list of shipped handlers and check against that at some proper places...

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