The chat application for the [Tcl Chatroom] which now implements [The Next Generation Tcl Chatroom]. It is based on the [Jabber] protocol. tkchat provides several Tcl community specific features. '''Getting tkchat:''' * If you have [tclkit] or a recent [ActiveTcl]: http://mini.net/sdarchive/tkchat.kit * For [windows], if you don't have [tclkit]: http://mini.net/sdarchive/tkchat.exe * CVS: see [tclapps]/apps/tkchat - you will need additional libs for it to work. The best choice is surely the kit file. It works with Unix, Windows, and MacOS X. [LV] Can you document where users go to find the additional libs necessary to make tkchat work now? [PT] Use the starkit files. The jabberlib project doesn't have a very consistent versioning policy so the best bet is to unwrap the current starkit if you need the parts. The starkit provides a known working snapshot of a fairly mobile target. We can try to ensure that the package versions required are available from http://tclers.tk/~jabber/ (or better: http://62.112.158.224/~jabber/) but the starkit is really the ultimate authority in this case. See [TkChat - A History] for the evolution of TkChat ---- [LV] But the tkchat.kit mentioned above doesn't appear to have been modified for 4 months. And some of the files in it are 3 year old or older. Is there a newer version of the jabberlib code that should be used ? ---- '''When in Rome, do as the romans do.''' The Tclers chat is a public chat. Please remember that you are talking to people, not robots! In general, the chat is about Tcl in all its uses, even EggDrop (although most of us don't know much about eggdrop). We seem to have an insatiable need to help people use Tcl/Tk, so just ask your question and you can usually expect an answer or a pointer on where to find the information. Sometimes, nobody answers right away, this is because we have lives and jobs. If you hang around, chances are good someone will see your question and answer it later on. This may even be two hours later on quiet days. As long as you don't leave, you may get an answer! ---- [TR] It seems, that you can not establish a new account using tkchat for the first time. You will just get an error message about unauthorized access (401). Do work with tkchat register using [tkabber] for example, close that program and start up tkchat again. Now you can login immediately and proceed like described below. Note also that you do not seem to be able to register via the cgi interface at http://purl.org/mini/cgi-bin/chat.cgi (or http://mini.net/cgi-bin/chat2.cgi?action=register). Although you can register there and use the chat via cgi, this registration info will not be processed to jabber, so tkchat will not know about your registration afterwards. ---- '''Logging In:''' When you start tkchat the first time, you will see a window like this: [http://pascal.scheffers.net/images/tkchat-logon.gif] Simply enter (your) username and password and click on the logon. If your account doesn't exist yet, you will be prompted for creating one. ''Your username does not need to be the same as your nickname, you can change it later on'' ''Using a proxy server'' tkchat can connect through a HTTP proxy server which supports the CONNECT method. You will almost certainly need to use an SSL connection for that, so download http://mini.net/sdarchive/tls.kit and save it next to your tkchat.kit. (you will need to restart tkchat after you downloaded the tls.kit). Enter the proxy details (ask your network admin or peak 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''' ''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. If you want to send a message to a single user, you can 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-topic remark, your message will be displayed in a lighter shade and will not be stored in the server chatlog (this doesn't mean that nobody is logging it!). /otme Do an offtopic action (like /me). /msg Send a private message to one user. /nolog All messages and actions you type after /nolog are marked 'off-topic' /log When you are done talking about your family, you can mark your messages 'on-topic' again. /nick Changes your nickname to newnickname, if that is still available. If the nickname 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. /? Searches the chat window for (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. '''Miscelaneous commands''' /google Do a google search. '''User info''' and '''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]. [LV]: Anyone know if the [starkit] version of tkchat updates itself from the sourceforge [cvs] repository appropriately? SCL: If it's the one I put together - no. [JCW]: Then again, anyone with a Tclkit executable can do this, or automate it... * keep tclkit and sdx somewhere on your path * keep a tkchat.vfs unpacked on disk * do a "cvs up" inside, so the scripts get updated * wrap it up with "sdx fs2sd tkchat" Note that sdx already skips CVS dirs when wrapping things up. ''(This is one more case which could benefit from some of the self-update plans that were started for use in [kitten])'' ---- [LV] sdx doesn't seem to recognize fs2sd as a subcommand any longer. ---- As of March 15, 2002, tkchat now converts some ASCII [emoticons] into images. ---- A version during September, 2002, prototypes an instream "[world-wide whiteboard]", which, unfortunately, makes the real chatroom really noisy for people not using tkchat. Hopefully someone will convert that support into support for one of the Tcl/Tk whiteboard programs like [Coccinella], [CVW], [Infocetera], the Netscape Tclet written by Mark Roseman, [VAD], or [xstatus]. ---- zg 06/10/2003 - TCL'ers chat can also be reached by IRC by using server: irc.freenode.net:6667 channel: #tcl ---- [LV] 2005-Mar-22 [PS] has (had?) a modified version of tkchat mentioned on his page that fetches tkchat entrance and exit messages from the wikit. Those might be interesting to incorporate. And providing hooks in the starkit version of tkchat to support the non-starkit version's ability to fetch the latest version of the code from the web site would also be useful. ''To update "tkchat.kit", there is also "sdx update tkchat.kit". This updates to latest rev on [sdarchive]. Better still would be a starkit which updates itself, but someone will have to write the code to make it happen. -[jcw]'' ---- I had a niggling annoyance using galeon as the browser. It choked on the openURL() form command tkchat uses to open a URL. The solution (under gnome, under Debian, YMMV) was delightfully simple: use /usr/bin/gnome-open as the browser. [CMcC] [AMG]: I had to modify my Firefox wrapper, fox-wrap [http://ioioio.net/misc/fox-wrap], to work with tkchat: If $1 is not "-remote", then the URL is $1, else if $2 matches "^openURL(.*)$", the URL to open is the .* part, else the URL is $2. The reason I wrote a wrapper in the first place was to add support for "local" files. My wrapper accepts, in addition to real URLs, absolute or relative filesystem paths. Also, my wrapper opens links in a new tab rather than a new window. Heh, I should rewrite fox-wrap in Tcl. :^) ---- [MJ] - For easy readback of the history, eval the following code in the console (Debug -> Console): .txt tag configure HR -background lightgrey bind . { # did the app lose focus? if {[focus] eq {}} { .txt tag remove HR 1.0 end # tag last line .txt tag add HR end-2lines end-1lines } } [MJ] - It turns out that this is exactly what the Autobookmark option in the Preferences menu is for. This will highlight in lightgray, the last line that was received when the application lost focus. ---- '''More miscelaneous commands''' [Jos Decoster] The following commands added to the switch statement in proc ::tkchat::checkCommand will allow you to search Wikipedia or Wiktionary: {^/wikid[: ]} { set q [http::formatQuery search [string range $msg 7 end]] gotoURL http://en.wiktionary.org/wiki/Special:Search?$q&go=Go } {^/wikip[: ]} { set q [http::formatQuery search [string range $msg 7 end]] gotoURL http://en.wikipedia.org/wiki/Special:Search?$q&go=Go } The googlefight interface was changed, the following update to the googlefight part of the switch statement in proc ::tkchat::checkCommand will enable it again from [tkchat]: {^/googlefight\s?} { set q {http://www.googlefight.com/index.php?lang=} if {[string match fr_* [msgcat::mclocale]]} { append q fr_FR } else { append q en_GB } set n 1 foreach word [lrange $msg 1 end] { append q "&word$n=$word" incr n } gotoURL $q } ---- [[ [Category Application] | [Category Internet] ]]