Home

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:

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.

Trackbacks are closed for this story.

Comments (3)

  1. 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.
  2. 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.
  3. @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.

    [account1]
    user = gavin@example.com
    pass = password1
    

    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.

Leave a comment

Comments are closed for this story.