Todd, Many thanks for working on this!!! I suppose I qualify as a Linux person. Certainly I have interest in having it work well, and I'm completely sick of Microsoft. I know what you mean about there having to be a better way to do things. Just saving all of my packages for loading into a new image leaves me wondering why nothing else has been done, or perhaps just what I am missing. Agreed about Pinesoft's work on Polymorph; it's stunning. I am glad to hear that you have gotten far enough along to be able to report a speed boost. I do not necessarily assume that native is faster; emulated widgets have their use too, especially in very large numbers. So Polymorph might live on in grids for things like spreasheets where a native widget per cell might not scale terribly well. I have some ideas (not necessarily good ones) on how code should get from one image to another; I have little to no idea how to do that with MC though. On Dolphin, I built a tool called Migrate that tries to soften the blow, and would be happy to contribute any parts of it that would be of value. The basic features are to scan packages for a suitable load order[*] and to write a script for loading them into a new image. Of course, Dolphin packages understand dependencies, which is very helpful. I also defined a concept of safe and dangerous selectors, e.g. #safe, #dangerous, which could be referenced from any method, and Migrate would file them out and (conditionaly) into the new image. That allowed me to preserve fixes that I made to the base system, and warned me before applying the fixes to a new version. Seaside 2.9 defines a class called WADevelopment that helps with saving packages. [*] Dolphin's package system is quite good, and improved over the years to the point that load order was almost a non-concern, right about the time I started getting it right, maybe. Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Eagle Offshore Sent: Monday, August 17, 2009 4:17 PM To: Pharo-project@lists.gforge.inria.fr Subject: [Pharo-project] Native Windows I spent the weekend trying to get Ffenestri working in Pharo. It was astonishingly painful, not the least of which because they are stored as half a dozen monticello archives and the MC tool merge tool requires you to address each conflict individually and the main change is that at lot of morphic methods now have comments and _ has been replaced with :=. There must be a better way. Also, the files have a lot of patches to Delay and Process and really scary stuff like that and I was under the impression that those things had been reworked since and I didn't want to introduce any sort of regression so I didn't load them and focused on just making the plugin interface work and patching the event delivery code to deliver window events to the host windows (things like activate, iconize, close...). Debugging would be made a lot easier if I could identify a hook that would let me close the native window with the debugger launches, then reopen it when it proceeds - but I haven't a clue how that code works. Anyhow, I have a native window that opens with a sketch morph in it and it does pretty much what I expect. Because of the OS doing window image caching and its own damage repair from an offscreen buffer - it feels wicked fast and responsive compared to our emulated windows. I would like to push on this and bid farewell to our MDI-like interface of windows within a window and finally switch to native windows with a top level morph in each. I have some very mixed feelings about this as the window theming work that has been done is really top notch. Absolutely wonderful - and yet I'd like to throw it all away and go with the OS windows because they're about a zillion times faster and more responsive (my wicked fast 2GHZ Macbook Pro has about a half second delay to drag a window - seriously - why?). It works OK on the Mac OS X. I'd like to find a windows and linux person who would also like to work on this. I have no idea if it works on other platforms. I also have no idea how I'm going to extract my changes and ship them. I've had to hack HandMorph>>processEvents and lord knows what else in the quest to make this fly. I suppose I could file out a change set? Anyhow - it sort-of works except I think I've exposed a bug in event coordinate translation and I don't understand mouseFocus and keyboardFocus - how is that suppose to work? Or does it anymore? Perhaps the folks who worked on recent event tweaks could enlighten me? -Todd Blanchard _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project