Prevent FICS bell character fro printing in ICS Console XB
[xboard.git] / xboard.texi
index 26bebf2..0436372 100644 (file)
@@ -762,6 +762,18 @@ of the chat window.
 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.
+@item ICS text menu
+@cindex ICS text menu, Menu Item
+Brings up a menu that is user-configurable through the @code{icsMenu} option.
+Buttons in this menu can sent pre-configured commands directly to the ICS,
+or can put partial commands in the input field of the @samp{ICS Chat/Console}
+window, so that you can complete those with some text of your own before
+sending them to the ICS by pressing Enter.
+This menu item can also be popped up by right-clicking in the text memos
+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 Board
 @cindex Board, Menu Item
 Summons a dialog where you can customize the look of the chess board.
@@ -1028,6 +1040,17 @@ when you would select them from the @samp{Load Engine} dialogs.
 You can then edit this list, e.g. for re-ordering the engines,
 or adding uncommon options needed by this engine
 (e.g. to cure non-compliant behavior).
+
+By editing you can also organize the engines into collapsible groups.
+By sandwiching a number of engine lines between lines "# NAME" and "# end",
+the thus enclosed engines will not initially appear in engine listboxes
+of other dialogs, but only the single line "# NAME"
+(where NAME can be an arbitrary text) will appear in their place.
+Selecting that line will then show the enclosed engines in the listbox,
+which recursively can contain other groups.
+The line with the group name will still present as a header,
+and selecting that line will collapse the group again,
+and makes the listbox go back to displaying the surrounding group.
 @item Load New 1st Engine
 @itemx Load New 2nd Engine
 @cindex Load Engine, Menu Item
@@ -1056,7 +1079,13 @@ or (for variant engines) automatically switch to the current variant when loaded
 will also be included in the list. 
 For obsolete XBoard engines, which would normally take a long delay to load 
 because XBoard is waiting for a response they will not give, 
-you can tick ‘WB protocol v1’ to speed up the loading process. 
+you can tick ‘WB protocol v1’ to speed up the loading process.
+
+New engines are always added at the end of the existing list,
+but can be re-ordered with the aid of the @samp{Edit Engine List} menu item.
+They can even be organized in groups that can be opened or collapsed at will,
+which can be very useful if the list is very long.
+
 @item Engine #N Settings
 @cindex Engine #N Settings, Menu Item
 Pop up a menu dialog to alter the settings specific to the applicable engine.
@@ -1082,6 +1111,9 @@ that SMP engines can use.
 The shifted @kbd{Alt+U} key is a keyboard equivalent.
 Older XBoard/WinBoard engines might not respond to these settings,
 but UCI engines always should.
+The @samp{EGT path} field corresponds to the setting of the
+@code{egtFormats} option to specify where to find tablebases
+of various flavors. See the description of this option for the required syntax.
 
 It is also possible to specify a GUI opening book here, i.e. an opening
 book that XBoard consults for any position a playing engine gets in.
@@ -1139,7 +1171,8 @@ The maximum number of displayed engine names is set by the
 @section Options Menu
 @cindex Menu, Options
 @cindex Options Menu
-@subsection General Options
+@heading General Options
+@section General Options
 @cindex General Options, Menu Item
 The following items to set option values appear in the dialog
 summoned by the general Options menu item.
@@ -1361,7 +1394,7 @@ Sets the value of the @code{evalZoom} option,
 indicating the factor by which the score interval (-1,1) should be
 blown up on the vertical axis of the Evaluation Graph.
 @end table
-@subsection Time Control
+@section Time Control
 @cindex Time Control, Menu Item
 Pops up a sub-menu where you can set the time-control parameters interactively.
 The shifted @kbd{Alt+T} key is a keyboard equivalent.
@@ -1372,7 +1405,7 @@ If an engine is given a time-odds factor N, all time quota it gets,
 be it at the beginning of a session or through the time increment or
 fixed time per move, will be divided by N.
 
-@subsection Adjudications
+@section Adjudications
 @cindex Adjudications, Menu Item
 Pops up a sub-menu where you can enable or disable various adjudications
 that XBoard can perform in engine-engine games.
@@ -1395,7 +1428,7 @@ For the latter adjudication to work, XBoard should be able to properly understan
 the engine's scores. To facilitate the latter, you can inform xboard here if
 the engines report scores from the viewpoint of white, or from that of their own color.
 
