Fix Seirawan gating at Rook square in PGN castling moves
[xboard.git] / xboard.texi
index 58d46d8..81c46ae 100644 (file)
@@ -738,45 +738,67 @@ creates an extra window that you can use for typing in ICS commands.
 The input box is especially useful if you want to type in something long or do
 some editing on your input, because output from ICS doesn't get mixed
 in with your typing as it would in the main terminal window.
-@item ICS Chat/Console
+@item ICS/Chat Console
 @cindex ICS Chat/Console, Menu Item
 This menu item opens a window in which you can interact with the ICS,
-and conduct upto 5 chats with other ICS users (or channels),
 so you don't have to use the messy xterm from which you launched XBoard
 for that.
 The window has a text entry at the bottom where you can type your
 commands and messages unhindered by the stream of ICS output.
 The latter will be displayed in a large pane above the input field,
 the ICS Console.
-This pane can be vertically split into two, however, where half of it
-is then used to display selected ICS output, belonging to a chat with
-another user, or output from an ICS channel.
-Such output will then not appear in the Console pane.
-
-To use the window, write the name of your chat partner, the channel number,
-or the words 'shouts', 'whispers', 'cshouts' in the upper field
-(ending with <Enter>).
-Everything you type in the lowest field will then automatically be sent to
-the mentioned party, while everything that party sends to you will
-appear in the central text pane, rather than appear in the ICS console.
-The row of buttons allow you to choose between chat;
-to start a new chat, just select an empty button,
-and complete the @samp{Chat partner} field.
-There are several keyboard accelerators to control this window:
-Ctrl-H will hide the private chat, and dedicates the input field to
-giving ICS commands.
-Ctrl-E will erase the current chat and chat partner.
-Ctrl-N will open a new chat with a yet unspecified partner.
-Ctrl-O will open a new chat with the last person from which you received
-a tell in the ICS console pane.
-<Esc> will transfer keyboard focus to the board window,
-allowing you to invoke menu items through accelerator keys;
-typing a printable character there transfers focus back to the input field
-of the chat window.
-<Tab> will switch to another busy chat,
-giving priority to those with content you have not seen yet.
-(The buttons for selecting such chats turn orange.)
 Up and down arrow keys can be used to recall previous input lines.
+Typing an <Esc> character in the input field transfers focus back
+to the board window (so you could operate the menus there
+through accelerator keys).
+Typing a printable character in the board window transfers focus
+back to the input field of the @samp{ICS Chat/Console} window.
+@item Chats
+@cindex Chats
+There is a row of buttons at the top of the @samp{ICS Chat/Console} dialog,
+which can be used to navigate between upto 5 'chats'
+with other ICS users (or channels).
+These will switch the window to 'chat mode',
+where the ICS output pane is vertically split to divert messages from
+a specific user or ICS channel to the lower half.
+Lines typed in the input field will then be interpreted as messages
+to be sent to that user or channel,
+(automatically prefixed with the apporpriate ICS command and user name)
+rather than as commands to the ICS.
+Chats will keep collecting ICS output intended for them even when not displayed,
+and their buttons will turn orange to alert the user there has been activity.
+Typing <Tab> in the input field will switch to another active chat,
+giving priority to those with content you have not seen yet.
+@item New Chat
+@cindex New Chat, Menu Item
+Buttons for chats currently not assigned to a user or channel
+will carry the text @samp{New Chat}, and pressing them will
+switch to chat mode, enabling you to enter the user name or channel number
+you want to use it for.
+Typing Ctrl-N in the input field is a keyboard equivalent.
+@item Chat partner
+@cindex Chat partner, Menu Item
+To (re-)assign a chat, write the name of your chat partner, the channel number,
+or the words 'shouts', 'whispers', 'cshouts' in the @samp{Chat partner} text entry
+(ending with <Enter>!).
+Typing Ctrl-O in the input field at the bottom of the window will
+open a chat with the person that last sent you a 'tell' that was printed
+in the ICS Console output pane.
+The @samp{ICS text menu} can contain a button @samp{Open Chat (name)}
+that can be used to open a chat with as partner the word/number you
+right-clicked in the output pane to pop up this menu. 
+@item End Chat
+@cindex End Chat, Menu Item
+This button, only visible when the chat pane is open,
+will clear the @samp{Chat partner} field, so that the chat can be
+assigned to a new user or channel.
+Typing Ctrl-E in the input field is a keyboard equivalent.
+@item Hide
+@cindex Hide, Menu Item
+This button, only visible when the chat pane is open,
+will close the latter, so you can use the input field
+to give commands to the ICS again.
+Typing Ctrl-H in the input field is a keyboard equivalent.
 @item ICS text menu
 @cindex ICS text menu, Menu Item
 Brings up a menu that is user-configurable through the @code{icsMenu} option.
@@ -789,6 +811,23 @@ of the ICS Chat/Console window.
 In that case the word that was clicked can be incorporated in the message
 sent to the ICS. E.g. to challenge a player whose name you click for a game,
 or prepare for sending him a message through a 'tell' commands.
