Seed is a library and interpreter, dynamically bridging (through GObjectIntrospection) the WebKit JavaScriptCore engine, with the GNOME platform. (from the linked web page).
I've put together a hostenv + other wrappers for core functions like XHR (using libsoup) and dojo.connect on GObjects (using something similar to dojo._base.event). There are still a couple of things to do, namely figure out how setTimeout and clearTimeout should work with regards to using a GObject.MainLoop (since JavaScriptCore doesn't implement these two functions, it will have to be done using GObject). dojo.connect should also be using GObject.signal_lookup to lookup signals rather than discovering them in seed/signals.js.
To load dojo into a Seed project, you would set up a directory structure like this:
root
- dojotoolkit
-- dojo
- main.js
In main.js, you would put the following:
#!/usr/bin/env seed
Gtk = imports.gi.Gtk;
Gtk.init(Seed.argv);
Seed.include('dojotoolkit/dojo/dojo.js');
dojo.xhrGet({
url: 'http://www.google.com'
}).addBoth(function(res){
console.log(res);
Gtk.main_quit();
});
Gtk.main();
I think I can safely say we won’t be doing this.