On Jan 2, 2005, at 2:13 AM, Dethe Elza wrote:
Second, what applications can be extended with plugins? I realize a complete list is unfeasible, but which Apple applications would be a good start. As far as I can tell, Safari requires Netscape-style plugins to extend it, is that wrong?
Any application that expects its plugins to be written in Objective-C is fair game, anything else (such as Safari's Netscape-style plugins) is unsupported and probably won't work.
This is also what I expect, but how do I know which applications expect plugins at all? Can I write a plugin for Mail.app? For iCal? What are the rules? If this is in the FAQ somewhere, I haven't seen it, but feel free to tell me to RTFM if it is.
You'll have to RTFM on a per-application basis. This doesn't have much to do with PyObjC. As far as I know, Mail will take plugins if you set a certain plist key, and iCal will not. Certain kinds of plugins will get loaded into ANY Carbon or Cocoa application, but I definitely don't think you should do this with a py2app-built plugin because it will probably break applications that use their own copy of Python... so I'm not going to say any more about that.
I'm also curious how pyject works with this (if its related at all). Can you give an example of how pyject would be used?
pyject <http://svn.red-bean.com/bob/pyject/trunk/> works with this by starting a new thread in an arbitrary pid that loads some plugin using mach_inject. The intended use is to load a py2app-built plugin, which will run whatever module level code is in your main script. I wouldn't recommend it for production use, but it could be used for a lot of interesting things from a software developer's perspective. Again, it's mostly only useful if your application is Objective-C, since there isn't too much you can do with Python in a Carbon application that doesn't expect it (without some deep hacking, anyway). Carbon and Cocoa can play nicely together, so you could do something like load a PyInterpreter into iTunes with a UI that works, but you'd have to be really ambitious to make it actually cause iTunes to do anything differently.
-bob
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig