<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello All !<br><br>I'm currently writing this email to introduce the new mono addin I was developing during the week-end.<br><br>This addin was written as learning the MonoMac API, which means it's dedicated to the Mac platform. I choose MacHint as name .<br>The goal ? Trying to introduce new features dedicated to the Mac !<br><br>So first point, I'm discovering development on Mac platform and MonoDevelop at the same time since i used to develop under Windows with VS ...<br><br>Today, there is only two features which was introduce due to my own need &nbsp;:<br>-------<br>* Usage of Growl :&nbsp;<br>a notification is send to Growl to inform you that a build is finished with the error information - it can be deactivate, fully activated or only when MonoDevelop doesn't have the focus, with a minimum time.<br>under this minimum time, the notification is not send, since you should be still in front of your application &nbsp;;)<br>by not having the focus, it means &nbsp;if you're launching a build , go to your web browser or mail client doing any activities, in this case the notification is sent. If you're still on MonoDevelop, the notification is not sent.<br><br>* Automatic saving of Interface Builder document.<br>When i started to develop with MonoMac, the first problem I have was to manually save the Interface Builder document before launching the build, which i often forget to do!&nbsp;<br>I've introduced this new feature which save ALL documents opened in the Interface Builder whereas they belong OR NOT to the current solution.<br><br><br>Some implementation details :<br>-----<br>* the growl binary is provided with the addins thus you don't need to install growl. It was against the path taken by the tutorial on&nbsp;<a href="http://cocoa-mono.org/">cocoa-mono.org</a>&nbsp;but I think it was useful.<br>* since it's an addon, growl cannot get information from the Application bundle. There is a SimpleGrowlNotifier class which take a enum as template parameter with application name/id and icon.<br>All those information are used to dynamically build the growl information.<br>Don't forget to configure growl to play a sound with this notification !<br><br>* saving document is done by AppleScript. I've discovered and do my first AppleScript for this usage. And at the same start I've done a very basic binding for the NSAppleScript object.<br>There is a bug in my binding, if the script running an error, it will crashed. This is due of my NSAppleScript binding, I didn't find how to bind a pointer of pointer of NSDictionary - means ref NSDictionary in C# ?<br><br><br>Some remarks :<br>-----<br>* Since the monomac dll is delivered with the addin, What happens if two addins use two differents monomac (or the same) dll ? Are they shared ? Should it be installed in the GAC ?<br>* There is a NSApplication.Init call also in my addin. How is it working with the NSApplication from the Mac platform ? Is there any conflict ?<br>I'm thinking it's linked but I was not able to use the shared NSWorkspace or the shared NSPasteBoard, MonoDevelop seems to wait indefinitely.<br><br><br>How to install it :<br>-----<br>* Grab the binary from GitHub :&nbsp;<a href="https://github.com/fforjan/MonoDevelop.MacHint">https://github.com/fforjan/MonoDevelop.MacHint</a>, download version 0.2, untar it into your .config/MonoDevelop/addins directory<br>Yes It seems the mdtool should be use for this binary distribution, i planned to spend more time on it for the next versions, mainly for the hosting point.<br>* You can also get the source code from GitHub and have a look !<br><br><br>Open points:<br>-----<br><br>I've mainly starting development on this platform - MonoDevelop, mono and mac ! so i'm happy to any feedback, positive or not.<br>One of my question is, Is it a supported architecture ? Writting a plugin to an existing application to provide feature to the mac platform using monomac ?<br>Do you think it's useful ? Do you have any feedback on the feature, on the implementation ? Or any idea for new features ?&nbsp;<br>I was thinking to be able to use the service menu like to send the currently selected text in email or the currently selected solution item as a mail with attachments, use the dock icon to display number of error from the last build.<br>Also using growl for the unit test result.<br><br><br>Thanks all !<br><br>Regards,<br>Frederic</body></html>