Better remote notifications with irssi
by Patrick Connelly posted on June 28, 2013
History
As I wrote about a long time ago I use to use a custom script with irssi to push to mumbles. Well, mumbles has gone defunct and I couldn’t really find a good growl client for linux. Plus with me traveling into the office weekly, it’s just not going to work well since growl is more push notification. So this lead me to research a true messaging system to try it.
Beanstalkd
Beanstalkd is a simple fast workqueue. Using this, we can push messages (in JSON formatting) to the queue and have the client pull from the queue whenever they want. The nice thing about designing it this way is it can be reused to push other desktop notifications from other systems.
You can find the full repo with updated documentation on github
Setup
- Install beanstalkd on a system that both your irssi client (producer) and the system you want notifications on (consumer)
Producer
- Install the JSON perl module as well as the Queue::Beanstalk module
- Download the beanstalkNotify.pl file into your ~/.irssi/scripts/ directory
Consumer
- Install pyyaml and beanstalkc. These can be installed via python-pip
- Download the beanstalk-notify.py file onto your consumer system
Configuration
Producer
- Install the script by running _/script load beanstalkNotify _in irssi
- Set your server /set beanstalk_server beanstalk.example.com
- Set your port /set beanstalk_port 12345
Consumer
- Modify the beanstalk-notify.py file to point to your beanstalkd server
- Run the consumer script
Future Features
In the future I plan on adding the ability to add an audible notification for these as well. Maybe I’ll add the ability to pick a specific queue instead of the default, but I doubt it.