CLChatGUI ********* Welcome to the CLChatGUI, a full-featured GUI client to the CLChatSystem for AmiTCP. The CLChatSystem, which is originally part of the Connectline BBS package, provides a multoi-server, IRC-like chat system with multiple channels, private messaging, operator privileges and more. Within Connectline, also online user and Hydra file transfer protocol chat user may join the chat. See the `CLChatServer Documentation' for more information about Connectline. Connecting ********** Installation is fairly simply. Simply put the archive contents somewhere on your harddisk. Note that you need MUI 2.3 or better! Before you can use CLChatGUI, you must connect to a chat server running CLChatD. When started, CLChatGUI will prompt you for a server name and a port number to connect to. If you are connected to a LAN, you should ask your network adminstrator for both server name and port number. If you are connected to the Internet, see ARCnet for a good choice of servers to connect to. You must also specify a Nickname and your Realname. The nickname is a kind of username used within the chat system. It may be up to 15 byte long and must consist of letters, digits and the characters . and _. The realname is used for informational purposes only. Note that the server may reject your connection attempt because the entered nickname is invalid or already in use by another chat user. Change your nick and retry the connection. CLChatGUI keeps a history of the last servers you have connected to. You may choose from the history by clicking on the popup button right from the server name string gadget. The history is saved within the configuration file. Local chat ********** If you start the client on a machine running the CLChatServer, it will not connect using AmiTCP, but directly link to the chat server to reduce overhead. If you want to avoid this behaviour, e.g. for testing purposes, start CLChatGUI with the TCPMode keyword or specify the TCPMode tooltype. Using CLChatGUI *************** After connecting to the chat server, the main window opens. It consists of a channel selection gadget, a topic gadget, the main output window, your input string gadget and the user operation gadget group. It also features a menu bar with several options and shortcuts for server commands. You send text to the chat server by simply entering it in the input gadget. Commands are also send to the server by entering them in the input gadget. You may want to use the /HELP command to learn about available server commands. The input gadget is normally automatically activated; if it is not, simply press SPACE to activate it. A history of the last 100 lines entered is kept; you may use Cursor/UP or Cursor/DOWN for accessing entries in the history. Changing channels is done by entering a new channel name in the channel selection gadget. Note that the server will automatically create a channel if it does not exist. Already existing channels may be selected with the popup listview right of the channel gadget. The popup button has a hidden keyboard shortcut h which opens the channel selection listview. If you have channel operator status, you may change the current channel's topic by entering a new one in the topic gadget. The contents of this gadget are automatically updated if someone else changes the topic. User operations *************** The user listview displays all users currently logged into the chat server and the name of the channel they are currently on. Users with channel operator privilege are marked with a @, users with chat operator privilege are marked with a ! before the name. Double clicking on an entry in the user listview requests a /WHOIS user command from the server. Pressing the Dialog button opens a special so-called dialog window. A dialog window works much like the main windows, but every text entered within a dialog window is send directly as a private message to the user. Also, any incoming private messages from this user are displayed in the dialog window and not the main window. If the Auto checkbox is selected, a new dialog window is created for the originator of every incoming private message. If you have channel or chat operator privilege, you may also use the OP, DEOP and KICK buttons to perform the requested operation on the selected user. Via the PING button you can request a PING request from the selected user. If the user is running the GUI client, too, you will eventually receive a reply stating the round-tripe time from you to the remote user. This is usefull for TCP connections only. If you have a TCP connection, you may also use the Send Files option to directly send files to the remote user; see FileTransfer for more information about this operation. Setting the AWAY checkmark causes the AWAY message to be printed, and every private message to you will automatically respond with Nick is away (AWAY message). Setup ***** In the setup window, you may modify several operation attributes. Autoconnect will cause an automatic connection attempt each time the CLChatGUI is started. Setting Auto Reconnect will cause automatic reconnect attempts if the connections drops. File Receive Path specifies the path you want incoming CLFT files to go (See FileTransfer.). Setting Auto Receive will start a CLFT receive session without prompting you for confirmation. Max. Number of Lines specifies how many lines of incoming text will be stored for the output listview. You may log all or some of the chat server output to a log file; you may individually select Private, Server or normal Text messages to be stored in the log file. The Event Handling checkboxes set the reaction of special events. You may set Deiconify to automatically deiconify the application on the given event, and DisplayBeep to just have the screen beep. The message section allows you to specify standard texts send to the chat for given operations. The AWAY message is set when you select the AWAY checkbox in the main window, the BACK message is send when you clear the checkbox. The KICK message is a default kick reason if you kick users using the KICK button below the user listview. You may create several different configuration files using the Save... and Load... items from the menu bar. If you create icons for the configurations, you can start CLChatGUI by simply doubly clicking on the configuration icon. FileTransfer ************ If you connect via AmiTCP, you may also use the CLFT protocol to directly send files to users linked to the chat network (comparable to the IRC `DCC protocol'). Simply select the user you want to send to, press the Send files button and a filerequester will open. You can also directly drop Workbench icons onto the user listview to have the correspondending files to be send to the currently selected user. If you have dialog windows open, you may also directly send files by dropping Workbench icons onto the dialog window. When you have selected files, a CLFT request will be send to the remote user, and the CLFT sender window will open on your side, awaiting a connect from the receiving site. The receiver will then eventually connect to you via TCP and grab the files offered to him. If you receive incoming CLFT requests, a requester will open showing you the originator of the request, the number of files to be send and a list of the files to be transfered. You may accept or reject the request, or you may change to destination directory. Use the Setup window to change the default path in which incoming files are stored. If you have Auto Receive set, no prompt will appear, but receiving will start immediately. Incoming files are tagged with a filenote designating the originator nick and IP address for later identification. If an equally named file already exists, the file name is postpended with ".2", ".3" etc. You may abort file transfers at any time by clicking on the close gadget of the receive or send window. All transfers currently waiting or in progress will automatically terminate if you quite CLChatGUI. Note that you cannot send files to users which are connected via TelNet or the Connectline ANSI client. ARexx commands ************** CLChatGUI features an ARexx port. The port name is CLCHATCLIENT.nr, with nr starting at 1 and increasing for every instance of the program started. Besides the builtin MUI commands (see the `MUI User Guide'), CLChatGUI current features two commands: SEND TEXT/F Sends the given text string as it was entered in the input string gadget. Note that you may also send server commands this way. RECONNECT Cause the CLChatGUI to reconnect to the current server. Server Commands *************** Below is a list of normally available server commands. Don't forget to use the /HELP command to learn if your server supports a different command set. * /CHANNEL [name] Join or create a channel * /INFO [name] Show all or specific channel * /WHO List users in channel * /USERS List all users in chat. Note that the output from this command is silently interpreted by the client and not displayed in the output window. * /USERS S List all users in chat together with the servers they are on * /WHOIS nick Show info about user * /MSG nick msg Send private msg to nick * /NICK [nick] View or change your nick * /ME msg Send action string * /VERSION Show server version * /SERVERS Show other servers connected to your local server Operator only commands: * /OP nick Give operator state to nick * /DEOP nick Remove operator state from nick * /TOPIC topic Set topic of channel * /KICK nick reason Kick nick out of channel There are also special Chat operator commands which are not visible to the normal user or channel operator. Use the /HELP command to obtain a list of chat operator commands directly from the server. ARCnet ****** ARCnet, the Amiga Relay Chat Network, is a Internet based network of CLChatServers available for public usage. As the time of writing, the following servers were connected to the network: * us1.clchat.vapor.com * us2.clchat.vapor.com * us3.clchat.vapor.com * us4.clchat.vapor.com * de.clchat.vapor.com * it.clchat.vapor.com All servers run the CLChatServer on port 5555. All these servers are online 24h/day. Check out http://monet.nfinity.com/arcnet/ for up-to-date information about the ArcNet server list. Copyright ********* The CLChatSystem (CLChatServer, CLChatD , CLChatLink and CLChatGUI) is (C) 1996-1995 Oliver Wagner, All Rights Reserved. The package may be distributed freely as long as all files are distributed as a whole archive and are not modified in any way. CLChatGUI is a MUI application. MUI is (C) 1993-96 Stefan Stuntz. AmiTCP is (C) 1994-1995 NSDI Inc. Please send bug-reports, suggestions and comments via E-Mail to owagner@lsd.wupper.de. Updates are placed on AmiNet; they can also be downloaded via anonymous FTP directly from ftp.vapor.com. You can also check out anonymous FTP at the servers listed in the ARCnet reference if they have a better link to your host. History ******* Version 1.7 * Fixed a bug where small windows caused the the line formatter to loop infinitely * added /SERVERS command to server command menu * default setting was saved to ENVARC only, so attempting to load defaults without quitting caused the old defaults from ENV to be read in Version 2.0 * added CLFT file transfer capability * added /USERS S command to server command menu * miscellaneous internal fixes & cleanup work * now TCPMode can be used as a workbench icon tooltype, too Version 2.1 * scroller now does not jump to the bottom when new entries are appended if it not already was there. * smoothed out removing of lines in the main listview. * added PING option to test round trip time to another user. Note that his works with the GUI client only! * fixed workbench startup bug: always attempted to load the executable itself as a settings file thus ignoring any default settings in ENV:. * added new option Auto Reconnect to automatically attempt to reconnect if the server connections breaks down. * nick changes are now tracked and correspondending dialog windows are updated with the new nickname * changed ping frequency back to 15s to reduce IP load * miscellaneous internal fixes & cleanup work Version 2.2 (internal) Version 2.3 * smoothed out scroller handling a bit; will now jump to the bottom on window resizes, and will jump as long as no more than two lines are scrolled up * file transfer tasks now run with priority 1 for maximum performance * added better icon created by `NEUMANN' * minor speedup in listview display hook * added missing cycle chain for option window Version 2.4 * now activating any output window automatically actives the correspondending input string gadget Version 2.5 * fixed bug with lines > 255 chars to be corrupted upon listview insertion * fixed several types in texts * now file transfer can be initiated by dropping icons onto a dialog window * will no longer change topic string gadget contents while user is editing it Version 2.6 (internal) Version 2.7 (internal) Version 2.8 * changed prefix entries to be more clearly * fixed several hidden internal race conditions regarding CLFT cleanup which could case enf-hits or visits to india * option window is now a register group * added CLFT auto receive option * added logging capability * added PING and SEND FILE buttons to the user dialog windows * it is now possible to enter commands in the user dialog windows * added server history feature * added AWAY feature * added AWAY, BACK and KICK message configurability * fixed topic gadget to always update when the window is deactivated even if it is the active object Version 2.9 * changed "лл" within dialog window to "IN" * fixed various problems with dialog window listview handling (no proper flushing, no proper jump-to-bottom) * now dialog windows will automatically be activated when "DIALOG" is select for an user for whom a window already exists * removed AmiTCP dependancy due to time() from net.lib. Now has it's own, even faster time() implementation using timer.device's GetSysTime() Version 2.11 * fixed word-wrap bug * added "CLFT Auto Close Window" option * several internal cleanups Version 2.12 (not released) * fixed CLFT Receive abort bug * added internal text commands "/PING nick", "/QUERY nick", "/AWAY " and "/SEND nick" as shortcuts for the equivalent GUI operations Version 2.13 * fixed CLFT Receive accessing the wrong SocketBase Version 2.14 (not released) * added regular quit operation including a preference definition for the default quit reason string if clchatgui is closed by close gadget, rexx command or CX exchange. /QUIT now causes CLChatGUI to terminate itself. * added version query. Syntax is "/VERSION user", version without any parameters get's send to the server as usal, querying the server version. * added proper error returns for wrong parameters with the internal text commands. * added Auto-Away capability, setting the user automatically /AWAY after X minutes of inactivity. * cleaned up User listview refresh. Now refreshes less frequently and keeps the previous selection state upon list changes. Now sorted alphabetically and by user state. * the clft send file requester now no longer rejects icon files. Version 2.15 * now quits with message "Changing Server" when changing server using the "Change Server" menu item. * updated the built-in default server list. Version 2.16 * fixed auto-away timeout to not be reset by input done in dialog windows. Version 2.17 * Auto-Away has now a checkmark for turning it on/off. * added auto away warning message. * Added Auto-Unaway upon message entering. * fixed options window cycle chain. * added a reset handler to gracefully terminate the server link upon CAA-reset. * added Autojoin channel feature. * fixed a bug in CLFT which caused file names which where ERROR_OBJECT_IN_USE to be not bumped accordingly. * now the CLFT process check MUI events more regularly, and outputs current cps in the gauge display. * no more AWAY respone for VERSION query replies. Version 2.18 (Release Version of 2.17) Version 2.19 * added support for private channels, including SetPriv/ClrPriv buttons for channel and Allow/Disallow buttons for the user listview. * added VERSION request button to the user listview. * the user listview buttons are now using the tiny MUI font. * now dialog windows have a input string history, too. * fixed automatic string gadget activation when clicking into dialog windows. Version 2.20 * fixed CLFT windows to properly open on the screen the main window is on. * added DCC support for IRC compatibility. Note that /DCC SEND doesn't work correctly if no filename is specified on the command line. Requires DCC.xxx.AS225. * "Send files" from dialog windows didn't worked correctly. * various internal fixes. Version 2.21 (internal only) Version 2.22 * added support for ircII formating codes: CTRL-B, CTRL-_ and CTRL-V. You need to turn of Input Filtering in IControl Prefs to use these. * now, the CLFT incoming requester will also appear on the right screen. * CLFT send is now compatible with file requester implementations which don't correctly return fr_NumArgs == 1 when only a single file is selected. Version 2.23 * some internal cleanup (i.e. the main module is no longer compiled with NOCONSTLIBBASE to save speed & size) * now autounaway is only triggered by public messages. This also fixes the bug that /AWAY doesn't work correctly when autounaway is active. Version 2.24 * now bums the nickname to "nick1", "nick2" etc. if nickname is in use during login. * small internal cleanups. Version 2.25 (not released) * stupid bug in AWAY loop protection fixed. Version 2.26 * now /SEND can accept file names as well (e.g. "/SEND nick ram:arc.lha"). * no longer crashes upon receiving ^C in TCPMode Version 2.27 * removed now unnecessary /USERS request upon receiving [LINK] or [UNLINK] messages. * no longer crashes when trying to send something in the connect window via the server command menu. * now reacts on ^C in local mode as well. * the "Auto-AWAY in 1 Minute" now also occurs in local mode. Version 2.28 (not released) * can now play a sound instead of simply beeping. Uses sound.datatype, so can load everything you've got a data type for. Version 2.29 * fixed e-mail & http addresses in info requester. Version 2.30 * fixed the default server list. * added a default sound setting for OS 3.x machines. * added a sample sound file courtesy of Sandro Catallo. * recompiled with SAS/C 6.56. * fixed some MUI3 stuff. Version 2.31 (internal only) Version 2.32 * added some MUI3 support. * fixed potential crash on dialog window close. Version 2.33 * did some GUI cleanup. * hopefully finally fixed the crash problem with closign dialog windows. Index ***** ARCnet ARCnet ARexx commands ARexx commands Connecting Connecting Copyright Copyright FileTransfer FileTransfer History History Local chat Connecting Server Commands Server Commands Setup Setup User operations Using CLChatGUI Using CLChatGUI Using CLChatGUI