"David L. Caster" wrote:
Stephan,
<snipped>
Anyway, I'll trim the archive down to the really useful stuff over the next day or two. If you have something specific that you need, let me know now because I can't promise to have a lot of attention to pay to this after
the
end of the week.
David L. Caster
It's difficult for me to say what I'm interested in,
because I haven't
seen your stuff...
The motivation to look onto it has come from the -
currently vague idea
- to switch Morphic (and possibly MVC) from polling to
real events. And
your work seems to go into this direction, isn't it?
Yes, that is correct. In fact, getting Squeak to the point where it could actually sleep (if there was nothing else to do) pending an OS event was one of the original goals prompted by the long standing need to get Squeak off of polling the platform. There is more to this than meets the eye obviously, but yes, you are correct.
Anyway, I'll work at making the stuff a little cleaner (more compact) as I am able.
Could you send a post to the Squeak ML, if you are finished? Then I would like to take a look at it ;-)
If you are a VM guy,
Yes.
take a look at squeak27/vm/src/sqExternalMessage to get a feel for the hoops one has to jump through just to insure a modicum of confidence in proper synchronization between an external thread and the VM.
Here platform compatibility is an issue. Did you keep this in mind?
You then might want to take a look at (Squeak image) xmdclinux.image, and in particular the category External Events (which BTW is right in front of you when you start the image!)
C'
Currently I have the idea to look for the Morphic part of improving event handling: - simulating real events and - trying to be compatible with the existing stuff; by writing an EventSensor class, which - uses the current polling mechanism and - buffers simulated events to reach compatibility with polling mouse statii in Controller classes.
I hope to solve the mouse 'event' eating problem with this approach without the must to have real events (what would be better, of course). Possibly it could help to have a co-existence of polling and event based VM's at different platforms for some intermediate time.
This is a first approach (I'm not an event specialist so far), which comes from top - the GUI - and should meet down - VM - at a defined point.
What do you think about?
Greetings,
Stephan
squeak-dev@lists.squeakfoundation.org