Tkabber

Difference between version 160 and 162 - Previous - Next
'''[http://tkabber.jabber.ru/%|%tkabber.jabber.ru]''' ,written in [Tcl], is a
free and open-source client for the [Jabber] instant messaging system


** Attributes **

   contact:   Alexey Shchepin <a l e x e y at s e v c o m dot net>

   current version:   1.1.2

   release time:   2015-05-10



** Download **


   [http://tkabber.jabber.ru/download%|%tkabber.jabber.ru]:   

   [https://chiselapp.com/user/sgolovan/repository/tkabber%|%fossil repository]:   You may have better luck with the latest version in the Fossil repository


** Resources **

   [email protected]:   Official Tkabber chatroom.  English and Russian are accepted; user '''bigote''' also speaks Spanish.

   [email protected]:   Spanish Tkabber chatroom:

   [http://lists.jabber.ru/mailman/listinfo/tkabber%|%general mailing list]:   

   [http://lists.jabber.ru/mailman/listinfo/tkabber-dev%|%development mailing list]:   


** Documentation **

   
   [http://ru.tkabber.jabe.ru%|%Russian Wiki]:   pretty exhaustive.  Content is expected to be translated at least to English in the future.

   [http://web.archive.org/web/20070210164549/http://tkabber.redlibre.org/%|%Spanish Tkabber Site (via archive.org)]:   


** Description **

A complete implementation of Jabber. Pure Tcl/Tk (uses [BWidget], parts of
[tcllib] and optional [http://tkabber.jabber.ru/dependencies%|%external
packages].

Runs on Unix, Win32 and Mac OS X.



** ChangeLog **


Version up to 0.11.1 used [jabberlib], but verison 1.0 and the current code in the repository uses [tclxmpp] instead.



** Starkits **

[kostix] 2007-05-09:  The starkits described here are '''very''' outdated and
actually using anything below 0.9.9 is just not recommended since some changes
made in MUC code of Ejabberd (which is used by the biggest XMPP servers
worldwide) rendered Tkabber <= 0.9.8 not suitable for proper working with MUC
on such servers.

Also custom starpacks/starkits are known to be too trimmed down and have
problems with non-Latin-1 character sets.  So, for non-Latin-1 users I
recommend using "plain" Tkabber plus Tcl/Tk installation suitable for your
platform or any '''official''' starpack.

   * http://tcl.tk/starkits Get tkabber, [tls] and [snack] [starkit]s (0.9.6beta actually).

   * http://tclers.tk/~jabber/  development version (0.9.8-cvs) - includes a number of tkchat features including tclers chat history download, translation via babelfish, tkchat colour recognition, auto-fade.
[David ZKrollic] 2004-03-30: My tkabber [starkit] can be downloaded here
http://web.archive.org/web/https://www.zolli.fr/fichiers/tkabber.0.9.7Starkit.zip

This customized version is based on 0.9.7 with new features ([gtklook.tcl],
some bugs removed by me, [SRIV] and [PT], custom sounds and icons to match wiki
chat needs, etc..). It also can source glob matching tls*.kit and/or snack*.kit
starkits from launch dir or ~/.tkabber if available. See http://tcl.tk/starkits
to get wanted packages (snack is for sound support and tls for SSL). 

----

Official '''Starpacks''' are available here [http://tkabber.jabber.ru/starpack], they are:

   Win32:   based on 8.4.14;

   Linux (libc6) ix86:   based on 8.5a4 (so Xft support is here).

Currently there are several starkits Tkabber starpacks can work with:

   [http://http://tcl.tk/starkits/snack.kit%|%Snack sound kit]:   

   [http://tcl.tk/starkits/img.kit%|%TkImg kit]:   

Starpacks try to load any files matching the '''*.kit''' pattern found in the
directory from which the starpack is started and also in the Tkabber
configuration directory

[http://tkabber.jabber.ru/files/doc/tkabber.html#s.configuration].

----


[PT] 2003-03-03: The tkabber-pat.kit at
[http://tclers.tk/~jabber/tkabber-pat.kit] is tracking the CVS development of
tkabber. It includes a handful of plugins that provide features from [tkchat]
including support for downloading the history from the Tclers chat and support
for the /tip, /bug and /google commands. It also supports tkchat colours and
the babelfish translation menu that was in tkchat.

[kostix] 2006-06-25: The Tkabber plugin for [tkchat] functionality maintained
by [PT] can be downloaded from his stie [http://www.patthoyts.tk/] for use in
any Tkabber installation.

Also Tkabber 0.10.0 has this plugin included among its official plugins (it
contains some modifications).


** Tkabber plugins **

Tkabber has over 20 "third-party" (non-official) plugins which are collected
here
[http://ru.tkabber.jabe.ru/index.php/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D1%8B].
Unfortunately, due to some bias in the Tkabber community (all these plugins
were developed by Russian-speaking people) the page is in Russian. We expect it
being translated to English, eventually, so stay tuned.


*** Connection to jabber ***

To connect to the jabber network you need to create an account on a public
jabber server. If your primary aim is to join the tclers chat, then jabber.org
or perhaps amessage.info. There a list of public servers at
[http://www.jabber.org/user/publicservers.php] (if you have to work around a
web-proxy see below). Fill in the login dialog with your chosen username and
password for the selected server. The resource item doesn't matter but you are
advised to use hashed passwords. The other pages can be left with their default
settings. If tls is available then a tls tab will be present and you can select
''Use SSL'' to use a secure link.

Once you are connected you'll want to join the tcl chat. Select the
''Services->Join group'' menu item and provide a nick-name for use in this
chatroom and set the group to ''tcl'' (the server of this group is
tach.tclers.tk). This is a jabber groupchat that is linked to the tcl irc
channel. If you prefer there is also a general irc gateway at
''tcl%irc.freenode.net'' on server ''irc.e.jabber.ru''.

[Kroc] 2004-06-28:  This also work with ''#tcl%irc.freenode.net'' on server
''irc.jabber.org.uk'' (easiest to reach than ''irc.e.jabber.ru''). If you can't
connect, change your conference nick: maybe someone use the same nick on
freenode.

If you have to deal with a web-proxy then it's useful to know that one of the
public jabber servers is listening on port 80 and port 443. If you need to use
this server, you should create your account on jabber80.com and use SSL and set
the SSL port to 443.

Also, '''jabber.ru''' has two "special hosts":

   * '''allports.jabber.ru''' accepts STARTTLS connections on ''any'' port;

   * '''ssl.jabber.ru''' accepts "Legacy SSL" connections on port 443.

If you would like to test jabber without creating an account, you can
temporarily use [email protected]

   login:   tcler

   password:   tkabber

   server:   jabber.org

[kostix]: Another solution for dealing with proxies exist: HTTP-polling.
AFAIK, Tkabber supports it since 0.9.7. The target server must support this
kind of transport plus you should know the port to connect to (usually, it's
5280).

[PT]:  Not many jabber domains support the HTTP polling method. jabber.ru is
one that does. To find out you can check for a DNS TXT entry for the
_xmppconnect subdomain. eg:

======none
% dig +short _xmppconnect.jabber.ru txt
"_xmpp-client-httppoll=http://httppoll.jabber.ru"
======

which gives us the HTTP endpoint to connect to. Google Talk seems to use
something else to tunnel its jabber link over HTTP.

Note that DNS TXT record for HTTP-polling is used ''very'' rarely. But if the
server software is ejabberd then polling URL is likely to be
http://hostname:5280/http-poll/


** IM transports **

The jabber network is especially good at providing connections to other IM
networks. If you have an account on ICQ, MSN, AIM or Yahoo then you can still
be present on these networks while using Jabber. For instance, to connect to
MSN - select the ''Services->Browser'' menu item and enter amessage.info as the
JID. You should get a tree with various transports shown. Double-click on the
''register'' element under your chosen transport and fill in the dialog that
results. For MSN your user id is usually the e-mail address you used to create
your MS Passport with. Once you have registered you can send messages and open
chats to ''$userid@$transport.amessage.info''

[LES]: Yes, but not if you log in with the '''jabber.org''' server because it
doesn't support other IM services. I was about to pluck hair trying to make it
work with ICQ before I realized that. Check the features available in each
server here: [http://www.jabberes.org/servers/]. BTW, I still haven't found a
server that will support other IM '''and''' connect to the Tcl'ers chat. Let me
know if you have.

[Kroc]: jabber.org.uk provides Tcl chatroom access with [IRC] and IM bridges
(check the Discovery screenshot on the bottom of this page).

----

[PT]: The screenshot of 0.9.7 version can look a bit like this under Windows at
the moment.

[http://tclsoap.sourceforge.net/tkabber097-winxp.png]

[Kroc]:  My 0.9.7 [starkit] version looks a like this under Linux (Tk 8.5
xft-enabled) at the moment.

[http://www.zolli.fr/fichiers/Tkabber097starkit.png]

----

[jcw]:  Neat.  It might be an idea to think about ''adaptive functionality'': a
convention, whereby a starkit which works just fine by itself would discover
other packages that enable more functions (both Snack and TLS would be an
example here.  

If this were done in a generic manner, such adaptive apps could have a user
interface to see what sort of things it can deal with, and perhaps even grab
them.  In a way this is just another packager/downloader, but the key would be
that the process is ''driven from usage'' (which is VERY different from todays
delayed gratification schemes!).  It means you can get an adaptive app and make
it work for you right away, but if you want more features you can invest some
more time to get them.  

Another related idea: a server which serves packages to any adaptive app,
located either on the same machine or perhaps on the same LAN.  So apps could
go and check what packages there are on such a "package server" and grab things
on package require (every time).  Last step: make the package server be a
caching server for a bunch of repositories on the internet, and you have a
scalable distribution mechanism: deploy-on-demand?

''Anyway... I'm straying a bit from the topic of this page.''

[SRIV]:  You may be straying from the topic of this page, which we can always
move, but, this is a good example of an app that can work without the optional
packages if they aren't available. [AJB] wrote a few line "which" script to
find files in your exe path, which I would prefer to use. So, any starkit in
your exe path would be available for loading. This makes for simple file
placement for beginners on windows or linux, esp if for example, exec'ing the
snack.kit would automagically copy itself into the exe path for you.

[AJB] I posted the [which] script, which has worked for me in a similar
situation.

----

[LV]:  You may find that you have difficulty getting the starkit mentioned
above to use snack.kit.  I did - and in fact I included details of the problem
on this page, but those details were deleted.  Perhaps this comment will be
deleted as well.  I just gave up on making use of snack.kit.  Then I found more
fundamental problems trying to get the above mentioned tkabber starkit to work
on my sparc solaris 8 machine, and have quit, for the moment, trying to get it
to work.  I can't tell if my problem is a technical problem, or just a matter
of learning the right way to interact with the app.


<<categories>> Application | Internet | Chat | Tk Program