Tkabber FAQ/Miscellanea
From Tkabber Wiki
Tkabber FAQ was divided into several parts. Here we answer questions of different (sometimes, quite rare) kinds. There are links to other Tkabber FAQ pages at the bottom.
Contents |
Miscellanea
What is...?
Roster
Answer: Roster is a list of contacts. See definitions of this term found by google.
Resource
When logging in, you can see the Resource field in the Account tab where there is already written something like "Tkabber". What does this mean? A resource is a kind of client-server connection ID. According to the Jabber protocol, it is possible to log in to the same account more than once while the Resource of each connection is different. If we connect from different clients they normally put their own resource automatically (for instance, Psi, JAJC, Exodus). Besides, one can edit this field manually, putting, for example, his or her location (home, work, beach, Uncle Tom's hut (non-English alphabet characters are also accepted)).
Priority
The same Account tab of the login window has the Priority field where you can see its default value 8. We need to touch priority when we run more than one client logged in to the same account, for example one at home and another at work. There is an option of Autoaway you can find in Tkabber → Customize → Autoaway:
plugins::autoaway::options(drop_priority) 1
If it is set to 1, like in our example, then the priority of Tkabber is dropped to zero when it goes to Autoaway. How does this drop affect its work? The matter is that a Jabber-server sends all messages to the client with the highest priority, so when we arrive home from our work, the home client becomes active and receives the highest priority. All messages sent to username@jabberserver.org (i.e. without a specified resource) will be sent to the home machine. It is quite handy but there is a little drwaback in this system: what happens when both clients have the same priority? It takes you an hour to get home, and Autoaway timeout is merely of 5-10 minutes, so during these first 5-10 minutes the messages will go to the work client, and then, till you get home, to a machine the server likes more. According to rfc3921, in case of the same priorities the server is free to choose a recipient between them. However, this affects only messages.
Tkabber console
"Tkabber console" is actually a debugging tool of Windows versions of Tcl/Tk interpreter (wish), so it is only available in Tkabber running under Windows (read below about other OSes). You can find it in the main menu: Help → Show console.
The command prompt you get after the console is open lets you give direct commands to the interpreter that runs Tkabber code! Besides, it offers a wide spectrum of possibilities that Tcl gives for running programs introspection. That's what people mean when they ask you to open Tkabber console. A couple of examples:
Let's find out if Tkabber has loaded the TkImg package:
% package present Img
Get a list of available Windows codepages:
% lsearch -all -inline -glob [encoding names] cp125*
Debugging is not the only thing you can do with the console. Some fascinating examples of its use are given here. It's obvious that the console will serve only those who have some knowledge about Tcl/Tk.
Unix versions of Tcl/Tk interpreter don't have any integrated console. Therefore, there's no menu item described above. This can be explained by some techical and historical reasons. however, debugging Tkabber in X will not take you more effort than in Windows, you'll just have to use another tool named tkcon.
Tkcon, unlike most other "medicines", allows "oral" as well as "topical" use on Tkabber:
- You can open Tkabber "from" tkcon. In this case the latter will be available more or less like Windows wish console. Read more about this in the correspondent paragraph of the official online documentation.
- You can also open tkcon apart and then "connect" it to an already running copy of Tkabber. To do so, in tkcon activate a menu item named Console → Attach to... → Interpreter and in the submenu "Foreign Interpreters" choose "tkabber". (There can be also "tkabber #2", "tkabber #3" and so on — those are the second, the third, etc. copies of Tkabber you have run).
Attention: Windows "Tkabber console" has an unpleasant drawback: If you close it by File → Exit menu item it will also close the interpreter controlled by it (which is Tkabber itself). So it is recommended to close the console pressing the standard Windows "cross" or by activating Help → Show console once more in Tkabber. Also, if you want to close Tkabber in a "hAcKeR" way, type "quit" in the console, not "exit" so that Tkabber can finish its work correctly.
NB: Windows wish console has another "feature": standard input/output streams of this process go to the console by default. So sometimes, when opening it, you can see some warnings (for example, ones that appear when loading Tcl/Tk packages). Any debugging output also goes there if you, for instance, set up the variable debug_lvls in the config, but haven't redirected the standard I/O streams to a file or don't use the debug plugin.
TODO: Write an article about tkcon, tkinspect, send, conn and give a link to it from here.
teo's repository
teo maintains a repository of unofficial packages for Debian GNU/Linux that contains ready builds of several Tcl-packages expanding Tkabber possibilities for the current stable version of this OS (and also other useful packages, for example, tcl/tk 8.5, erlang, ejabberd and jabber-jit).
The URL of the repository: http://sgolovan.jabber.ru/debian/
You should add it to /etc/apt/sources.list like this:
# Etch: deb http://sgolovan.jabber.ru/debian/ etch main deb-src http://sgolovan.jabber.ru/debian/ etch main
# Sarge: deb http://sgolovan.jabber.ru/debian/ sarge main deb-src http://sgolovan.jabber.ru/debian/ sarge main # Woody (old-stable, you probably don't need it): deb http://sgolovan.jabber.ru/debian/ woody main deb-src http://sgolovan.jabber.ru/debian/ woody main
Note that not all packages are avaiable for the "previous stable" distro. At the present moment (9 of January 2007) Etch section contains the most of available packages.
The repository can be also found here: http://sgolovan.nes.ru/debian/ but you shouldn't add it to the sources.list: all requests made by apt-get will be redirected to sgolovan.jabber.ru, but apt-get cannot process redirects.
Mishmash
I'd like TO PLAY!!!
Question: I heard that Tkabber gives a possibility to play chess, checkers and so on. Unfortunately, none of my friends play those games. Where can I find opponents?
Answer: It is easy. First of all, you should install the necessary plugins. There is a room xmpp:tkabber-games@conference.jabber.ru where you can find some people who like playing such games. Please come often! The more people stay here, the more chances one has to find an opponent of his or her level.
The owner of the room is xmpp:agnessa@jabber.ru, please contact her regarding this conference.
Old versions of Tkabber and its plugins
Question: Where can I find old versions of Tkabber and its plugins?
Answer: There are all stable versions of Tkabber and its plugins starting with 0.9.4. at jabberstudio.org page.
Can't find them? Look for them here.
Does Tkabber work on PDAs?
Question: Is it possible to run Tkabber on PDA?
Short answer: It is possible to run, it is impossible to work with it.
Long answer: Read this article.
Why is Tkabber written in Tcl/Tk, not some other language?
Question: It would be nice to write something like this but using GTK (Qt, curses), in python, (C++, Java, etc.) Why cannot I write a plugin for Tkabber in a language I know? Why do I have to learn Tcl?
Answer: Read this article.
MUC
Who is who in a conference?
Refer to XEP-0045 for details.
Invites don't work
Question: I'm trying to invite friends to my conference but it doesn't work.
Answer: First of all, make sure your status in that cnference is different from "none", for example, "member", "admin" or "owner". If your status there is "none", you will not be able invite to it anybody at all. If you are a "member" but still cannot send invites, ask the room's owner if it is configured properly (there should be an option enabled that permits users to send invites). If it's enabled but invites still don't work, check which way you use to send invites. While testing we noticed that sometimes invites cannot be sent via the conference's menu (click the button Topic in the upper part of its window to get it), another series of tests showed, however, that it works fine. Nevertheless, you have other ways to send invites:
- via the context menu of a MUC participant,
- via the context menu of your roster's contact,
- typing /invite romeo@montague.net in the room you'd like to invite Romeo to. Of course, you must know the JID of the person you want to invite.
If you still experience problems even though you're the owner of a conference and are trying to invite a person from your roster, welcome to xmpp:tkabber@conference.jabber.ru to explain your grief (and, if possible, show an XML-log of your attempts). However, before doing so we'd recommend to read the XEP about MUC, at least 4. Terminology and 5. Roles and Affiliations chapters. Hope there's no need to remind you that all we have spoken about concerns jabber-users only. I.e., if you were trying to invite to some MUC an ICQ- or MSN-user, please don't blame Tkabber or XMPP itself ;)
UPDATED: Recent research of the problem revealed that our role theory failed. A "member" of a room could not send invites to other visitors. But don't despair, the investigation is still ongoing.
Appearance and sound
Tkabber FAQ/Appearance and sound