New event system is in CVS.
That is all.
New event system is in CVS.
That is all.
Another good NW idea that I don't have time to implement: I was thinking about animations (and how NW really doesn't do them well, or at all), and it occurred to me that each component should be allowed to attach "behaviour" objects to itself.
In a similar fashion to what I'm mulling over doing with keystroke dispatching, I think that running a "thread" that calls the behaviour of each "activated" component might be a good way to effect complex animations with a minimum of fuss and a maximum amount of extensibility. This way, if you don't need an effect (or behaviour), you don't have to include it.
Today I came to realize the difference between 22 and 18. And it's not 4 years, it's the innocence I've lost in those 4 years.
I know it sounds stupid, but I feel somehow less me than I was 4 years ago. God, it seems like an age. The gulf of my years adrift in the same place divides the me now from the me then, and the distance traveled is what separates us. I haven't gone very far (geographically), but I've gone a long way. When I was 18 I had no clue how ignorant I was, and somehow it got me through until life (not so subtly) informed me otherwise. I keep thinking about my "promise", you know, that set of things you think you can do when you are just graduated from HS. You think you can break through walls, you think you can do anything, and the worst part of it is that you're right; and you know it. But what you don't know when you're 18 is that there's a price. You don't quite comprehend (no matter how often you're told) that life has a way of extracting a price and leaving you with less of that enthusiasm than you started.
Somehow I'm still the meandering, unfocused me I was 4 years ago, but somehow I'm not. I still have a motivation "problem" when it comes to school, I'm still kind of a prick, and some good people still seem to call themselves my friends (which I don't understand, really). I'm still not socially adept. I'm not a "people person", unless they are "my" people. I guess the thing that got me thinking about all of this was my realization that part of becoming a craftsman involves seeing deeper into a process (or feeling a need to) or project than I did before. It gives me something in caution that I didn't have before. It keeps me from making expensive mistakes. But sometimes I think that it's not always for the better.
I wish I still had the time to make expensive mistakes and not know it.
The single most annoying thing about Python is that I expect it to be harder. I know that's totally strange, but I've been conditioned by years of programming other languages to expect to need a man page (or an O'Rielly book) to be able to pick up something new. To understand the API, I've come to expect JavaDoc-type verbose documents that explain every argument in the slightest detail.
But Python makes a good portion of that useless. It meets me where I am and uses what I know in ways that I'm comfortable with. It's the perfect language, the one I've wanted forever, and now that I have it, I don't know what to do with it. I get caught up in trying to find this reference or that book to make sure I'm doing things right. I get hamstrung by the very training that has helped me survive so many other languages.
This is totally maddening. It shouldn't be this easy.
The event handler problem is (more or less) solved.
Instead of the hacked up solutions I was proposing below, I've come up with a (possibly) better hacked up solution. What I'm proposing is that NW should define all event handlers needed to run the environment page for the page writer. No fuss, no ungodly long <body> tags.
But, of course, there's a problem. In IE, when I set an event handler programatically, I'm doing just that, setting it. Not appending to a set of handling functions, no, I'm just setting it. Mozilla's
addEventListener function is much nicer, and can work in conjunction with inline definitions on tags, but alas I'm looking for a cross-browser solution here that doesn't suck, and coming up short.
Worst case (for now), we might have to dictate that page writers set handlers on the body function only through methods we define, and never directly on the tags themselves. It's onerous, and I'm not convinced that it's better in the short run, but I think it might be a good thing moving forward.
Time will tell.