[Vm-dev] Best and latest VMs for Open Cobalt release?

John M McIntosh johnmci at smalltalkconsulting.com
Sat Feb 14 21:19:09 UTC 2009

On 14-Feb-09, at 12:31 PM, ed.boyce at duke.edu wrote:

>  We will be changing the VM's application's name and registration to
> Cobalt.app with a new Cobalt specific application registration that  
> we obtained
> from Apple.  This is seemly necessary because we generated new .icns  
> files, but
> the system didn't seem to want to recognize them, clinging to the  
> Squeak
> filetype associations.

Adding a new file type association is fraught with fun...
After fiddling with the logic you need to finder duplicate the  
application and see if the finder notices the world has changed,
pay close attention to the version number of the info.plist it  
dictates who is most current and has precedence over older versions.

> In searching through the MacOS specific source files,
> we found a couple of places where we need to swap out the Squeak  
> application ID
> for Cobalt's.  But if you had a comprehensive list of code locations  
> where this
> change is necessary, that would be a great help.  Are we correct in  
> our
> conclusion that there's no way to change the app registration short  
> of doing a
> rebuild?

I don't believe you need to change the C source to work around this  

'FAST' I think is only used for

(a) CreateMouseTrackingRegion  which is a region id identifier for  
mouse tracking so we know when to change the mouse cursor when it  
leaves the squeak window, it can be anything, so you need not change it.

(b)  at image save time we set the file to stim and FAST, but you can  
in smalltalk use the setMacFileTypeAndCreator to set the image file to  
whatever, so
you don't need to change the snapshot primitive. & writeImageFile  
primitive (Oops I see we do it twice, oh well a bug).  To override  
this just set the
mac file type and creator in the Smalltalk code after doing the  

Note when we open an existing file for read/write and the file type is  
BINA or ???? or null we set the type and creator to "TEXT","R*ch"
which is the signature for BBEdit.   This too can be overridden in  

>> Icon files, which do you need, or do you have replacements?
> We've made Cobalt replacements for all of these. Besides changing  
> the filename
> references in info.plist and changing the app registration, do you  
> know of other
> steps that will be necessary?

Look at the UTI info.plist requirements.

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

More information about the Vm-dev mailing list