Command-line XMPP Client
From the quick-hack-department: I'm online for most of the day, and almost always have one or two instant messaging (IM) clients open - most often pidgin/gaim and gajim lately. I also use IM to follow twitter and to tweet.
Now graphical clients are very nice for lots of uses, but one thing they're often not good at is packing info into less space. Depending on how many people you're following, twitter in particular can get noisy fast, and I found myself really wanting a command-line xmpp client that I could just leave open in a term out of the way and use as a river-of-news style xmpp stream. Even read-only would be fine, since I could always pull up my graphical client to tweet (and I'm a twit, not a twerp).
Google turned up a few candidates, but nothing really had my use
case in mind. So a couple of hours later, the first version of
clix was born. It's a quick perl script using
Net::XMPP2,
and is available here:
- http://www.openfusion.com.au/labs/dist/clix
- http://www.openfusion.com.au/labs/dist/clix-0.001004.tar.gz
- http://www.openfusion.com.au/mrepo/centos5-i386/RPMS.of/clix-0.001004-1.of.noarch.rpm
It aggregates XMPP posts from any number of accounts into a single river-of-news style view, and is (currently at least) read-only i.e. there's no post capability.
Update: updated to version 0.001004 with Yoshizumi's fix from comments.
Comments (3)
Leave a comment
Comments are closed for this story.

The best twitter client for me!
In my case, sometimes $body contains "\n" characters. For more appropriate matching, I use the "s" modifier. Thanks.
90c90
< if ($body =~ m/^(\S+:)(.*?)$/) {
> if ($body =~ m/^(\S+:)(.*?)$/s) {
- Comment by Yoshizumi Endo at 2008-01-31 00:45.I'm really interested in using this script but I can't seem to install it correctly. Would you mind detailing the steps to get it running?
- Comment by Nate at 2008-04-08 10:01.@Yoshizumi, applied your fix to version 0.001004 - thanks for that!
@Nate - have you checked the documentation in the script via
perldoc clix? Basically you should just need a .clixrc file in your home directory with your account details e.g.If you've got that setup, post what platform/OS you're running on, and the errors you're seeing. I should add that clix needs a few perl modules available:
- Getopt::Std
- Config::Std
- AnyEvent
- Net::XMPP2
- Term::ANSIColor
- Term::Size
- Time::Piece
- Comment by Gavin at 2008-04-08 14:14.