---- '''Now at version 0.2.20, last updated July 12th 2004''' ''Latest change: bugfixes by LV. // Taskbar flashes correctly on MS Windows with an additional DLL (see below)'' ''[MG]'': Potato is a MUSH/MUD/MOO/MU* client written in Tcl/Tk. It was originally started by a friend of mine, who named it Potato (so don't blame me for that;) and I began a re-write about a year ago to add more features to it. The list of features included (and missing that I plan to add) are shown below. It's very much a work-in-progress; it works ok on Windows (tested on 98 and XP), but has hung on Linux every time, so far, and hasn't yet been tested on MacOS. (I don't have a Linux box; a friend has been helping me debug, though she's not too familiar with Tcl, which makes it a little difficult. If anyone with more experienced could lend a hand, it would certainly be appreciated!) There's a screenshot (Windows 98) at the bottom of the page. Since the code is a little large, it can be found at [http://www.geocities.com/mush_code/potato.htm], rather than on the Wiki itself, along with a copy of Winico 0.3 which I had lying around (I didn't write or compile Winico, I just found it online). Potato uses Tcl/Tk 8.4 and Iwidgets 4.0, with Winico 0.3, Img and snack all being optional. It also uses [ctext] for the syntax highlighting in the text-editor (again optional). Disclaimer: use this code at your own risk; if it breaks or causes you problems, don't blame me. :) Please don't claim credit for my code, and please send me any improvements you make or think of, whether it's just ideas or actual Tcl code. I can be reached via email at talvohornblower@hotmail.com . At present there's no help-files, but if and when I get around to writing them, everyone who sends things in will be credited. In the mean time, I'll just rig up a tk_messageBox with credits, or something like that :) I can't guarantee that the code is perfect, or even fairly good; I'm a 17 year old who took Tcl up as a hobby last year, not a professional coder or anything, so if you see something that could be made better, please do let me know :) Features currently available: * ANSI color hiliting, and the ability to customize colors * minimize to system tray (MS Windows only; requires Winico) * support for MUSH/MOO and MUD game types * address book for storing World info, as well as a 'quick connect' * Several logging options; log the buffer, output from here onwards, or log the buffer in HTML to preserve ANSI colors * Connect to up to 20 worlds (configurable; search for 'set conn(full)' and read the comments) * ability to hilite a string, omit it from logs, and/or gag it from the display, as well as others, based on regular expression matching * auto-reconnect mechanism * F-key assignment for each world * slash-commands (/command) for certain things for extra speed; type '/slash' for a full list * ''NEW - April 25th'' Customizable slash-commands. Go Options -> Change Global Settings, and select the Slash-Aliases tab. The 'alias' is the command (ie, boo for /boo), and can contain only letters or numbers (^[[a-zA-Z0-9]]+$). 'command' is what's sent to the MUSH. Use %0 to mean the first argument given to the command, %1 for the second, etc.. Appending a caret (%0^, or %1^) means 'from argument X-1 to the end'. So an alias of 'tell' and command of 'page %0=%1^' makes "/tell bob Hi Bob" the same as "page bob=Hi Bob". . Requested by Jobrand@ElendorMUSH. * mail window which supports most major MUSH @mail/+mail formats * built-in text editor, with PennMUSH syntax highlighting via the [ctext] package (suggested by Jobrand@ElendorMUSH), and spell checking with a simple 'word list' dictionary (the spell-checking code is based heavily on [RS]'s code at [http://mini.net/tcl/882], after much nagging from Karen Reynolds:) * command-input history buffer * two input windows, each resizable; one for typing in lengthy poses, the other for greeting players on channels, etc - I don't know how many times I've lost poses or code in other clients because I had to copy/paste to say hello to someone * search recieved text * Flashing ANSI can be disabled on a per-world basis (thank God;) * Upload text from a file (useful for MUSHcode), much like /quote in tinyfugue * support for multiple languages (although it only has US English at present, and the support is only 95% implemented) * Flash taskbar on activity (additional DLL required on Windows; unzip this [http://www.geocities.com/mush_code/winflash.zip] into /lib/ folder. DLL by Youness El Alaoui (KaKaRoTo - kakaroto@users.sourceforge.net)) * Allow the Number-Pad to work as a map (8 is North, 2 is South, etc) * Automatic Prefixing to all lines in a Send window, with custom prefixes supported as well as a few standard ones * Toolbar showing all connected worlds. buttons change color to represent different 'statuses' (new activity, disconnected, etc) Features that I'm hoping to add soon: * a regexp-based log editor, for clearing out chatter, etc * a spell-checker; having trouble finding a good, cross-platform way to implement this ''April 1st - Now added!'' * Timers (send a command to the MUSH at regular intervals). This is actually implemented already, though w/o the config screen done you can't configure them. Working on that :) Features I'm not likely to support for a LONG time: * HTML (a la Pueblo), including accented characters; too much for me at the moment It's not perfect, by any means, but I've been using it for several months now, as have one or two of my friends, and I definitely find it useful. :) You're more than welcome to use the code if you want, though I really would appreciate any comments/suggestions. If you find a bug, please let me know, and if you write a fix for it, I'd appreciate a copy of that, too. (talvohornblower@hotmail.com) For an example of a MUSH, check out ElendorMUSH [http://www.elendor.net], a free Lord of the Rings Role-playing game. Mike Griffiths (Talvo@ElendorMUSH) ---- '''Comments''' [FW]: You have an extra newline at line 5251 of the script, which makes it unusable (error) without editing. Also, your window flashes like crazy as it resizes - I'm epileptic, I feel jeopardized ;) Also, your client opens up in a very similar small, tall window size to [TkMOO]. Coincidence? ;) ''I can't see the problem with the extra new line you mentioned; checking with the editor I use, there's no problem at line 5251, and it runs fine for me (Win 98). *grins* And yes, that is a coincidence ;) It just comes up 80 characters wide (default for telnet) and high enough to be useful ;)'' ''*shudders* I always run it maximized, and hadn't noticed the flashing on resize. I'll fiddle about a bit and see if I can't sort that, 'cause it looks terrible.'' -- ''OK, looking closer, the flashing seems to be part of the Iwidgets Panedwindow code, not actually a part of my code. I don't suppose anyone knows of a way around the flashing?'' ---- ''March 19th - [MG] fixed a bug in the text editor window. '' ''Also fixed the 'bug' which made the client hang while it was (re)connecting, using the -async option for the [socket] command (and using code taken from that page).'' ---- ''March 25th - [MG] added syntax highlighting for PennMUSH code into the Text Editor window. To allow this, the program now loads the [ctext] package, if available.'' ---- ''March 28th - [MG] fixed a bug in the Text Editor which stopped it from working/working correctly if you didn't have [ctext]'' ---- ''April 1st - [MG] added a spell-checker in the Text Editor window, improved the syntax highlighting, and added an option for 'escaping' MUSH-code by adding a backslash in front of certain characters (currently the same characters as PennMUSH's escape() function). If there're any Linux TCL'ers/MUSHers out there who have a little spare time, I'd greatly appreciate any feedback they could give me, too :)'' ---- ''April 4th - [MG] fixed a bug in the mail window (proc mail_send) that stopped sending mail with single quotes (") in any part of the message from working.'' ---- ''April 25th - [MG] Not sure if anyone's using this, or really cares, but I'm enjoying updating it ;) Added a feature for customizable slash-commands. See the 'Change Global Settings' menu to do it, and the description above for how it works'' ---- ''May 25th - [MG] Fixed a bug which caused the client to think it'd been booted, if the game you were connected to sent the string ''-1''. Stupid bug in the ''get_mushage'' procedure.'' ---- ''July 12th - [MG] Flashing the taskbar now works on MS Windows, with an additional DLL from (Youness El Alaoui (KaKaRoTo - kakaroto@users.sourceforge.net) is the author of that DLL). A copy can be obtained (zipped) at http://www.geocities.com/mush_code/winflash.dll [http://www.geocities.com/mush_code/winflash.dll] - you'll need to unzip the two files into the /lib/ folder. Without them, taskbar-flashing is done via ''wm deiconify .'' which doesn't always do the correct thing on MS Windows.'' ---- [LV] I tried the potato.txt on my SPARC Solaris 8 system, using Tcl/Tk 8.4.4 . I get this error (I have Img 1.3): bitmap "::img::iconbitmap" not defined while executing "wm iconbitmap . $p(iconB)" ("eval" body line 1) invoked from within "eval "wm iconbitmap . $flag \$p($icon)"" (procedure "setIcon_init" line 54) invoked from within "setIcon_init" (procedure "splash" line 555) invoked from within "splash" (file "./potato.tcl" line 9991) ---- [LV] Also, the line starting a web browser for windows machines which uses a regsub appears to have an extra ]] character on the regsub eval exec line. Later, when invoking a browser on Unix, the variable $url is used instead of, I suspect, $page. Down in the code which invokes playSound (it has the text mc word,play), it appears there is an excess ]] in the -command argument. ''[MG] Thanks very much, Larry. All of those have been fixed, now. One of these days, I must learn how to actually use 'wm iconbitmap' (not to mention get Linux installed and figure that out, too).'' ---- [LV] If you ever get a chance to use [ActiveState]'s [TDK], try out their [tclchecker]. It shows a developer a lot of interesting things. Not all may be relevant, but certainly some of the above things can be caught. ''[MG] Unfortunatly, it's a little more than my budget can stretch to, at the moment. Hopefully I'll get it some time in the not-so-distant future, though, it certainly looks like it'd be useful, if/when I can.'' ---- Screenshot taken on MS Windows 98: [http://www.geocities.com/mush_code/potato.gif] ---- * For other Chat and Instant Massaging Applications in Tcl-Tk, see: [Chat and Instant Messaging Applications in Tcl-Tk] * For a complete list of applications in Tcl-Tk, see: [Applications in Tcl and Tcl/Tk -#Index-] ---- [[ [Category Application] | [Category Internet] ]]