[mac-lisp-ide] Re: ideas and issues

mikel evins mikel at evins.net
Sun Feb 1 16:58:00 UTC 2004


On Feb 1, 2004, at 6:58 AM, Duncan Rose wrote:

[snip]

> The above may be generally true (or maybe not), but I've now taken 
> this code out of my back end and its behaviour is unchanged. So I now 
> *do not* think that run loops or threading is an issue for Cocoa GUIs.
>
> The general structure of the back end I'm working on as it stands is 
> as follows:
>
>   1. Click on the natty bundle icon (making use of the Bosco bundle 
> from Mikel)
>   2. the application delegate does a 
> (clim-listener:run-listener-process) in the 
> application-did-finish-launching, running CLIM as a separate process
>   3. All the CLIM infrastructure gubbins gets started, including 
> running the CLIM event loop in yet another thread
>
> When the NSApplication receives events, it distributes them to the 
> NSWindow and NSView subclasses I defined in my McCLIM back end. I 
> think that these calls are made in a different thread again, but I 
> could be wrong. However, I can only assume that even though the window 
> instances are created in a different thread to the main thread, they 
> are still added to the main thread's responder chain.
>
> So at the moment, all I can say is: I don't understand quite what's 
> going on or why, but things seem to be working.
>

This seems like a pretty good start.

I have a Cocoa system definition that snaps into the McCLIM build 
system. You can load and build the McCLIM system in the normal way, and 
also build and load the Cocoa back end. If you do that, a McCLIM.app 
gets built in the same way that Bosco.app gets built. You can launch 
McCLIM.app and it starts up with a proper name and Dock icon. The app's 
runtime loads no nibs; it just sets up the bare minimum Cocoa 
event-processing environment (because it seems to me that nibfiles are 
not really congruent with the CLIM way of building interfaces). You can 
also load and run the CLIM listener--but then things break because the 
concrete classes that realize CLIM sheets and frames are not working.

It seems like we have sort of two ends of the thing pretty well 
started; now might be a good time to combine them and check in to the 
McCLIM project so other people can contribute.

It also seems like we're not that far from having a good start on a 
CLIM-based IDE if we can get the Listener and Goatee up and limping.

I posted separately that I've packaged a 0.1 release of Clotho. Seems 
like that's two places to start. I don't see any reason we can't pursue 
both (and others as well) until it becomes clear that either one is a 
better idea than the other, or that each has its own use.





More information about the Mac-lisp-ide mailing list