xics(1) xics(1)
NAME
xics - X-Windows interface to the Internet Chess Server
SYNOPSIS
xics servername [portnumber]
DESCRIPTION
xics is an X-Windows interface to the Internet Chess Server (ICS). ICS
is a program that allows players to connect to a machine over the
internet and play games with one another. Normally, the output of ICS
is in ASCII format which discourages chess novices from playing. xics
parses this output and displays the chess board on the graphics
screen. One can use the mouse to make moves (instead of typing them in
on the keyboard). The default port number is 5000.
xics initiates a telnet session with the specified host (ICS) and
connects to the given port number. It then opens up a graphics window
displaying the chess board. Any board position printed by ICS is
parsed and displayed by xics. When playing a game, moves are made by
clicking the mouse on the piece to be moved and then releasing the
mouse on the square where the piece is to be moved to. xics will
generate the proper move (e.g. a2-a4) and send it to ICS via telnet.
The usual ICS interface (via the keyboard) is still available.
You can use xics for watching others play chess too. Use existing ICS
commands such as "observe 0" and "refresh" to print the board, which
will automatically be displayed in the graphics window. Please note
that xics can parse boards printed using "style 1" or "style 8" only.
When invoking xics, keep the xterm window from which you invoke xics
handy. You will need it for entering your name and password and most
ICS commands.
AVAILABILITY
xics works only on UNIX(TM) machines running X-Windows. It uses only
Xlib and is otherwise quite portable.
TECHNICAL DESCRIPTION
xics creates a bidirectional pipe between itself and telnet. This pipe
is used to feed input to telnet as well as collect output from it.
xics multiplexes over 3 types of inputs:
stdin - whatever is typed on the keyboard is sent to the telnet
session
output of telnet - is printed on the screen as well as parsed for
displaying boards graphically
mouse clicks - are used to generate moves that are printed on stdout
and are also sent to the telnet session
- 1 - Formatted: November 2, 2025
xics(1) xics(1)
COMMANDS
In addition to ICS commands that can be entered using the keyboard,
xics will allow the following:
move pieces using the mouse -- To move a piece, drag it to the
destination square. This is irrespective of whether you are capturing
a piece, or simply moving a piece to an empty square, capturing a pawn
"en-passant", or promoting it to another piece. When a move is made,
no attempt is made by xics to see if the move is valid. The move is
simply sent to ICS. ICS will take care of ascertaining the validity of
the move. If the move is not valid, ICS will print "command not
found". If the move is valid, ICS will generate the new board and
print it. xics will grab this output and display it on the graphics
board. Thus the check for correctness of moves is taken care of,
indirectly. One can castle by moving the king to the proper
destination.
Play -- This button can only be used to respond to match requests from
other people. If you want to ask a match with someone else, you need
to use the keyboard.
Flag -- Sends the command "flag" to ICS.
Refresh -- Sends the command "refresh" to ICS.
Quit -- When the button "QUIT" is hit, xics will send "quit" to ICS
and will itself terminate.
BUGS
None known, but doesn't mean there aren't any.
LIMITATIONS
Several. Most ICS commands cannot be executed using the mouse (they
have to be typed in); the program will work only on UNIX(TM) machines;
its parsing abilities are dependent on the output format of ICS; not
all output of telnet is represented graphically, etc., etc., etc.
Perhaps the most serious limitation is that if the format of ICS
output is changed, xics will cease to work unless its source is
modified. Hopefully the person who maintains ICS will refrain from
modifying the board style.
AUTHOR
Shirish Chinchalkar (chinch@cs.cornell.edu) gets the blame for helping
people waste their time playing chess instead of making them spend
their time doing more productive work. Urban Koistinen (md85-
epi@nada.kth.se) modified the program so that one could move pieces as
in xboard. Nelson Minar (nelson@reed.edu) modified telnet.c to take
care of the tty and busy wait problems. Patrick Surry
(pds@epcc.ed.ac.uk) added code to display a continuously ticking
clock.
- 2 - Formatted: November 2, 2025
xics(1) xics(1)
COPYRIGHT
This software is free and can be distributed freely without
permission. You are more than welcome to make modifications to it, but
if you want to share your improvements with the rest of the world,
send me a copy of your code.
ACKNOWLEDGEMENTS
The bitmaps for chess pieces were obtained from xboard and xchess.
SEE ALSO
Answers to Frequently Asked Questions (FAQ) in the newsgroup
rec.games.chess on USENET.
- 3 - Formatted: November 2, 2025