Haiku plugin for Claws Mail

I’ve been working on a plugin for Claws Mail that provides some level of integration with Haiku.
I’ve mainly done this for myself but it might be useful to others.
WARNING: it is extremely experimental and although it does not make any change to the remote mailbox, you know… I can’t be liable for any loss or damage whatsoever caused by the use of this plugin.
Having said that, let me tell you the features I’ve implemented:

  • A Deskbar replicant is automatically started when Claws starts (and it’s closed when Claws quits)
  • Number of unread messages shown in a badge in the replicant icon
  • Tooltip with unread and total messages (it shows on the replicant icon)
  • right clic on the very same icon summons a popup menu with a few choices
  • You can tell Claws to open a compose window if all its windows are hidden
  • You can Quit Claws from the replicant menu
  • New mail are notified via BNotifications(1), by clicking on them the relative email will be shown in the summary view
  • Claws can accept B_ARGV_RECEIVED messages, along with the previous feature it allows to double click an email (text/x-email) and open it in Claws(2)

A few notes:
(1) I have implemented a workaround strategy for some providers that don’t support the flag NEW (namely iCloud and maybe GMail, as well). Only emails received in the INBOX while Claws is running are notified. Emails received in other folders due to server-side rules are not notified at the moment.
(2) Claws creates a file for a specific email only when it is read and it does not add any sort of Haiku-specific attributes, let alone the mimetype. So this feature is quite limited but there is room for improvements.

If you want to take a look here’s the Github repo. To build it you need to have the Claws sources already patched by haikuporter and the plugin folder should be put in src/plugins. Not for the faint of heart.

In the repo there are pre-built files for you.
Please put haiku.so and Claws-Mail-Deskbar wherever you want, preferably in /boot/system/non-packaged/bin.
If you want to try and provide feedback or bug reports, please let me know.