Growl On Your Phone
Choose which type of development you are looking to do:
- Integrate your application with Growl -or- build a plug-in for an existing application
- Create a custom display for Growl
- Create a custom forwarder plugin Growl
- Create a custom subscriber plugin Growl
- Create a Growl connector library for your favorite programming language
For application developers, integrating with Growl is easy. Growl libraries exist for many popular programming languages, including:
- C#/VB.NET or any .NET compatible language
- growlnotify command line tool
- ActionScript (AS3) for Adobe AIR and Flash
- Growl::GNTP Perl module
- SQL-Growl Connector
- Ruby libraries: ruby_gntp or groem
- Java libraries: jgntp or libgrowl
- PHP GNTP library
- GrowlMonkey (Greasemonkey library)
- Python GNTP library
- Powershell Module
- haxe library (Neko/C++/Flash9+)
- Pharo/Squeak Smalltalk
- C++ GNTP library
- COM Component (C++, VB, VBScript, JScript, etc)
- AutoIt UDF
(If your favorite programming language is not listed here, fear not. Growl is based on the open GNTP protocol so adding support for new languages is not hard.)
Complete instructions and sample code are available with each library. If you would like a general overview of how Growl integration works, check out the Growl Integration Guide.
If you are developing a plug-in for an existing application, the process is essentially the same but you must use the existing program's plug-in architecture or another means to trigger the notifications.
For information on how to include Growl for Windows when distributing your application, check out the Distribution Guide.
Along with the built-in displays that come with Growl, Growl also supports adding additional custom displays. Custom displays can be visual, or they can perform non-visual actions such as posting to Twitter or launching a script.
Custom displays are implemented as .NET class libraries that get loaded dynamically at runtime. Download the Growl Display SDK for full details and sample code.
Out of the box, Growl can forward notifications to other computers running Growl, to an email address, to your iPhone (via Prowl), and even post to Twitter. But what if you want to forward notifications to other apps or services that are not already built in to GfW? GfW v2.0.2 and later now supports custom plugins for defining your own forwarding logic.
Check out the Webhook Forwarder plugin for an example of how to enable GfW to forward notifications to other destinations. Other examples of possible forwarder plugins that could be created include:
- Web App APIs
- Custom log file
- Legacy systems
- IRC/Jabber bot
- Windows Media Center
Custom forwarders are implemented as .NET class libraries that get loaded dynamically at runtime. Download the Growl Forwarder SDK for full details and sample code.
Growl can natively subscribe to notifications from other computers running GfW as well as web-based notifications from Notify.io. However, just like the custom forwarder plugins above, Growl (as of v2.0.2) now also allows you to create your own subscription mechanisms.
Check out the RSS/Atom Feed Subscription plugin for an example of how to enable GfW to subscribe to other types of notifications. Other examples of possible subscriber plugins that could be created include:
- Google Wave notifications
- New Email notifications
- Twitter mentions or DMs
- IM messages
- Notifications from another notification system (like Growl on Mac)
Custom subscribers are implemented as .NET class libraries that get loaded dynamically at runtime. Download the Growl Subscriber SDK for full details and sample code.
GNTP (Growl Notification Transport Protocol)
Growl uses GNTP to send notifications. GNTP is a MIME-like format that is easily implemented in most programming languages. In addition to the exisiting libraries, any language that can communicate over TCP can send and receive GNTP messages.
If you would like to create a library for another language, the GNTP spec can be downloaded here: