irssi, screen, and growl… Nerdy goodness.

At $dayjob, we use IRC a lot. Most everyone runs irssi in screen, so they can re-attach whenever and whereever and not miss out on important info. Today I thought to myself “Surely SOMEONE is doing irssi in screen and wants growl notifications”. As ridiculous as it sounds, someone was. I took their approach, briefly outlined below, and customized it a little to make me happy. For this to work, you need Growl and GrowlNotify installed on the Mac. Jabba, if you read this, I didn’t figure you’d mind the rewrite here :)

  1. On both: Cut a hole in the box. By this I mean “Set up ssh keys to access the box.” If you aren’t running with passwordless ssh keys, make sure you are using something like “ssh-agent bash” as your default terminal window
  2. On remote: Download Justins script from http://justindow.com/Download/fnotify.zip . Install it in ~/.irssi/scripts/ , then symlink it into ~/.irssi/scripts/autorun/ :
    mkdir -p ~/.irssi/scripts/autorun && cd ~/.irssi/scripts/ && wget http://justindow.com/Download/fnotify.zip && unzip fnotify.zip && ln -s fnotify.pl autorun/
    If you don’t want to quit irssi for this procedure, do this:
    /script load fnotify.pl
  3. On local(Mac): Make a local script named “irc_growl.sh” in ~/bin/ . Put this in it and chmod 755that bad boy:
    #!/bin/sh
    # $argv = %r %h

    # Kill all current fnotify sessions
    ps | awk '{if($0 ~ /fnotify/ && $1 ~ /[0-9]+/ && $4 !~ /awk/) print $1}' |
    while read id; do
    kill $id
    done

    # SSH to host, clear file and listen for notifications
    (ssh -q $1@$2 -o PermitLocalCommand=no "> .irssi/fnotify; tail -f .irssi/fnotify" |
    while read heading message; do
    growlnotify -t "${heading}" -m "${message}";
    done)&

  4. On local put something like this in ~/.ssh/config:
    Host remotehost
    Hostname remotehost.example.com
    PermitLocalCommand yes
    LocalCommand ~/bin/growl_irc.sh %r %h

Next time you ssh to the box, this second ssh session will start silently in the background, reading the ~/.irssi/fnotify file and outputting new lines to Growl.  Pretty cool!

April 17, 2012 • Posted in: FOSS, How-To, Linux, OSX, Technology

3 Responses to “irssi, screen, and growl… Nerdy goodness.”

  1. Soila - July 14th, 2014

    I see a lot of interesting posts on your page.

    You have to spend a lot of time writing, i know how to save you a lot
    of work, there is a tool that creates unique, SEO friendly posts in couple
    of seconds, just type in google – k2 unlimited content

  2. watch porn movie - February 13th, 2016

    If you need exceptional service, select chinabank or sterling bank
    of asia.

  3. Beljetah - February 15th, 2017

    Hello everyone, I want to share with you a private credit card shopping. You can shop at any online store, I myself have bought a laptop. Here is a link to the store, great guys http://tomsshop.cc

Leave a Reply