A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.

Instant message notifications on Linux

Pidgin

Pidgin is an IRC client for Linux and Windows.

By default, pidgin's notifications on Linux that someone is messaging you are not very visible, they're in the title bar of the application, and can easily be missed.

There's a plugin included that causes the notifications to pop-up using libnotify, but they only appear from a short time and are not customisable, so are also easy to miss. "notify-send" is one command to send notifications using libnotify.

Growl is a notification system (originally for Mac) designed to be customised with a particular display style. There's a growl plugin (written in Perl) on the official Pidgin plugins page, but it seems to be designed to work with growlnotify, which doesn't run on Linux.

There's a port of growl for Linux (the daemon). To send it notifications you can use growl_notify.pl which is a wrapper for Growl::GNTP, the Growl protocol. The growl plugin mentioned above could be modified to use growl_notify.pl.

You could then choose your desired display style for Growl, e.g. something that stays on top of other windows and can't be missed.

There's also a prototype notification plugin that uses zenity, a package that displays simple dialog boxes that are much harder to miss.
To use it, download this pidgin zenity plugin, put it in your ~/.purple/plugins directory (create it if it doesn't exist), and it will appear in your Pidgin plugins list.
As it's a prototype, it will currently notify for every message in a conversation, but you may prefer being notified too much rather than too less. Email the developer if you want it to be improved.

Skype

It's also easy to miss incoming Skype messages. But Skype has an "Execute the following script" option for incoming chat messages. That can be set to something like this:

/usr/bin/zenity --warning --title "Skype message" --text "You have received a message in Skype"