-@subsection ICS Options
+@section ICS Options
 @cindex ICS Options, Menu Item
 The following options occur in a dialog summoned by the 
 ICS Options menu item.
@@ -1539,9 +1572,52 @@ Ticking this options causes various types of ICS messages do be
 displayed with different foreground or background colors in the console.
 The colors can be individually selected for each type,
 through the accompanying text edits.
+@item -icsMenu string
+@cindex icsMenu, option
+The string defines buttons for the @samp{ICS text menu}.
+Each button definition consists of two semi-colon-terminated pieces of text,
+the first giving the label to be written on the button,
+the second the text that should be sent to the ICS when that button is pressed.
+This second part (the 'message') can contain linefeeds, so that you can send
+multiple ICS commands with one button.
+Some message in the text, all starting with a $-sign, are treated special.
+When the message contains '$input', it will not be sent directly to the ICS,
+but will be put in the input field of the @samp{ICS Chat/Console},
+with the text cursor at the indicated place, so you can addsome text to
+the message before sending it off.
+If such a message starts with '$add' it will be placed behind any text
+that is already present in the input field, otherwise this field will
+be cleared first.
+The word '$name' occurring in the message will be replaced by the word
+that was clicked (through button 3) in the ICS Chat/Console.
+There are two special messages: '$chat' will open a new chat with
+the clicked word in the chat-partner field,
+while '$copy' will copy the text that is currently-selected
+in the ICS Console to the clipboard.
+An example of a text menu as it might occur in your settings file
+(where you could edit it):
+
+@example
+-icsMenu @{copy;$copy;
+list players;who;
+list games;games;
+finger (player);finger $name;
+bullet (player);match $name 1 1 r;
+blitz (player);match $name 5 1 r;
+rapid (player);match $name 30 0 r;
+open chat (player);$chat;
+tell (player);tell $name $input;
+ask pieces;ptell Please give me a $input;
+P;$add Pawn $input;
+N;$add Knight $input;
+B;$add Bishop $input;
+R;$add Rook $input;
+Q;$add Queen $input;
+@}
+@end example
 @end table
 
-@subsection Tournament Options
+@section Tournament Options
 @cindex Tournament Options, Menu Item
 Summons a dialog where you can set options important for playing automatic 
 matches between two or more chess programs 
@@ -1684,7 +1760,7 @@ dialogs can be accessed without closing the @samp{Tournament Options} dialog
 through the respective buttons at the bottom of the latter.)
 @end table
 
-@subsection Load Game Options
+@section Load Game Options
 @cindex Load Game Options, Menu Item
 Summons a dialog where you can set the @code{autoDisplayComment} and 
 @code{autoDisplayTags} options, (which control popups when viewing loaded games),
@@ -1748,7 +1824,7 @@ The left-right flipping is only useful after all castling rights
 have expired (or in Xiangqi).
 @end table
 
-@subsection Save Game Options
+@section Save Game Options
 @cindex Save Game Options, Menu Item
 Summons a dialog where you can specify the files on which XBoard should
 automatically save any played or entered games, 
@@ -1766,12 +1842,12 @@ and if a tag with info about the score with which the engine came out of book
 should be included.
 For Chess, always set the format to PGN, rather than "old save stye"!
 
-@subsection Game List
+@section Game List
 @cindex Game List Tags, Menu Item
 Pops up a dialog where you can select the PGN tags that should appear
 on the lines in the game list, and their order.
 
-@subsection Sound Options
+@section Sound Options
 @cindex Sound Options, Menu Item
 Summons a dialog where you can specify the sounds that should accompany
 various events that can occur in XBoard.
@@ -1794,7 +1870,7 @@ move if you are observing a game on the Internet Chess Server).
 The sound is not played after moves you make or moves read from a
 saved game file.
 
-@subsection Save Settings Now
+@section Save Settings Now
 @cindex Save Settings Now, Menu Item
 Selecting this menu item causes the current XBoard settings to be
 written to the settings file, so they will also apply in future sessions.
@@ -1831,7 +1907,7 @@ in ~/.xboardrc, you will essentially turn them into volatile options
 with the specified value as default, because that value will overrule
 the value loaded from the settings file (being read later).
 
-@subsection Save Settings on Exit
+@section Save Settings on Exit
 @cindex Save Settings on Exit, Menu Item
 Setting this option has no immediate effect, but causes the settings
 to be saved when you quit XBoard. What happens then is otherwise