+@item Edit ICS menu
+@cindex Edit ICS menu, Menu Item
+Brings up an edit box with the definition of the @samp{ICS text menu},
+so you can adapt its appearance to your needs.
+The menu is defined by a semi-colon-separated list,
+each button through a pair of items in it.
+The first item of each pair is the text on the button,
+the second the text to be sent when the button is pressed.
+The word '$input' in the text will put that text in the input field
+of the @samp{ICS Chat/Console} with the cursor in that place,
+the word '$name' will be replaced by the word right-clicked
+to pop up the text menu.
+@item Edit Theme List
+@cindex Edit Theme List
+Brings up an edit box with the definitions of the themes
+shown in the listbox of the @samp{Board} dialog,
+so you can delete, re-order or alter themes defined previously.
 @item Board
 @cindex Board, Menu Item
 Summons a dialog where you can customize the look of the chess board.
@@ -1393,6 +1432,10 @@ The maximum number of displayed engine names is set by the
 @section Options Menu
 @cindex Menu, Options
 @cindex Options Menu
+@section Mute all Sounds
+@cindex Mute sounds, Menu Item
+Ticking this menu item toggles all sounds XBoard can make on or off,
+without losing their definitions.
 @section General Options
 @cindex General Options, Menu Item
 The following items to set option values appear in the dialog
@@ -1989,9 +2032,9 @@ pairing engine must be specified through the @code{pairingEngine} option.
 Each Swiss round will be considered a tourney cycle in that case.
 Default:0
 @item Number of tourney cycles
-@itemx Default number of Games
+@itemx Default Number of Games in Match
 @cindex Number of tourney cycles, Menu Item
-@cindex Default number of Games, Menu Item
+@cindex Number of Games in Match, Menu Item
 You can specify tourneys where every two opponents play each other multiple times. 
 Such multiple games can be played in a row, 
 as specified by the ‘number of games per pairing’, 
@@ -2001,7 +2044,15 @@ The total number of times two engines meet will be the product of these two.
 Default is 1 cycle;
 the number of games per pairing is the same as the default number of match games, 
 stored in your settings file through the @code{defaultMatchGames} option.
-@item Save Tourney Games
+@item Pause between Match Games
+@cindex Pause between Match Games, Menu Item
+Time (in milliseconds) XBoard waits before starting a new game after
+a previous match or tournament game finishes.
+Such a waiting period is important for engines that do not support 'ping',
+as these sometimes still produce a move long after the game finished because
+of the opponent resigning, which would be mistaken for a move in the next
+game if that had already started.
+@item Save Tourney Games on
 @cindex Save Tourney Games, Menu Item
 File where the tournament games are saved
 (duplicate of the item in the @samp{Save Game Options}).
@@ -2009,7 +2060,7 @@ File where the tournament games are saved
 @itemx File with Start Positions
 @itemx Game Number
 @itemx Position Number
-@itemx Rewind Index after
+@itemx Rewind Index after this many Games
 @cindex Game File with Opening Lines, Menu Item
 @cindex File with Start Positions, Menu Item
 @cindex Game Number, Menu Item
@@ -2028,8 +2079,8 @@ In this case the first (odd) games will randomly select from the book,
 but the second (even) games will select the same moves from the book as the previous game.
 (Note this leads to the same opening only if both engines use the GUI book!)
 Default: No game or position file will be used. The default index if such a file is used is 1.
-@item Disable own engine books be default
-@cindex Disable own engine books be default, Menu Item
+@item Disable own engine books by default
+@cindex Disable own engine books by default, Menu Item
 Setting this option reverses the default situation for use of the GUI opening book
 in tournaments from what it normally is, namely not using it.
 So unless the engine is installed with an option to explicitly specify it should
@@ -2453,6 +2504,11 @@ false, the clocks are not shown, but the side that is to play next
 is still highlighted. Also, unless @code{searchTime}
 is set, the chess engine still keeps track of the clock time and uses it to
 determine how fast to make its moves.
+@item -shoMoveTime true/false
+@cindex showMoveTime, option
+When this option is set the time that has been thought about the current move
+will be displayed behind the remaining time in parentheses (in seconds).
+Default: false.
 @item -st or -searchTime minutes[:seconds]
 @cindex st, option
 @cindex searchTime, option
@@ -3425,7 +3481,14 @@ the @samp{Load Position} menu item.
 If this option is set, XBoard saves depth, score and time used for each 
 move that the engine found as a comment in the PGN file.
 Default: false.
+@item -pgnTimeLeft true/false
+@cindex pgnTimeLeft, option
+If this option is set, XBoard will save the remaining clock time for
+the player that has just moved as part of the @samp{pgnExtendedInfo},
+rather than the time that player thought about his latest move.
+Default: false.
 @item -pgnEventHeader string
+Default: false.
 @cindex pgnEventHeader, option
 Sets the name used in the PGN event tag to string. 
 Default: "Computer Chess Game".