a while back i wrote a half-assed growl-like notification system called "meow" that i could use on openbsd. i wrote a gaim plugin that used meow to notify me of new messages so i wouldn't have to keep switching back to the workspace it was in to see who was talking to me. but it was a perl plugin for gaim and i didn't remember how i got perl support working in the openbsd port. the port's maintainer didn't care to fix it and i could never get it working in any future releases. so without gaim notifications, i didn't really have much use for meow and it was scrapped.
recently this bothered me again so i looked into writing another plugin for gaim pidgin. i read up on its dbus support and with a quick port of ruby-dbus, i had a working ruby script listening to pidgin events via dbus and sending notifications to meow. but as it turns out, dbus is used in a lot of software these days and has its own specification for notifications (for which a notification daemon exists in openbsd's ports). i installed it and changed a few lines in my new plugin to just send the events back through dbus to the notification service: