Off-Topic

IRSSI + Mac OSX + Growl Notifications

OK, this may be a little off topic, but I thought it was kind of neat. I recently started using bitlbee again (I stopped due to missing features/support when I last looked at it, but it has come a long way it seems, plus there are public IPv6 servers now!)  So, the primary thing I found missing from this, if I was to stop using ichat, was good notification of new messages.  So… after a little searching, I found this post at Matt Hutchinson’s blog.  He’s doing this on a remote server, which is fine, but I run irssi locally, and don’t really care to leave it idling when I’m not on the computer, since I’m never going to go through backlog, so…  I did a few things differently:

1.Installed fnotify irssi script:

cd ~/.irssi/scripts

wget --no-check-certificate -O- "https://gist.github.com/gists/542141/download" | tar -zxvf -

mv */fnotify.pl .

ln -s ~/.irssi/scripts/fnotify.pl autorun

2. Installed Growl and growlnotifiy.

3. Update ~/.irssi/config with bitlbee server info:

servers = (

{ address = "2001:470:dc2e:5::1"; chatnet = "bitlbee"; port = "6667"; }

{ address = "godzilla.everdot.org"; chatnet = "bitlbee"; port = "6667"; }

}

chatnets = {

bitlbee = {

type = "IRC";

### the next line acts as an autoconnect function to the IM gateway bitlbee

autosendcmd = "/^msg -bitlbee &bitlbee identify PASSWORD; wait -bitlbee 2000";

};

}

3. Grab a nice irssi png

wget -O ~/.irssi/irssi-icon.png "http://blog.ufsoft.org/_uploads/irssi.png"

4. Update ~/.bash_alias file with a new function called ‘chat’ which will watch the ~/.irssi/fnotify file and push new messages to growl:

 function chat { if [[ $( ps aux | grep -v grep | grep "tail -f .*fnotify" ) ]]; then echo Growl running; else echo > ~/.irssi/fnotify; tail -f ~/.irssi/fnotify |  while read; do growlnotify --image ~/.irssi/irssi-icon.png -m "$REPLY"; echo $REPLY | cut -f1-10 -d" " | say; done & fi; irssi -c godzilla.everdot.org;  }

The ‘cut -f1-10’ portion limits the amount sent to ‘say’ to the first 10 words. Adjust to your personal preference.

5. Open a new terminal (to source the ~/.bash_aliases file) and run the function to launch the watch process and irssi and connect to bitlbee.

I typically run two instances of irssi. One for irc, and the second for bitlbee. Neat thing about this, is once that watcher process is running, it will alert you to any hilights or private messages. Very cool.

Advertisements