[Squeakland] quitting OLPC etoys

John M McIntosh johnmci at smalltalkconsulting.com
Thu Sep 27 09:08:35 PDT 2007


The Scratch application uses the same macintosh VM, however they use  
the macintosh menu package to customize the menu to clean up the quit  
menu item confusion.

Historically the "quit do not save" menu item was there to enable the  
Squeak developers to quit the macintosh VM without involving the  
Smalltalk code. This was handy when your
Squeak image had crashed. Today under os-x it's quit easy for a user  
to do a force quit via the Dock or Process list.   The "Quit Squeak  
VM" by default is disable because that triggers a quit application  
event which is not handled by the Smalltalk code unless you load and  
configure the macintosh menu package. I had sent that work to the  
3.10 team in January of this year for integration.

For EToys I could suggest.

(a) Customize the mac menus to set them up the way they should be and  
handle the quit menu item, as per the 3.10 team, or as Scratch has done.

(b) Customize the VM info.plist to set a close window control on the  
main window,  then use the ffenestri logic to see that a close window  
event for window "0" has happened.
	I'll note the current VM supports running without a window, also see  
the info.plist entry SqueakExplicitWindowOpenNeeded to setup the VM  
to use ffenestri logic to
	open the window via smalltalk coding, versus VM control.

(c) Lastly use the info.plist entry SqueakQuitOnQuitAppleEvent to  
terminate squeak if the operating system sents a quit application  
event (usually happens at logout time).


The last time item (b) and (c) would require a VM for Etoys. Option  
(a) would work with any VM created in the last few years.

On Sep 27, 2007, at 8:42 AM, Bert Freudenberg wrote:

>
> On Sep 27, 2007, at 9:34 , Randy Heiland wrote:
>
>> I honestly can't remember now what it was like w/ etoys "classic"  
>> on Windows, but for OLPC etoys on OSX, I'll just comment that it  
>> seems confusing that the "Quit Squeak VM" menu item is disable and  
>> one quits via File->"Quit do not save".  In spite of the fact that  
>> I know I've just saved/kept a current project, being told to "Quit  
>> do not save" strikes me as the wrong thing to say and would seem  
>> to really confuse a child.
>>
>> just an observation :)
>
> You're not supposed to use that menu option ;)
>
> But I agree, this has always been distracting. Now we actually do  
> support the window close request in the Etoys image. It works fine  
> on Linux, when you close the Etoys window it will ask if you want  
> to really quit and then you can say yes/no. We just have to find  
> out how to coerce the Mac VM to also issue that event when clicking  
> the window close box or choosing the quit menu item. Cc'ing John to  
> explain ...
>
> - Bert -
>
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===





More information about the Squeakland mailing list