Clone wiki

cgrowl / Home


cGrowl is a C client library for the Growl network protocol. With it you can perform remote registrations and notifications from any POSIX client: Mac OS X, Unix, Linux, or Windows. (But see the Growl Preferences Pane and documentation for authorization requirements.)

cGrowl consists of a very simple library (libgrowl) and a very simple reference client of that library (cgrowl). The reference client is not the primary focus of this project, but it is sufficient to perform remote registration and notification to a Growl server that requires authorization.

For now, since cGrowl is so simple, just run 'make' to build. If it gets more complex then we'll look at atrocities like autoconf, or alternate build systems like SCons.

There's only a limited amount that this code really needs to do, but contributions are welcome.

This software is currently distributed from Bitbucket. Please file bug reports, contributions, etc. here.

Reference Client

usage: cgrowl [-a application] [-p password] ip-address \
              register 'notification 1' 'notification 2' ...
       cgrowl [-a application] [-p password] ip-address \
              'notification' 'title' 'text'

As with other Growl clients, the notification parameter when sending a notification should be a notification type for which you have registered.

Application is any string that will distinguish your client application from another application like Firefox, Adium, etc. If left unspecified it will default to cGrowl.

All notifications for which you register with the cGrowl reference client are enabled by default. This is merely an implementation convenience. When you program to the libgrowl client library, you can choose which notifications to enable by default.


All original code contained herein is open source and free software under an MIT-style software license. See LICENSE for legal details. The MD5 implementation is redistributed under a different free license, but you can plug in alternate MD5 libraries (APR, OpenSSL) if it makes you feel better. This is technically possible but is not directly supported in the build environment. Patches welcome.