*  Main  |  Feeds  | Comics |  Links | Projects | Reviews/Rants*

kopete-remote is a program that provides command-line control of Kopete, the KDE Instant Messenger. It's a bash script which utilizes Kopete's DCOP functionality.

Download

Download kopete-remote 0.2
To install:

tar xvzf kopete-remote-0.2.tar.gz
su
mv kopete-remote /usr/bin/

Gaim-remote compatibility

kopete-remote uses the same syntax as the gaim-remote utility which is included with the popular IM client GAIM. It does this for three reasons:

  • User familiarity. A large number of people have used Gaim, and they will be able to use kopete-remote without having to learn new syntax.
  • Compatiblity. I believe that standardization is good, and can lead to unexpected nice things. For instance, if other IM projects also implement console controls with the same syntax, it would be trivial for a script to control any of the IM solutions.
  • The most major reason I created this, however, was for transparent switching. If a user is switching from Gaim to Kopete, they can simply symlink kopete-remote to gaim-remote, and any scripts they have which control Gaim will now control Kopete without any modification or fuss.
    (To do this, just issue
    ln -sf `which kopete-remote` `which gaim-remote`
    as root after installing kopete-remote.)
gaim-remote itself only offers a few options so far. kopete-remote supports all of gaim-remote's current functionality, plus nearly all of its planned future functionality as explained in its TODOs, and a few extensions of my own. kopete-remote --help shows all possible commands.

Portability

This is the first major bash script I've written, and I know nothing about portability. It was written on bash 3.0. I tested it running zsh (in 'sh' emulation mode,) and everything seemed to work fine. If it doesn't work on your shell/architecture, please let me know!
The script assumes the existence of sed, grep and egrep, and of course Kopete.

Bugs and features

Please report any bugs or feature requests to kopete@kundor.org
In particular, please let me know about:

  • Portability issues
  • Any cases where a command for gaim-remote or a gaim-remote script doesn't work properly with kopete-remote
  • Unexpected behaviour

Usage examples

kopete-remote away -m "I'm off to dinner"
kopete-remote disconnect -p AIM
kopete-remote connect -f FreeNode
kopete-remote back
kopete-remote ison -b MyBuddy
kopete-remote add -b NewBuddy -p AIM -g WorkContacts
kopete-remote --help and kopete-remote --help COMMAND should provide plenty of information.

aim: URI handling

Use kopete-remote uri 'aim:uri' to handle aim: uris.
Currently, kopete-remote can handle uris of the type:

  • aim:goim?screenname=Buddy
  • aim:goim?screenname=Buddy&message=hey
  • aim:addbuddy?screenname=Buddy
  • aim:addbuddy?screenname=Buddy&groupname=Buddies
  • aim:addbuddy?listofscreennames=Buddy1,Buddy2

Configuration

There are a few configuration options, which can be found at the very top of the script. They include whether to automatically start kopete if it's not running (default off), where to log kopete output if kopete-remote starts it (default /dev/null) and default verbosity (0).

Version history

0.2 -- Set DISPLAY=:0.0 when connecting remotely.
0.1 -- First public release.