Configuration
Configuration files readed by nocheto executables are written in INI format
and stored in the ~/.nocheto/configs/
directory.
This page describes the INI format and properties you can set in it.
About config files
First time you run nocheto it makes a copy of
/usr/local/etc/nocheto/nocheto.ini.template
into ~/.nocheto/configs/nocheto.ini
file.
This file is readed by nocheto's executables. Some executables can read other
ini file(s) as well - by default
(for example nochetoclient reads client.ini file after nocheto.ini)
- or you can use --config filename
option to read given ini file.
These othrer files (re)sets values for the same variables as in nocheto.ini.
Many values which are set in config file can by changed "on the fly" by nocheto commands. But changes made by this commands are not permanent (are not stored anywhere aftrer nocheto ends). To make the change permanent, change values in the ini file(s).
Description of INI format
INI file is an ordinary text file, which has special format. You can edit it by any of your favourite text editor.
INI file is divided into several sections.
Sections start by its name in [square brackets]. Under the section name you can set values to different properties, each on its own row:
[section_xy]
property = value
# this is a comment
Value can be "string in quotes" (or without quotes if there is no white space in value),
or number. For boolean values (which can be true or false) 0
is used for false/no and 1
for true/yes.
Anything after #
to the end of a line is a just a comment (it is ignored).
Default nocheto.ini content
Default nocheto.ini file looks like this:
Description of sections, properties and theirs values in configuration files
Section [nocheto]
Properties in this section are related to nocheto executable.
checkforupdate
checkforupdate = 1
Download news from https://nocheto.sallyx.org/.
This might freeze nocheto at start if the page or your internet connection is down. In that case, turn this value to 0.
checkdayinterval
checkdayinterval = 1
How many days shoud be between checks for update.
Section [startup]3.0.0
Properties in this section will be run during nocheto start.
Properties names are irelevant, they just need to be unique.
Example:
[startup]
cmd1="http silent"
Example above runs http command
whenever nocheto starts (with --future
option).
More commands can be separated by semicolon.
The difference between more commands separated by semicolon and more
commands addeded as separate properties is, that in the second case
asynchronous (stopable) commands "eat" all following commands (they will
not be run).
While if you separate
commands by semicolon in one property, they are called one by one
after the previous command ends.
Section [pgn]3.0.0
Properties in this section affects how PGN files are stored or printed.
pngclock3.0.0
pgnclock = ""
Sets time related commands which should be saved/printed into PGN.
- If empty, do not save any.
clk
prints clk command
Only clk
is supported for now.
Section [nocheng]
Properties in this section are related to nochetoengine executable.
logfile2.4.0
logfile = ""
Path to a file where UCI communication will be logged. (See also --logfile option.)
Section [engine]
Properties in this sections are related to chess engine used for playing in nocheto, or evaluating positions in nocheto, nochetodbeval or nochetoclient in analyze mode.
You can set any uci engine option in this section.2.3.0 For example,
if you add Ponder="false"
, nocheto will send "setoption name Ponder value false" to the engine on start.
engine
engine = stockfish
This value is the UCI engine used by nocheto applications. You can change
this value by command line option --engine
. Use nocheng
for nochetoengi.
level
level = 0
This value sets the strength of the engine. 0 = weakest, 20 = strongest. Level is used for playing the game. Analyzing moves always runs at level 20.
goseconds
goseconds = 1
The number of seconds engine thing about a move. It is also used in nochetoclient in analyze mode to set the lenght of thinking about one move2.0.0. You can use -1 for infinite time in client.ini file.
You can add !
after the numeric value to force this value
to be used by all configured engines2.4.0.
threads
threads = 1
Number of threads the engine should use.
Not every engine actually uses this value, but stockfish does.
autoplay
autoplay = 1
Use 1 or 0 to enable / disable autoplay. (Autoplay means that whenever you do a move, nocheto ask engine to do another move.)
multipv1.1.0
multipv = 1
Set the count of best lines client in analyze mode shows.
Not every engine actually uses this value, but stockfish does.
Section [board]
This sections is about chess board in console configuration. You can change colors or what parts of the board will be shown.
Not all properties affects/are supported by all board types.
boardtype
boardtype=utf8
Could be one of iso
, utf8
, ascii
, compressed
, compressed-utf81.1.0
and kitty2.0.0
.
See nocheto option --board.
autoboard
autoboard = 1
Whether or not to show automatically bard. By "board" is meant not only chess board, but also moves tree, graph etc.
If autoboard is set to 0 (usefull for blindfold chess), you can always show
board by using board
(b
) command.
viewgraph
viewgraph = 0
Show the graph.
viewtree
viewtree = 1
Show moves tree.
viewtreeheight
viewtreeheight = -1
Maximum count of rows tree shoud take. -1 means unlimited.
viewtabletree3.0.0
viewtabletree = 0
Show moves in table format next to a board.
viewtabletreeheight3.0.0
viewtabletreeheight = 0
Maximum count of rows tree shoud take. 0 means as board, -1 means unlimited.
viewboard
viewboard = 1
Whether to show chess board.
viewmoves
viewmoves = 0
Whether to show all possible moves.
viewvariants
viewvariants = 0
Whether to shows following moves from moves tree.
colorvariants
colorvariants = 1
Whether to color moves in variants.
viewfen
viewfen = 0
Whether to show FEN of current position.
viewopening
viewopening = 0
Whether to show opening name.
viewcoordinates
viewcoordinates = 1
Whether to show coordinates around chess board.
viewexplorer
viewexplorer = 0
Whether to show explorer.
viewexplorerheight2.5.0
viewexplorerheight = 0
Limits height of an explorer. 0 = unlimited.
viewgamesexplorer3.0.0
viewgamesexplorer = 0
Whether to shows games from a database explorer.
gamesexplorerdimension3.0.0
gamesexplorerdimension = 2 0
Set numer of colums (default 2) and rows (default 0) of games explorer view.
0 rows means `same as board height`, -1 means unlimited.
See also vgedimension command.
gamesexplorermode3.0.0
gamesexplorermode = "both"
mode can by "asc" (show oldest games), "desc" (show newest games) or "both" (show both newest and oldest games)
See also vgemode command.
viewtablebase
viewtablebase = 0
Whether to show tablebase (require internet access to tablebase.lichess.ovh).
viewcomments
viewcomments = "window,tree"
Where comments should be shown.
expandtree
expandtree = 0
Whether to expand moves tree.
expandtabletree3.0.0
expandtabletree = 0
Whether to expand moves in table tree view.
actualmove_l
actualmove_l = >>
Characters on the left side of actual move in moves tree.
actualmove_r
actualmove_r = <<
Characters on the right side of actual move in moves tree.
actualmove_color
actualmove_color = 44
Color of actual move in moves tree.
analyzenotation
analyzenotation = "algebraic"
What notation to use for lines in nochetoclient analyze mode. Possible values are algebraic (i.e. Nf3) or german (i.e. g1f3). Unknown value is interpreted as german.
whiteisofield2.3.0
whiteisofield="."
Character used to fill empty white field in iso boards.
blackisofield2.3.0
blackisofield=""
Character used to fill empty black field in iso boards.
whiteutf8field2.3.0
whiteutf8field="."
Character used to fill empty white field in utf8 boards. If not set, whiteisofield is used.
blackutf8field2.3.0
blackutf8field="."
Character used to fill empty black field in utf8 boards. If not set, blackisofield is used.
stalemateisosign2.4.0
stalemateisosign="#="
String used to mark stalemate in a moves tree on iso boards.
stalemateutf8sign2.4.0
String used to mark stalemate in moves tree in utf8 boards.
stalemateisosignis used.
Section [console]
This section is related to linux console, its colors, speach and audio.
Colors used for console pieces, actual move or chess board could be:
- 39
- Default console color
- 30
- Black
- 31
- Red
- 32
- Green
- 33
- Yellow
- 34
- Blue
- 35
- Magenta/Purple
- 36
- Cyan
- 37
- Light Gray
- 90
- Dark Gray
- 91
- Light Red
- 92
- Light Green
- 93
- Light Yellow
- 94
- Light Blue
- 95
- Light Magenta/Pink
- 96
- Light Cyan
- 97
- White
speach
speach = 0
Enable/disable text to speach. You need to have installed espak application (its part of most linux packages systems).
playsounds1.1.0
playsounds = 1
Enable/disable sounds.
keepontop2.0.0
keepontop = 0
Clear the console before drawing board. That causes that the drawing always starts at the top of the console.
whitecolor
whitecolor = 93
White pieces color for console boards.
blackcolor
blackcolor = 31
Black pieces color for console board.
boardcolor
boardcolor = 34
Board color of console board.
movecolor
movecolor = 33
Color used to emphasize starting and landing chess board cells for last move was played.
onmovecolor2.0.0
onmovecolor = 34
Color used for star showing who is no move (Star is in top right or bottom right corner of the board depending on who is on move).
bestmovecolor2.0.0
bestmovecolor = 92
Color used for move evaluated as best.
okmovecolor2.0.0
okmovecolor = "37!"
Color used for move evaluated as ok (not best but not inaccurancy also).
inaccuracymovecolor2.0.0
inaccuracymovecolor = "35"
Color used for move evaluated as inaccuracy.
mistakemovecolor2.0.0
mistakemovecolor = 33
Color used for move evaluated as mistake.
blundermovecolor2.0.0
blundermovecolor = "31!"
Color used for move evaluated as blunder.
bestlinecolor2.0.0
bestlinecolor = "90!"
Color used for best line of moves.
whitefieldcolor2.3.0
whitefieldcolor = ""
Color used for character filling empty white board field.
blackfieldcolor2.3.0
blackfieldcolor = ""
Color used for character filling empty black board field.
Section [gui]2.0.0
This section is related to kitty board gui.
boardtheme2.0.0
boardtheme = "default"
Where to search for board image. Images must be in nepix format and saved in ~/.nocheto/themes/<theme>/board.nepix or /usr/local/share/nocheto/themes/<theme>/board.nepix file.
Alternatively, you can use board.txt file to set board colors.2.3.0
For example, if you create ~/.nocheto/themes/poisonous/board.txt with
this content: 10,255,10 0,33,0 255,255,0
, then kitty board
using poisonous boardtheme will looke like this:
piecestheme2.0.0
piecestheme = "default"
As boardtheme, but for pieces images. If not set, it uses boardtheme value.
boardwhitecolor2.0.0
boardwhitecolor = ""
Color for white square of board. The value must be 3 numers (for
red, green and blue value of the color)
between 0 and 255 and separated by comma
(for example boardwhitecolor = "255,255,255"
).
You have to set both boardwhitecolor and boardblackcolor, else image from boardtheme is used.
boardblackcolor2.0.0
boardblackcolor = ""
Color for black square of board. The value must be 3 numers (for
red, green and blue value of the color)
between 0 and 255 and separated by comma
(for example boardblackcolor = "0,0,0"
).
You have to set both boardwhitecolor and boardblackcolor, else image from boardtheme is used.
movecolor2.3.0
movecolor = "155,0,0"
Color used for stroke around last move.
Section [timecontrols]3.0.0
Set names for timecontrols used by setclock.
Property name is the name of timecontrol used by setclock command.
Value is the timecontrol. See Timecontrols.
Example:
[timecontrols] default="180+1" classical="40/7200:1800:900+30" standard="40/7200:3600" rapid="900+10" rapid30="1800" blitz="300+5" blitz5="300" blitz3="180" bullet="60" bullet2="120+1" hourglass="*180"
Section [aliases]
You can use this section to add new names to nocheto commands.
There are some aliases predefined. For example,
c = O-O
means that you can use c
command to
castle king side.
There is a restriction on variable name characters (for example variable
can't start with !
), so sometime you have to put the variable
name inside alias[]
. For example,
alias[!] = "nag !"
means,
that you can use !
command to add ! annotation
to an actual move.
You can even change meaning of an existing command by it. For example,
redo = "r<"
causes redo
command (which is also
called by ENTER) to always go in the main line of the moves tree
(the default behavior is going through the last alternative line you were
in).
Section [database]
Under this section is configured database used for analyze's results.
player
player =
Player name (for example your nickname you use to play online).
dbname
dbname = data/explorer/
Directory where to save (sqlite) database data. You need to have writte access to this directory.
namespaces1.1.0
namespaces = primary
Namespace(s) used by explorer from which are selected games. You
can use *
for all existsing namespaces.
Section [explorer]2.2.0
Under this section is configured database used for games and moves explorer.
You can configure the same options as under [database] section.
if no [explorer] section is configured, games and moves explorers use [database] section.