Tested the OLPC-Games group's PyGame wrapper on the developer's image. It works nicely on the emulated machine. Looking over the code, they are basically using an SDL feature that lets SDL take over a GTK (or whatever) window in order to integrate into the Sugar desktop.
That is, the application has to have the GTK event loop (GObject event loop) running in there. IIRC the startup time for PyGTK is pretty bad, but it works :) . I spent a while trying to write a minimal non-Hippo, non-GTK, just-PyGame version... but AFAICT you need either the GObject or the Qt event loops running to use python-dbus? That's weird. That would seem to make a raw X application rather difficult. I'm hoping I'm just missing something in there that lets you iterate the dbus communications manually.
Also realised that there are really two dbus services required for each activity, one for the factory, which just provides the "create" method, and one for the introspection API for the individual instance. In Sugar's activities those all run within the same process (all of a given activity's instances share the same process with the factory just starting new window for each instance). Want to see if the multiple-root-window thing works for SDL applications that aren't using a GTK host... if it turns out we don't need the GTK mainloop, that is.
Sat down late this evening and just pounded out some docstrings. Overall docs for the activity package and some for the ClipboardService client object. We still need a heck of a lot of documentation effort.
Another new developer this afternoon (4 yesterday)! Yay! We are so going to make this the best computing platform in the universe... we've just got such awesomely inspiring cuteness on our side.
We're going to do OLPC Toronto Developer's get-togethers. Plan is for this upcoming Thursday for the first one. We'll do introductions, problem-solving, and if we can get time I'd love to get a Sugar-docstring-writing sprint to happen. We've got at least 3 BTest2's, one BTest1 and an ATest board in-town as well, would be nice to test out the networking and try people's activities on the real machines.
Work on the client code didn't go that well. Fixed a few things then realised that some code cruft really needed to be cleaned out, spent a few hours on that... no gentle drift of falling tickets :( .
Pingbacks are closed.