<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>aaron.harnly.net &#187; mail-plugin-template</title>
	<atom:link href="http://harnly.net/category/software/mail-plugin-template/feed/" rel="self" type="application/rss+xml" />
	<link>http://harnly.net</link>
	<description>Sì, abbiamo un'anima. Ma è fatta di tanti piccoli robot.</description>
	<pubDate>Sat, 23 Aug 2008 04:59:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<item>
		<title>Mail Plugin Template 1.0</title>
		<link>http://harnly.net/2006/software/mail-plugin-template/mail-plugin-template-10/</link>
		<comments>http://harnly.net/2006/software/mail-plugin-template/mail-plugin-template-10/#comments</comments>
		<pubDate>Fri, 23 Jun 2006 22:47:29 +0000</pubDate>
		<dc:creator>aaronharnly</dc:creator>
		
		<category><![CDATA[mail-plugin-template]]></category>

		<guid isPermaLink="false">http://harnly.net/2006/blog/autobiography/mail-plugin-template-10/</guid>
		<description><![CDATA[Initial release of the template.



Changes


Initial release!


Writing Mail.app Plugins

To get started writing plugins for Mail.app, I suggest the following steps:


Fscript

Download the marvelous FScript, including FScriptAnywhere. 

Familiarize yourself with FScript (it&#8217;s like Smalltalk + ObjC + Python, or something), and use FScriptAnywhere to start browsing around the object hierarchy of Mail.app. Figure out what controllers or views [...]]]></description>
			<content:encoded><![CDATA[<p>Initial release of the template.</p>

<p><span id="more-52"></span></p>

<h2>Changes</h2>

<ul>
<li>Initial release!</li>
</ul>

<h2>Writing Mail.app Plugins</h2>

<p>To get started writing plugins for Mail.app, I suggest the following steps:</p>

<ol>
<li><p><strong>Fscript</strong></p>

<p>Download the marvelous FScript, including FScriptAnywhere. </p>

<p>Familiarize yourself with FScript (it&#8217;s like Smalltalk + ObjC + Python, or something), and use FScriptAnywhere to start browsing around the object hierarchy of Mail.app. Figure out what controllers or views you want to target.</p></li>
<li><p><strong>The Template</strong></p>

<p>Download this template here: </p>

<p><a href="/projects/mail-plugin-template/downloads/MailPlugin_1.0.zip">
<img src="/projects/images/filetypes/128/zip.png"></p>

<p>Mail Plugin 1.0
</a></p>

<p>and install into <em>~/Library/Application Support/Apple/Developer Tools/Project Templates/Bundle</em></p></li>
<li><p><strong>Code!</strong></p>

<p>Create a new project using the template.</p>

<p>Right away, the project should compile and create a double-clickable installer. Once installed, your plugin will log &#8220;Loaded FooPlugin bundle&#8221; to the system console (viewable with Console.app). Wahoo!</p>

<p>The main action takes place in the FooPluginBundle.m file, which is in the FooPlugin Classes > Controllers group. The basic idea is that you&#8217;ll pick a few Mail.app classes or method to override, with some combination of class posing, categories, and method swizzling or replacement. If you&#8217;re not familiar with these techniques, well, it&#8217;s about time you get so!</p>

<p>The complete classdumps of Mail.app and the Message.framework are included as text files. I&#8217;ve created cleaned-up header files few of the most common classes that you might want to link against or customize; but if you want more, you&#8217;ll have to dig through the text files and create your own .h files. Let me know if you think that should be different – my reasoning was that there&#8217;s no reason to clutter up the project with dozens of headers for Mail.app classes you aren&#8217;t customizing; but I could be persuaded otherwise.</p>

<p>I&#8217;ve included some convenient categories on NSObject to make swizzling and replacement straightforward. From there on, it&#8217;s up to you! </p></li>
</ol>

<p>Feel free to add your comments below. I&#8217;m not going to write your plugin for you, but I&#8217;d appreciate feedback on how the template can be made more useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://harnly.net/2006/software/mail-plugin-template/mail-plugin-template-10/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.434 seconds -->
