tkabber-plugins(1) the set of standard plugins for Tkabber, an XMPP (Jabber) client


mkdir -p ~/.tkabber/plugins

ln -s /usr/share/tkabber-plugins/PLUGIN_NAME ~/.tkabber/plugins

rm ~/.tkabber/plugins/PLUGIN_NAME


tkabber-plugins is the full set of standard plugins for Tkabber, an XMPP (Jabber) client. They are maintained as a part of Tkabber and implement various kinds of useful but non-essential functionality.

This manual page explains how to install and uninstall Tkabber plugins and briefly describes all plugins provided by this package.


Each plugin is just a directory containing necessary files. The directories of all the plugins are located under /usr/share/tkabber-plugins

When Tkabber starts up it looks for a special directory ~/.tkabber/plugins (i.e. the directory named .tkabber/plugins located under the user's home directory). If it exists, Tkabber considers all its subdirectories as installed plugins and "loads" them. So the installation and removal of plugins is just a matter of maintaining proper symbolic links under ~/.tkabber/plugins to the actual directories of plugins.

Note that the directory ~/.tkabber/plugins as well as ~/.tkabber might well not exist at the time you will be installing plugins. This is normal, so just go on and create the necessary directory structure if needed.

A word of caution: Please do not install a plugin if you do not understand what kind of functionality it is supposed to provide! This is because some plugins may have impact on usage experience unsolicited by the user. For instance, ctcomp plugin "hijacks" several keyboard shortcuts from the chat input windows for its own usage, etc. So to be on the safe side always read at least the introductory section of a plugin's README file if one is provided.


To install a plugin simply copy or --- much better --- symlink the directory of the chosen plugin under ~/.tkabber/plugins --- a directory Tkabber searches for plugins when it starts up.

If the ~/.tkabber/plugins directory doesn't exist just create it:
mkdir -p ~/.tkabber/plugins

It's better to create a symbolic link rather than copying because this greatly simplifies the upgrade process: when a new version of tkabber-plugins is installed, symbolic links under ~/.tkabber/plugins will automatically start to point to the new versions of installed plugins. Contrary to this, if you copy plugin directories rather than symlink them, you will be required to reinstall the plugins being used.

After the plugin is installed you have to restart Tkabber for it to find and load the plugin.


To uninstall a plugin simply delete its directory from under ~/.tkabber/plugins directory.


Provided you created symbolic links to actual directories of needed plugins to install them, uprgading to the next version of tkabber-plugins will be fully automatic.

Otherwise you will have to remove obsoleted versions of plugins from under ~/.tkabber/plugins and then install their new versions back.


Below is the list of all provided plugins and their brief descriptions.

The proper name of each plugin is also the name of its directory located under /usr/share/tkabber-plugins so is's that name you use for installing and uninstalling that particular plugin.

Plugin which adds support of animated emoticons.

Plugin which draws so-called attention line - a line before the first message in a chat window where the window has lost keyboard focus. All messages after the line are unread messages.

Implements the "Battleship" game (also known as "Battleships" and "Sea Battle"): a guessing game for two players where each player positions several "battle ships" on a square field of a fixed size and then both players in turn try to guess cells of their opponent's field where a ship is positioned. When all the cells occupied by a player's ship are guessed by their opponent, that ship is declared "sunk". The player who first manages to "sink" all the ships of their opponent wins, and the game ends.

A word game. Inludes a russian file.

Plugin which implements Jabber Browser (XEP-0011). This protocol is deprecated in favor of Service Discovery (XEP-0030), but may be useful for pre-XMPP servers/transports.

Checkers game for two players (including Straight, Russian, Spanish, Brazilian, Pool, Italian checkers). When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player has also Tkabber and the plugin installed, he will recieve the invitation. If he accepts, a window will open on both.

Chess game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player has also Tkabber and the plugin installed, he will recieve the invitation. If he accepts, a window will open on both.

Plugin adds support for "text completion" in Tkabber's chat input windows which works like the similar features of the Vim and Emacs text editors. The matching words are picked from the corresponding chat log and input windows.

Provides regexp-based mechanism to convert strings with numbers to URLs in chat windows.

Utility to translate misprinted characters to cyrillic pressing Ctrl+'.

Allows to see debug messages in separate tab/window.

Utility to check your Ejabberd Jabber server remotely.

Allows certain roster items to float in separate small windows.

Plugin reports incoming messages, presence changes, status changes in a separate floating window.

World map. It tries to position your contacts using the data on vcard. You can also drag and drop your contacts from the roster on their possitions.

Plugin allows Gmail/Googlemail users to receive mail notifications.

Several iconsets, borrowed from other Jabber clients, now are represented in this plugin.

Implements Jidlink file transfer protocol. It's undocumented and obsolete, but may be useful for transferring files to old Tkabber versions.

Displays formulas in LaTeX notation as embedded images, generated by LaTeX and ImageMagick.

Experimental implementation of XEP-0058: Multi-User Text Editing, now deferred.

Plugin which adds several items to a URL popup menu. Each item allows to open the URL in a certain browser.

Displays certain events (presence and chat messages) notification using osd_cat utility.

Implements the Off-The-Record (OTR) messaging. OTR provides: encryption, authentication, deniability and perfect forward secrecy.

Implements a variant of the game of Poker known as "Texas Hold'em" for two players.

Plugin which adds several commands in a chat window. They change user's presence information (global or directed).

Allows to "quote" the last message in any active chat session in its input window. The message is prepended with a fixed string (configurable). This can be used to put one's replies in context when the chat touches upon several parallel issues.

Adaptation of He3hauka (a russian quiz game for IRC).

Provides a way to "quote" the message located at the very bottom of the conversation log of a chat window -- that is, to copy such message into the input box of the same chat window with some decorations added (by default the ">> " string is prepeneded to the message). By default, quoting is done using the <Alt-q> keyboard shortcut.

Implements XEP-0184 "Message receipts": in one-to-one chat sessions it is able to request confirmations of reception of outgoing messages and reply to such requests coming from remote party.

Gomoku and Renju (in fact, renju is not implemented yet) game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player has also Tkabber and the plugin installed, he will recieve the invitation. If he accepts, a window will open on both.

Reversi (othello) game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player has also Tkabber and the plugin installed, he will recieve the invitation. If he accepts, a window will open on both.

Keeps the conversation with a person in just one window when that person sends messages from different resources of his/her JID: when the new window for a one-on-one chat is about to be opened the plugin checks whether there are any active chat sessions with the same bare JID (that is, without the "/resource" part) as that of the new chat. If there are, they are closed with their conversation log and input history preserved, the new chat window is opened and then the saved data is inserted into the new window. So effectively this plugin makes Tkabber keep just one chat window per bare JID open.

Adds many 'social' commands like /dance. Includes english and russian files.

Logs your contacts presence changes to a window or to a file. Allows to setup alert window for certain contacts.

Allows to colorize backgrounds of the whole messages placed in the conversation logs of Tkabber chat windows. Backgrounds of even and odd messages can be configured separately from each other (or not configured at all).

Plugin, which makes chatting in Tclers' chat ([email protected]) easier. It recognises a bot, which connects Jabber room with IRC channel, and maps IRC users to Jabber conference participants.

Plugin that adds KHIM (an alternative input method by Kevin Kenny) support to Tkabber. It can be used to input characters not directly available from installed keymaps.

Approximately accounts incoming and outgoing XMPP traffic by addressees. Traffic estimation is good only if no stream compression or encryption is used. But even if the absolute values are incorrect, it still allows to find which remote JID consumes the highest traffic amount.

Adds support for "Unix-style" (in fact, GNU Readline and GNU bash -style) keyboard shortcuts for text editing to all text entry widgets in Tkabber.

Shared whiteboard, allows two contacts or a whole chatroom to draw collaboratively.


To install a plugin:
Create the directory which Tkabber searches for plugins installed for the user:
mkdir -p ~/.tkabber/plugins
You have to do this only once.
Pick the plugin you would like to install. Suppose this is the georoster plugin providing the World map which depicts the geographical coordinates of the contacts on your roster.
Install it by creating a symbolic link from the plugin's directory to the directory of user's plugins. Continuing with our georoster example, you will have to issue this command:
ln -s /usr/share/tkabber-plugins/georoster ~/.tkabber/plugins
Repeat for any other plugins you want to install.
Restart Tkabber.

To uninstall a plugin just remove its directory from the directory of the user's plugins. For example, to remove the installed georoster plugin issue this command:
rm ~/.tkabber/plugins/georoster


The plugins comprising the tkabber-plugins package were written by various people. Please consult the /usr/share/doc/copyright file for further details.

This manual page was written by Konstantin Khomoutov <[email protected]>, for the Debian project (but may be used by others).