25 Jul 2006 22:24
Checking on some basic concepts...
Kenneth McDonald <kenneth.m.mcdonald <at> sbcglobal.net>
2006-07-25 20:24:14 GMT
2006-07-25 20:24:14 GMT
First, looks like Jed and I are coming from a similar place. Jed, are you interested on working together to try to get nsdom/pyxpcom compiled, and then figuring out how to actually use it? Previous posts and responses have let me to believe I should check my understanding of some basic concepts. Here are some things I _think_ I know (and don't know). If I'm wrong, please correct me. 1) pyxpcom is what allows Python to call xpcom components. nsdom, on the other hand, is what allows Python to manipulate the DOM directly (and is what I'm interested in--I only want to be able to manipulate the DOM and catch and process mouse and keyboard events from python.) nsdom requires pyxpcom, but makes pyxpcom invisible to the nsdom programmer. 2) nsdom presumably has a Pythonic version of the same API that JS uses to manipulate the DOM. nsdom is currently at a point where it is "pretty good" for actual use. 3) In order to build a version of FF with both pyxpcom and nsdom support, I need to download a current "trunk" release of Moz, do the mozconfig file thing adding whatever flags are needed to include pyxpcom/nsdom support into the build. The current trunk does not appear to be available as a tarball, according to the Moz site, so I'll need CVS to grab it. Can anyone direct me to a page giving CVS instructions for DLing Moz? Also, should I download the absolute most recent trunk, or is there a presumably more stable version I should DL instead? 4) Mark has provided a script that seems to aim at building pyxpcom/nsdom support against an already existing binary. But I don't know if it'll work against FF2, or if I need a build that already has pyxpcom built. My immediate goal pretty similar to Jed's. I just want to get a reasonably stable version of nsdom up and running against a reasonably stable version of FF, and then do Python stuff. (Actually, all I really need is the DOM+DOM display/rendering+event processing, but so far as I know, Gecko can't be built standalone and doesn't necessarily do anything other than layout.) My end goals are simply: - Learn and use nsdom for some stuff I want to try. - Write up how to use nsdom, for use by other people. - Probably write some Python libraries to add functionality to nsdom, again to be made public. I'll be building on OS X, and anything I learn, I'll post. Feel free to suggest the "best path" to my end goal of simply programming the DOM/DOM events in Python Trust me, if you beat me over the head enough with this stuff, it _will_ sink in. Ken