We ran into some problems with introspection (in particular canberra, and maybe in the future direct access to low level C api for alarms on a suspended system, but also use of some new stuff like libgd and egglistbox without fiddling with g-i) and clocks is small enough that we felt a rewrite was easier than fiddling with mixing C modules and python.

A secondary goal of the rewrite is to give another iteration of cleanup to the code, making larger use of .ui files, of GLib functions (GDateTime etc), and of new widgets (libgd etc)

Note that we are not throwing away anything, prototyping the app in python has been great and much easier than dealing with a compiled language from the start

Why not JS

JS is now the "blessed" language, however it suffers from the same g-i problems of python. On the other hand I do not exclude a switch in the future as the platform gets fixed (notifications, better g-i. etc).


the work is available on http://git.gnome.org/browse/gnome-clocks/log/?h=wip/vala

Note that it is frequently rebased and requires freshly built dependencies (gtk, gweather etc)

To do

  • world
    • css for the standalone
    • css for the thumbs
    • port to eggflowbox
  • alarms
    • ringgin triggers more than it should
    • ringing standalone: remove/desensitize back? what should happen on stop?
    • improve edit mode: vertical spinbuttons, more space, better placing for the temporary switchbutton (will be removed when porting to flowbox)
    • long rings (now that we can use play_full)
    • css for the thumbs
    • port to eggflowbox
  • stopwatch
  • timer
  • general
    • check localization (e.g. day names etc)
    • save window size & state

    • decide where we want crossfading

Apps/Clocks/ValaRewrite (last edited 2013-08-08 15:22:07 by WilliamJonMcCann)