TODO list
=========
('-' means open issue; "#" partly completed; '*' means completed)


* i18n
  Every sensor must be able to bring its own locale files.

* layout anchors
  The hotspot for placing widgets has to be changable (N, W, S, E, NW, NE,
  SW, SE). This might require hacking TargetGroup and TargetArray only,
  if we're lucky.

- other config backends than GConf (really?)
  Although gDesklets should be a native GNOME application, it should not be
  limited to GNOME.

- migration of gDeskCal to gDesklets
  Ideally, we can reuse the iCalendar stuff and only replace the calendar
  display itself with gDesklets. A standalone version of gDeskCal could use a
  slick runtime version of gDesklets. Not every gDeskCal user needs the power
  of gDesklets.

* fix memory leaks (seems OK; nothing to fix)
  How good is the garbage collection of Python really? We have lots of cyclic
  references.

# implement Bonobo target
  A Bonobo target can embed Bonobo components such as panel applets. That would
  be great.

* better interaction with window manager
  Obey the standards of freedesktop.org.

* make the installer work
  The installer should handle system-wide and user-only installations.

- gnome-session integration
  Does anybody know how this is done properly?

* use GNOME-VFS for accessing displays
  This would make it possible to have remote displays or displays in archives.

- use FAM for the FileWatcher
  The FileWatcher should use the File Alteration Monitor where available.

- get rid of FutureWarnings
  Python 2.3 raises some FutureWarnings.

- make 'watch' property more flexible
  E.g. allow things like watch="'Temp:'sys:temp' C'".

- implement interaction between sensors
  This would allow a sensor to use other sensors to get the work done.

- implement grouping of displays
  This would allow to move a cluster of displays when the user moves one
  display in the cluster.

- Font/gauge/plotter color should watch background color

* Improve performance/reduce memory consumption by caching values and using
  Singleton patterns.

* use C code for retrieving system information in libdesklets
  Maybe use libgtop.

* window shapes
  Window shapes provide a simple way for simple transparency by cutting holes
  into a window.
