Mmucl is a mud client written in Tcl/Tk. Tcl is a scripting language and Tk is its toolkit for building graphical interfaces.
Mmucl attempts to provide a mud client that can be easily modified and extended to fit whatever needs a user has. The core of Mmucl is a small compact library, mmucl.tcl. The procedures defined in that library take care of connecting to muds, checking mud output for actions, etc. Winmmucl and Xmmucl are just two graphical interfaces to that library.
If the first character of the input string is a #, then the string, with # removed is executed as a Tcl/Tk command. Use #command to execute Mmucl library procedures and procedures you define in mmucl.rc. For example #alias executes the alias procedure which is defined in the mmucl library.
Prepend a \ to the input string to have it sent to the mud without being modified in any way. If the input doesn't have a # or a \ in front, it is treated as a series of commands broken up by ;'s.
The first word of each command is checked to see if it matches an alias. If it does the the alias is executed. If it does not, then the command is sent to the mud.
Try to avoid modifying mmucl.tcl to add a feature. Instead put new procedures that you want available to all your characters in mmucl.rc or, if the procedure is only pertinent to one character, put the procedure in that character's init file.
When mmucl starts it checks to see if you have a file called mmucl.rc located in your Mmucl(rc_dir), it will be treated as a file containing Tcl commands and be loaded. Type #echo $Mmucl(rc_dir) to figure out where the directory is. Use mmucl.rc to set up procedures you want to have available to all your charaters. Look at the default mmucl.rc for a sample of what can be done. When making your own procdures keep in mind that you could adversely effect Mmucl by redifining core procedures or variables.
Xmmucl and Winmmucl load a file, mmuclGui.conf, to configure their graphical interfaces. If that file is present in your Mmucl(rc_dir) it will be loaded on start up. Otherwise a default mmuclGui.conf in Mmucl(lib_dir) will be loaded. Use the default as a template for designing your own. Read the comments in the default file for information on modifying it.
Right clicking in an entry will insert the selection, or if the selection is not present, the clipboard, at the current cursor position. In Winmmucl you can also select paste from the edit menu to insert the clipboard.