STIGC-1.9 client for ATARI ST Geert-Jan van Opdorp and Jan van der Steen 1. Introduction 2. Starting up the client 3. Exiting the client 4. Getting online help 5. Setting defaults 6. Tell expansion 7. History 8. Inline editing 9. Using the "who" command 10. Walking through a Go game 11. Kibitzing 12. Windows and input/output 13. Sounds 14. Announcement list 15. Internet Go Dictionary 16. Miscellaneous 17. Known Problems 18. Finally A. Command overview B. Resource overview C. Environment variables 1. Introduction This is a first fully operational release of a IGS client for the Atari St computers, both monochrome and color. Amongst others it supports the mouse and uses graphics to show the board. Send questions and suggestions to opdorp@sara.nl or jansteen@cwi.nl. 2. Starting up the client To use the client, first login to the UNIX machine (by modem) using your favorite communication software; then exit that program (while leaving the connection established!). Next, startup STIGC. STIGC will automatically send the telnet command for you. By default STIGC will connect to Pennsylvania, but when it's down you might want to try the other Go server: name host address port -------------------------------------------- igs bsdserver.ucsf.edu 6969 fr flamingo.pasteur.fr 6969 Example: you could connect to France with: "STIGC fr". You can overrule the default username and password as specified in the resource file (See section 5, "Setting defaults") by using the "-s" command line option. 3. Exiting the client To exit: type quit to logoff from server, then type 'break'. Use the communication program to logoff from the UNIX machine. If you are not observing or playing it is possible to exit the client with 'break' without logging off from the server. You can then later start STIGC again, but will get a message 'Unknown command Telnet ...'. Important: ********************************************** *** Never forget to logoff from the server *** *** with 'quit' if you are really quitting *** ********************************************** 4. Getting online help For online help on the client hit the key. The program will display the contents of the file "STIGC.HLP" page by page. Although a default help file is supplied, you are of course free to create your own. For online help on the server type 'help [command]'. For even more online help you are invited to contact either "opdorp" or "jansteen" on the server (that is, if we are there of course). But please keep it short while we are playing. 5. Setting defaults You can initialise your favorite defaults using the resource file. The resource file should be called "IGC.RC" and reside in the directory from which stigc was run. Included is an example of a resource file: login your_user_name # Fill in your own user name on IGS password your_password # Fill in your own password on IGS coord 1 # Show board coordinates sort rank # IGS/game/name/rank # # Window sizes # gwin 2 # lines for Match/Result window nwin 2 # lines for connect/disconnect window iwin 4 # lines for input window # # Sound preferences: # # 0 = silence # 3 = soft # 6 = medium # 9 = loud # snd_connect 0 # Connect/Disconnect snd_info 3 # Various information snd_game 3 # A Game started snd_result 3 # A Game finished snd_error 6 # Various errors snd_edit 6 # Editor errors snd_observe 6 # Observe loaded snd_moveput 6 # Move send snd_moveget 6 # Move received snd_kibitz 6 # A kibitz message snd_tell 9 # Someone talks to you # # Add keymappings # who games uptime stats telnet 128.32.201.46 6969 # # add the following lines to the history # history tell opdorp history tell jansteen history games history who # # Keep track of the following people # announce tim announce tweet announce fmc announce jy23 announce cuckoo announce bibi announce zhong announce lyu announce zaphod announce AKQJ10 announce HUH00 6. Tell expansion Do you know the situation when you are talking with two or more users. Your fingers slowly turn blue... We have implemented a function which might save you a lot of typing. For example, imagine you are talking to the following people: tell opdorp I found a bug in stigc! tell jansteen I just told opdorp that I found a bug! tell jujutse Hi, a game? Next, you can abbreviate the tell command to either of them with: Input Expansion ----------------------------- o tell opdorp ja tell jansteen ju tell jujutse x tell x The "x" is expanded to just "tell x" since you didn't talk yet with someone who's name starts with an "x". 7. History Another way to save typing might be to use the history facility. The program remembers all commands you typed (when memory allows it). You can move through the history list with: Command Meaning -------------------------------- ^P previous command previous command ^N next command next command ^P = P ^N = N = arrow up = arrow down If you want to execute the command just hit the key. But you could also first edit the line before sending it (see next paragraph). The way the program fetches the previous/next command depends on the cursor position. The program considers the characters in front of the cursor as the search pattern to look for. For example: tell username Some message ^^^^^ | cursor position In this case a ^P (previous) command will give you the previous line starting with the string "tell". You can browse through all "tell" commands you've given. Another example: tell username Some message ^^^^^^^^^^^^^^ | cursor position In this case using ^P/^N you can browse through all "tell" commands which you had with user "username". If the cursor is at the beginning of the line the search pattern is empty so in that caes you just fetch the previous/next line with the ^P/^N commands. 8. Inline editing You just entered 80 characters of text and then you notice a mistake in the first word ($%^&*!!!). The program has a small but convenient editor build in which allows you to correct such mistakes without having to enter the complete line again. The supported editor commands are emacs-like: Command Action ----------------------------------- ^B Go back one char ^F Go forward one char ^A Go to begin of line ^E Go to end of line ^H Delete character before the cursor ^D Delete character below the cursor ^K Delete to end of line ^U Delete entire line ^T Exchange last two chars ^W Delete previous word up to end of line ^R Redraw complete line ^M Send entire line (execute line) ^J Send entire line (execute line) ^G Add line to the history but don't send it The editor has non-control key equivalents for most commands: Command Action ----------------------------------- Go back one char Go forward one char Go to begin of line Go to begin of line Go to end of line Go to end of line Delete character before the cursor Delete character below the cursor Send entire line (execute line) ARROW_L = ARROW_R = = 9. Using the "who" command Why a special section on using the who command? Well, there are two reasons: First, you can execute a local who command called "lwho". This means that the information collected by the last "who" command will be re-displayed. The main advantage is that this command responds quick (since no data is being transferred). Next, you can determine yourself how the "lwho" output is being sorted. Just execute: "lwho ". The supported are: Sort mode Meaning ----------------------------------------------------------- IGS Order in which users have logged in name Users ordered alphabetically rank Users ordered by rank game Users ordered by game (they play or observe) 10. Walking through a Go game If you are observing a go game you might want to go back some moves to see the beginning you missed or to study the opening for example. The program supports the following commands: Command Meaning ------------------------------------------- ( Go back one move ) Go forward one move - Go to the start of the game + Go to the end of the game goto n Go to move number n (Single keys are on the keypad, utter right of the keyboard) Sometimes you want to go to a particular move on the board. In that case you click that stone with the mouse while pressing the key. The program will rewind the game till the moment that move was played. 11. Kibitzing While kibitzing on a game you can enter "B o17" by pressing the left mouse button on square "o17" on the Go board. Likewise, you can enter "W b3" by pressing the right mouse button on "b3". 12. Windows and input/output Once you start observing a game the right side of the window is split up in four parts: Window Default size Set with -------------------------------------------------------- Matches start and end 3 lines gwin Users connect and disconnect 3 lines nwin Input window 3 lines iwin Kibitz's, tell's and shouts 16 lines - During a session you can change the size of a window. Use size 0 to remove a window completely (you can get it back). If you work with quiet=false we would advise you to set the match window (gwin) and noise window (nwin) both to 0 lines, since no messages will ever be displayed there. You can investigate the current setting with the command "wins". 13. Sounds By using distinctive sounds the program tries to inform you better about the kind of information arriving at the client. Currently, the programs sound collection consists of only four sounds: Sound code -------------------- silence 0 soft 3 medium 6 loud 9 We intentionally left some gaps in the codes for possible future enhancements. The following events create distinctive sounds: Event Default sound Change with --------------------------------------------------- Connect/Disconnect silence snd_connect Various information soft snd_info A Game started soft snd_game A Game finished soft snd_result Various errors medium snd_error Editor errors medium snd_edit Observe loaded medium snd_observe Move send medium snd_moveput Move received medium snd_moveget A kibitz message medium snd_kibitz Someone talks to you loud snd_tell The sounds can be set by you dynamically (using the above commands) or by using the resources with the same name. Please refer to STIGC.RC. 14. Announcement list Sometimes you have special interest in the ongoing of someone. For example, your opponent lost connection and you want to know when he/she reconnects. Or maybe you want to be informed about games started by strong players like jy23, cuckoo, lyu or zhong. For this feature we inplemented the announcement list. You can initialise this list in the resource file stigc.rc, or you can add names dynamically with the "ann " command. 15. The Internet Go Dictionary The Atari IGS client (STIGC) is proud to be the first client supporting local access to the online Go dictionary. The interface used by STIGC is just the same as the "translate" command installed on IGS, expect that the abbreviation "tr" is used: tr keyword This will return all entries in the dictionary containing "keyword". Using the environment variable "STIGCDICT" and the "-l" flag you can specify the languages you're interested in: Language Code ----------------------- Japanese (pinyin) jp Chinese ch Korean rk English gb Dutch nl French fr German ge diagrams dg captions cp all languages a The supported languages ----------------------- You specify the languages as a list like in: "-ljp -lch -lgb -ldg -lcp". Besides the languages, you can also specify the type of entries you're interested in. Category Code ------------------------------------- polite, conversation p championships c names of Go players n numbers d technical (Go terms/expressions) t all categories a The supported categories ------------------------ Like the languages, you can specify a list like in: "-tp -tt". Finally, the "tr" command recognises the "-v" flag, indicating that while loading the dictionary STIGC should report about the process and tell you the number of dictionary entries actually loaded. You can fetch the latest version of the Internet Go Dictionary by anonymous ftp from the Go archive: ftp : bsdserver.ucsf.edu dir : Go/prog file: intergo-.tar.Z 16. Miscellaneous commands You can toggle the board coordinates with ^X. Sometimes it can happen that telnet echo's your commands. You can toggle this echo with the "echo" command. 17. Known Problems 1. Just after startup the program does not always react on input, especially in full-screen mode; keep hitting on the keyboard :). 2. The program does not see if telnet connection gets actually established. Logging on takes some time, but if it takes too long you should exit (with 'break') and start the terminal emulator to check. 18. Finally We would like to thank you for using STIGC. We would appreciate it if you mention your questions, suggestions and wishes to: Real life E-mail IGS -------------------------------------------------- Geert-Jan van Opdorp opdorp@sara.nl opdorp Jan van der Steen jansteen@cwi.nl jansteen We would prefer E-mail and please keep the conversation short when we are playing. Appendix A. Command overview Command Argument Description ---------------------------------------------------------------- ! string Local system() escape !sh - Start up local shell (SHELL) - Online help - Show function key map ann string Add user to announcement list annlist - Show announcement list echo - Toggle telnet echo gmt - Show time table gwin # Specify "game" window size iwin # Specify "input" window size lgames - Show cached games list (sorted) lwho string Show cached who list (sorted) nwin - Specify "connection" window size snd_connect # Set connect sound snd_edit # Set edit error sound snd_error # Set general error sound snd_game # Set game info sound snd_info # Set general info sound snd_kibitz # Set kibitz sound snd_moveget # Set move sound snd_moveput # Set moved sound snd_observe # Set observe sound snd_result # Set result sound snd_tell # Set tell sound tr string Translate a word unix # Escape to UNIX user string Compact info of user users - Compact listing of users wins - Show surrent window sizes Appendix B. Resource overview Resource Argument Description ------------------------------------------------------------ string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key string Bind command to function key announce string Add user to announcement list coord # Show (don't) coordinates gwin # Specify game window size history string Add string to the history iwin # Specify game window size nwin # Specify game window size snd_connect # Set the connect sound snd_edit # Set the edit error sound snd_error # Set the general error sound snd_game # Set the game sound snd_info # Set the info sound snd_kibitz # Set the kibitz sound snd_moveget # Set the move sound snd_moveput # Set the moved sound snd_observe # Set the observe sound snd_result # Set the result sound snd_tell # Set the tell sound Appendix C. Environment variables Name Value Description ----------------------------------------------------------------- INTERGO string Path to the intergo dictionary SHELL string Path to shell program STIGCDICT string options for intergo dictionary STIGCTERM string Path to terminal program TMP string Path to directory for dump files