The chat application for the [Tcl Chatroom] which now implements [The Next Generation Tcl Chatroom]. It is based on the [XMPP] protocol (previously known as [Jabber]). tkchat provides several Tcl community specific features. [http://tclers.tk/~jabber/tkchat-small.png] ---- **Getting tkchat** Get this file: http://tclers.tk/~jabber/tkchat.kit You can verify the download by fetching the gpg signature [http://tclers.tk/~jabber/tkchat.kit.asc] and validating with the authors gpg key [http://www.patthoyts.tk/pgp.html]. The windows starpack exe has also been [AuthentiCode] signed with a key issued by [http://www.patthoyts.tk/ptca.pem]. TkChat is distributed as a [starkit] and as a [starpack] for Windows. The latest version is always at http://tclers.tk/~jabber/tkchat.kit and the Windows starpack can be found at [http://tclers.tk/~jabber/tkchat.exe]. The distribution site also holds a number of older versions in case there is a problem with a particular release. If you wish to obtain the source code, it is held in the tclapps cvs module in the tcllib project at [sourceforge]. To check out the code using anonymous cvs: cvs -d:pserver:anonymous@tcllib.cvs.sourceforge.net:/cvsroot/tcllib co -d tkchat tclapps/apps/tkchat Note that you will require a particular version of [jabberlib] and you should get this from the tclers.tk website. You will also need a few packages from [tcllib] and [tklib]. The simplest method to get everything working is to fetch the starkit and unwrap it using ''sdx unwrap tkchat.kit''. Then replace the ''bin'' subdirectory with a cvs checkout of tkchat and run this using ''tclkit tkchat.vfs/main.tcl'' See [TkChat - A History] for the evolution of TkChat ---- **Logging In** When you start tkchat the first time, you will see a window like this: [http://tclers.tk/~jabber/tkchat-logon.png] Simply enter (your) username and password and click on the logon. ''Your username does not need to be the same as your nickname, you can change it later on'' If your account doesn't exist yet, you will be prompted to creating one using the registration dialog: [http://tclers.tk/~jabber/tkchat-register.png] If your registration fails then a notice to this effect is printed in the tkchat chat area and you should try again with a different user name. ***Using a proxy server*** tkchat can connect through an HTTP proxy server which supports the CONNECT method. You will almost certainly need to use an SSL connection for that, so download http://tcl.tk/starkits/tls.kit and save it next to your tkchat.kit. You will need to restart tkchat after you downloaded the tls.kit. The Windows starpack version already contains the [tls] extension so this is not necessary if you are using that version. Enter the proxy details (ask your network admin or peek in your web browser settings), some proxies need a username and a password too, but most don't. Now enable 'Use Jabber SSL' and set the jabber server:port to use port 443 (the default is 5222 or 5223). Click the logon button, and you're done! ''Remember Chat Password''<
> This will save your password for the next time you start tkchat. If you enable this, you may also enable 'Auto-connect' ''Jabber resource''<
> You can change the jabber resource to 'work' or 'home' or something else, this allows you to log in from two computers at the same time, and be in the chat room with two times (with different nicknames). The resource will be appended to your nickname if when you try to transfer the nick from another location using the /nick command (see the commands below) ''Jabber server:port''<
> You can log into a different jabber server and still join the chat. The default is '''all.tclers.tk 5222'''. Another popular jabber server is jabber.org. Currently tkchat is not able to login to Google Talk accounts. ''Use Jabber SSL''<
> You can encrypt the connection between your computer and the jabber server. Most useful for proxies, but you can enable it for direct connections. Use it if it makes you feel better, remember, though that the tcler's chat is a public chat room. ''Auto-connect''<
> When enabled, this logon dialog will not be shown on startup, but you will automatically log in when you start tkchat. You must also enable 'remember chat password' for this to work. ---- **Chatting with tkchat** Just type a message in the entry line at the bottom of your chat window and hit the enter key. It is that simple! If you want to type a message with more than one line in it (as opposed to one long line, which automatically wraps), use the '''>>''' button to get a larger entry field, and click on the '''Post''' button to send your message. This is most useful for short pieces of code. For longer bits of code you should use the paste dialog accessed by typing Control-P or selecting from the chat area context menu. This will send your text to the web site at http://paste.tclers.tk/ and reply to you with the url of your pasted data. If you want to send a message to a single user you can click on their name in the Online Users list. This will open a new dialog which provides one-to-one chat with that user. Right-clicking on a users name shows a context menu which can let you view their user information, chat client version and sometimes additional details. You may also use the combo box to the right of the '''Post''' button. By default it has '''All Users''', but you can change it to any of the online users. Your message line will be pink-ish to indicate you are not talking to everyone. ***Commands*** If your message starts with a /, tkchat will try to see if it is a command. &|/me |Makes you perform an 'action', your message is displayed as: ''* yourname ''|& &|/ot |Make an off-the-record remark, your message will not be stored in the server chatlog (this doesn't mean that nobody is logging it!).|& &|/otme |Do an off-the-record action (like /me).|& &|/msg |Send a private ''message'' to user ''nickname''.|& &|/chat ?message?|Open a separate window to privately chat with the user identified by ''nickname'', optionally posting an initial ''message''.|& &|/memo |Send a private ''message'' to user ''user@jabber.server''. If the user is currently not logged in the message should be stored and presented next time she logs in.|& &|/afk ?reason?<
>/away ?reason?|Set your status to ''away from keyboard'' because of ''reason''.|& &|/dnd ?reason?<
>/busy ?reason?|Set your status to ''busy'' because of ''reason''.|& &|/back ?reason?|Indicate that you have returned.|& &|/nolog|All messages and actions you type after /nolog are marked 'off-the-record'|& &|/log|When you are done talking about your family, you can mark your messages to be recorded again.|& &|/nick |Changes your nickname to ''newnickname'', if that is still available. If the ''newnickname'' is in use by one of your other tkchat windows, tkchat will request the other window to release the nickname. You chat window will wait for the nick to become available, and grab it when it can.|& &|/noisy ?nick? ?minutes?|Toggle ''nick'' noisy for ''minutes'' (default 5). Messages from noisy users are not displayed. Not specifying a nick will give you a list of noisy users.|& &|/last |Query special user ''ijchain'' when user ''nickname'' was last seen.|& &|/?|Searches the chat window for ''search'' (backwards!). Repeating the search will find the next occurrence.|& &|/!|Clears the search and moves back to the end of the chat buffer.|& &|/help|Opens this wiki page in your web browser.|& ***Tcl community / utility commands*** &|/tip |Open a webbrowser with the specific TIP page (Tcl Improvement Proposal), try ''/tip 1'' to get more info.|& &|/bug ?group? ?tracker? |Open the sourceforge page for the Tcl/Tk bug/feature request ''number''.|& &|/wiki |Search the Tcler's Wiki for the ''search'' string.|& ***Miscellaneous commands*** &|/google |Open a webbrowser and do a google search.|& &|/googlefight |Open a webbrowser and perform a google fight between two words or phrases.|& &|/wikipedia |Open a webbrowser and send a query to wikipedia (abbr. /wikip ).|& &|/wiktionary |Open a webbrowser and send a query to wikipedia dictionary (abbr. /wikid ).|& &|/smileys|Show the available smiley images.|& &|/font |Change the chat window's font to family ''name''|& &|/size |Change the chat window's font to size ''number'' (positive integers only).|& &|/userinfo |Display registered information for user ''nickname'' (see below).|& ***User info / Hide user*** Users can put some info about themselves on the jabber server. To see these, do a right-click (from version 1.313 on MacOS X: Command-click) on the name in the user list (the right panel of tkchat). There comes a menu from which you can choose ''User info'' and ''Hide user''. Double-clicking the item opens a new window for a one-to-one chat. ---- **Chat history** When you log on, tkchat will ask you how much chat history you want to load. In the preferences menu, there is an option "Loading server history". You can use this to specify how much, if any, history you want to load on start up. ---- See also [Tclers Chat Tk GUI], [Improving Tcl Chat], and [tclapps], which is a module in the [tcllib] project at [SourceForge]. !!!!!! %|[Category Application]|[Category Internet]|% !!!!!!