Seed 0.8.5, now with organized docs!

2009.07.11 in code, gnome, and summer of code

Just this afternoon, I pushed Seed 0.8.5 and gnome-js-common 0.1.1 to GNOME FTP. Both of these are primarily maintenance releases; however, Seed sees two new bits of code: native modules to bind MPFR and gettext. The bindings for the former are still incomplete and experimental, but the latter has already found use in my gsoc-seed-games branch of GNOME Games. Many thanks to Matt Arsenault for the MPFR bindings.

The largest change in 0.8.5 is a massive reorganization of the documentation. I've recently been somewhat irritated at some other projects' poor documentation, and have always appreciated the care that Clutter and GLib/Gtk+ always seem to have taken with their reference manuals (all three of which I rely on daily). This reorg is the first step I'm trying to take towards having a good reference guide for Seed, too. I realize that there's still a lot of writing to do, but the framework is finally there in a way that I feel comfortable working within.

Between 0.8 (I realize it says 0.7, someone forgot to update the source) and 0.8.5, we went from this:

to this:

As you can see, that's a pretty significant jump in structure. I've also decided to jump on the one-manual bandwagon, unless anyone objects, so I'm going to be updating and moving the tutorial into the manual, as well as constructing a Seed+Clutter tutorial (probably a walk-through of constructing a draft of one of my games, unless someone has a better idea). In addition, the runtime documentation (which covers using the JavaScript side of Seed) will be merged in (and is in dire need of updating).

I realize that some of the right-hand side long descriptions are somewhat contrived, but it looks so empty if you leave one out!

After the jump, the 0.8.5 ChangeLog:

  • Significant reorganization and expansion of the reference documentation
  • New native modules:
    • gettext
    • MPFR (partially complete)
  • Same Seed has moved to the gsoc-seed-games branch of Gnome Games (and will eventually move to master)
  • Add seed-module.h, which includes a handful of macros to make writing modules slightly more attractive. Look at gettext or the reference docs for examples.
  • Prefix native modules with seed_ (, etc.); this fixes the need to incessantly 'make clean' seed and cuts down on ambiguity in naming.
  • Add 'seed_value_is_string', 'seed_value_is_number', and 'seed_value_is_object_of_class' to libseed
  • Update examples to latest (now frozen) Clutter API changes.
  • Fixes a bug with the importer search path which resulted in the search path being overwritten each time something was imported
  • The importer now also searches the directory in which the script being executed is located by default.

Comments (legacy)



Should be set! (hasn't appeared yet, but I assume it's all updated once a day or something...)


Should be put on, not personal (unsupported!) homedirectories.


bkor: That is indeed accurate :-) I'm fairly sure racarr had a reason for not uploading to library during the 0.7-ish release cycle (something about upload being broken or dreadfully slow or something), but if you point me towards instructions (I haven't found any), I'll push it up there now.



Btw, some time ago there was talk about porting gnome-shell over to seed. Is something like this still in the works? IMHO having a "official" gnome-shell release depending on gjs would be bad, we really don't want two js bindings in GNOME and seed seems to be soooo much better maintained!


Tom: I just emailed racarr, who was working on the Seed port of gnome-shell. I'm fairly confident it's in a nearly-working state, but I'll let you know when he gets back to me. I would really like to see a solution to the two-JS-bindings issue, eventually, but for now we'll coexist in a friendly manner :-)