mailto:davygrvy@pobox.com (Just some Tcl hacker dude) ---- I have a Tcl enabled IRC client I'm working on. It does some fancy stuff and I'm near to a release. Here's some screenshots: * Doing Japanese: [http://tomasoft.sf.net/in_a_japanese_channel.gif] * Doing Chinese: [http://tomasoft.sf.net/263.gif] * Doing Klingon (in utf-8 over IRC and back using the CTCP/2 method of escaping): [http://tomasoft.sf.net/klingon.gif] * being normal (boring): [http://tomasoft.sf.net/in_an_english_channel.gif] ---- The client has been ''painfully'' designed to be 2 complimentary halves: * back-end (the irc_engine extension, 100% Tcl API only) * UI (whatever UI the user prefers according to the command control API) The irc_engine extension provides a single [Incr Tcl] class. The UI half (partialy undefined) also provides an [Incr Tcl] class. The two are brought together using inheritence like so: source irc_engine.itcl # =============================================================== # By selecting which IRC::ui class is sourced, we can switch # to what UI we want to use. # =============================================================== source irc_ui.itcl itcl::class IRC::connection { # =============================================== # Bring the 2 halves together using inheritence. # =============================================== inherit engine ui constructor {args} { eval engine::constructor $args } {} public method destroy {} {itcl::delete object $this} } ### Create a connection instance. set a [IRC::connection #auto] ### Connect to IRC. $a connect irc.qeast.net davygrvy DG {yo moma!} It fully supports many text attribute "standards" such as ircII, mIrc, ansi, hydra/besirc and ctcp/2. ---- [[ [Category Home Page] | [Category Person] ]]