From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Tkabber 0.10.0
Developer(s)The Tkabber Team
Initial release2002
Stable release
1.1.2[1] / May 10, 2015; 6 years ago (2015-05-10)
Preview release
Repository Edit this at Wikidata
Written inTcl/Tk
Operating systemCross-platform
TypeInstant messaging client
LicenseGNU GPL

Tkabber is a GPL instant messaging client for the XMPP protocol which uses the Tk toolkit for the GUI. It runs on anything to which Tcl/Tk is ported: almost any X-based system (namely, any Linux and *BSD, Solaris, etc.), Microsoft Windows, and Mac OS X.


Tkabber is primarily distributed in the form of two tarballs containing the code of its "core" and standard external plugins. Since Tkabber is written in an interpreted language, it does not require any "building" for a target platform. Nevertheless, Tkabber is packaged by most of known Linux distros and FreeBSD. Also special "all-in-one" packages for Microsoft Windows are provided (they don't require separate installation of the Tcl/Tk runtime) in the forms of installer and starpack. Starpack for Linux x86 is also provided.

Mission statement[edit]

The goal of the Tkabber project is to create a cross-platform XMPP client which is feature-rich and is easy to hack. Tkabber is written in Tcl allowing it can be customized without knowledge of a low-level language such as C++ and its build system.


Tkabber implements anything found in the core specs and well-established XEPs (XMPP Extension Proposals) as well as some new important facilities such as PEP.

A rough list of features is:

  • Messaging:
    • Simple one-on-one chat.
    • "Normal" chat messages.
    • Multi-user chat with full room administration support, invitations, history support and possibility to ignore certain users.
    • "IRC-style" chat commands for room management, user info inquiry, etc.
    • Chat state events.
    • Nickname/keyword highlighting, stylecodes, clickable URLs, nick completion, etc.
    • Chat history with searching and ability to export to XHTML.
  • Roster:
    • Conference bookmarks in the roster (with autojoin support);
    • Roster annotations.
    • Active chat sessions as roster items.
    • Importing/exporting of roster items.
    • Sending of contacts to other users.
  • Misc features:
    • Full support for server-side privacy lists.
    • File transfers.
    • User interface for service discovery.
    • Support for message headlines.
    • Extensive support for searching in many parts of UI.
    • Support for gateways to legacy IM networks (AIM, ICQ, Microsoft Messenger service, Yahoo! Messenger and so on).
  • Admin/developer support:
    • XML console that allows developers to inject custom stanzas in the outgoing stream.
    • Ad hoc commands.
  • User interface:
    • Windowed or tabbed interface (tabs are multiline and dockable to any side of the main window; tabs can be preserved across restarts).
    • Localizable UI (translations to several languages including Russian, German, Ukrainian and Polish are included).
    • Support for graphical emoticons (including jisp format).
    • Customizable main interface iconsets.
    • Support for changing the color/geometry of any aspect of the user interface (through the usage of the Tk option database).
    • Support for sounds bound to certain events.

Tkabber also features a set of standard external plugins which can be installed to enhance functionality. Tkabber plugins include: Off-the-record messaging, several board games, multi-user whiteboarding, georoster, support for rendering mathematical formulae using LaTeX, Unicode character picker, chat text completions, floating transient log of new messages and more.

There are also several plugins created by the Tkabber community. They aren't distributed with Tkabber but may be downloaded and installed separately.

On the other hand, Tkabber currently lacks in some respects, namely:

  • No support for Windows XP and Vista theming engines.
  • No avatars in chat windows/rosters.
  • Multi-login works, but some parts of the UI don't know about it.


Tkabber was started by Alexey Shchepin (also the author of ejabberd XMPP server) in 2002. Several people contributed into it, notably Marshal T. Rose, Michail Litvak and Sergei Golovan, who is the current maintainer of the project.

In October 2004, Alexey Shchepin won an Honorable Mention for Tkabber in the ActiveState Programmer Network's Coolest Tk Screenshot Contest. Coincidentally, another Jabber/XMPP client was a Grand Prize Winner: Mats Bengtsson for Coccinella.

An extensive summary of the Tkabber's history is available here.[3]

The word "Tkabber" is built of two words: "Tk" and "Jabber" which alludes to the GUI toolkit used and the family of network protocols implemented. No one really knows how it is pronounced. Russian speakers (including the Tkabber's author, who invented this name) pronounce it as [t'kabber].

See also[edit]


External links[edit]