The Freeciv Client User's Guide

Previous Contents

## 3. Customizing the Client

The client can be customized in many ways to reflect your tastes for its user interface. The game system, rules, units, and such are not controlled by the client and are beyond customization at the client level; they are defined by the server. But many issues dealing with graphics features can be changed.

### 3.1 Alternate Graphics Tilesets

The graphics used for Freeciv are defined in XPM (X Pixmap) files in the distribution; there are separate files for terrain squares, units, roads, the small symbols used on various windows, and the spaceship elements. The default tilesets are a set of 45x45 tiles by Ralf Engels. Other tilesets exist which are different both in style and in size; many people prefer using 30x30 tiles to fit more of the map on the screen (17 across and 11 high).

The Freeciv distribution comes with one alternate tileset, a 30x30 tileset, which was the standard tileset in Freeciv 1.7.2. By default, it is stored in the directory `/usr/local/share/freeciv/classic`, so you may use it with the `-tiles classic` option added to your invocation of the client. Additional popular tilesets have been contributed to the Freeciv effort, and can be found in `ftp.freeciv.org/pub/freeciv/contrib/tiles`. You would typically download and unpack them into a new directory in `/usr/local/share/freeciv` for general use.

### 3.2 X Resources and Command Options

A great many features of the Xaw client are defined as X resources, and as such may be set by you; this is not the case with the GTK client. Typically, you would add such definitions to your `.Xdefaults` file, or whatever file you use to customize your X environment. All Xaw client Freeciv resources start with the name `Freeciv`, so to change your customary player name (as shown in the table below), you would add

`Freeciv*player: Honorius`
to your file of X settings.

All Xaw client command line options are available with either one or two hyphens before the name (that is, `-name` and `--name` yield the same effect). The GTK client requires two hyphens. All but two of the command line options are also X resources (for the Xaw client only). The two exceptions are -help (which lists the command line options) and -version (which displays the Freeciv client version).

X Resource | Command line | Results
log | -log | Defines the name of a log file to be produced as the client operates. The amount of information logged is controlled by the `debug` resource.
name | -name | The player name you wish to use; this is copied into the Connect Window for you.
server | -server | The Internet address (e.g., 11.22.33.44) or name (e.g., myhost.mynet.net) at which the Freeciv server is to be found; this is copied into the Connect Window.
port | -port | The port number on the server system at which the Freeciv server is to be found; this is copied into the Connect Window.
debug | -debug | Sets the level of debugging information logged, a number from 0 to 2. Zero logs fatal errors; 1 additionally logs warning errors; 2 additionally logs normal debugging messages.
tileset |  | Provides the directory name of an alternate tileset to be used for graphics. This should be a name relative to the base of the Freeciv data area, by default `/usr/local/share/freeciv`.

Those are the X resources which a typical user might wish to modify. The Xaw client, however, uses the X resource system to control vast amounts of the user interface's presentation, such as the color of every field, the ways in which the fields of a window are linked together, and the words on each button. You can find the default settings for all of these resources in the file `/usr/local/share/freeciv/Freeciv`. If you wished to, for instance, you could change the "Turn Done" button with the line

`Freeciv*turndonebutton.label: Next Turn`
in your X resources file.

### 3.3 Files and Environment Variables

The client depends on certain files to initialize itself. The standard distribution places these files in `/usr/local/share/freeciv`, and the code is compiled to use that directory. The files used from the Freeciv directory are:

Freeciv
  The default X resources for Xaw client
helpdata.txt
  The database of help data used for the Help menu.
default
  The directory containing the graphics files required:
  tiles.xpm
    the map terrain tiles
  units.xpm
    the unit symbols
  roads.xpm
    roads of various sorts
  small.xpm
    small graphics for various windows
  space.xpm
    spaceship components
  treaty.xpm
    treaty agreement graphics

The environment variable `FREECIV_DATADIR`, if specified, gives the full path of an alternate directory.

The environment variable `HOME` is used to find the user's home directory. The file `.civclientrc` is ready from and written to in that directory.

Previous Contents