xpat2(6) generic patience game for X11


xpat2 [ options ] [ seed ] [ saved game ]


xpat2 is the successor of xpat, a generic patience game which can be used with different rule sets. It does understand the rules of the well-known Spider game, as well as Klondike and others. It features a flexible layout which responds to window resize commands and possibilities to customize the existing rules. xpat2 has either a bitmap-based card drawing routine or a pixmap based routine (selectable at compile time). With the pixmap based drawing routine, antialiased colour images of the rank and suit symbols are supplied. The bitmap card images are black and red by default, but users can supply images of complete colour cards in XPM format.

xpat2 may be compiled with the Athena widget set (or its nicer replacement, the Xaw3d widget set), or with a standard Xlib interface. The command line parameters and X resource names of these versions differ. This manual page describes only the Athena widget version, for the Xlib options please refer to the xpat manual page.


-rules rule name
(Resource: Tableau.rules)

This option specifies the initial rule set for xpat. Valid rule names are Gypsy, Spider, FreeCell, Klondike, and Seahaven, Monte Carlo, Calculation, Canfield, Baker's Dozen, and others. Supply an invalid rule name to see a complete listing.

The initial rule set may also be given by the name of the executable (capitalisation is important). A predefined rule set may be customized by the following options, but not all options apply to every rule set.

-slots slots
(Resource: Tableau.slots)

Use a different number of slots.

-tmps tmps
(Resource: Tableau.tmps)

Use a different number of temporary storage places.

-decks decks
(Resource: Tableau.decks)

Use a different number of decks. Every deck has a full set of 52 cards. This option does also set the number of stacks. (To 4 times the number of decks, naturally.)

-facedown number
(Resource: Tableau.facedown)

Specifies the number of cards per slot which are initially dealt face-down (i.e. invisible).

-faceup number
(Resource: Tableau.faceup)

Specifies the number of cards per slot which are initially dealt face-up.

-jokers number
(Resource: Tableau.jokers)

Specifies the number of jokers in the game (increasing the number of cards). With jokers, you have to put all ordinary cards onto the stacks and keep the jokers on the slots.

-relaxed number
-flips number -turn number -rotations number (Resource: Tableau.relaxed to Tableau.rotations)

Defines game specific customisation parameters.

-rng number
(Resource: Tableau.rng)

This option affects the random number generator. rng 0 (used up to version 1.03 of xpat2) has been found to generate not uniformly distributed permutations. You may activate it to be able to replay old saved games. The default is rng 1.


All standard X toolkit parameters may be given, such as
-display display
Specifies on which display to run.
-geometry geometry
(Resource: geometry) Specifies the initial geometry.

Other options are:

-cards cardset
(Resource: Tableau.cards)

cardset is the filename of an external bitmap card set which will be used instead of the built-in cardset. There are two card sets, namely small and french. You can also give the full pathname of a cardset here.

-xpmdir xpmdir
(Resource: Tableau.xpmdir)

Tells xpat2 to search xpmdir for colour replacements of the card images. The filenames searched for are Joker.xpm and Rank.Suit.xpm, where Rank is one of Two to Ten, or one of Jack, Queen, King, Ace. The display must be capable of displaying all images at the same time. For a 256-colour display, no more than 128 colours should be used for all card images together. An additional file, Cardback.xpm, may give you nice cardbacks.

If the directory name xpmdir does not start with a dot or a slash, it is interpreted as a subdirectory of /usr/share/games/xpat.

-xpmcls xpmcls
(Resource: Tableau.xpmcls)

Tells xpat2 to allow using colours of the given closeness when allocation of the real colour fails during the reading of an xpm file. This option is useful on 8-bit X-servers when many colours are already allocated by other applications (typically when using a KDE desktop).

-tb color
(Resource: Tableau.background)

Sets the background color to color. The default is LightSlateGrey.

-cb color
(Resource: Tableau.cardbackColor)

Sets the background color of the cards to color. The default is SlateGrey. This option is not in effect when an XPM replacement for the cardback is used.

-markwidth width
(Resource: Tableau.markWidth)

Sets the width of the dashed frame which marks selected cards. If this width is at least half of the card width, marked cards will be shaded. The default is to shade the cards.

-markcolor color
(Resource: markColor)

Sets the color of the marking frame.

-sound, -nosound
(Resource: Sound.state)

Enables or Disables sound.


xpat2 has simple support for different languages. All messages which appear in the X11 window may be overloaded by files, as well as the key bindings. The typical support consists of an application-defaults file, a message file, and a keyboard file. Possibly translated online-help files are also there. To select a different language, call xpat2 after setting the environment variable LANG to the desired value. Some ISO3166 language codes will be mapped to their correspondig xpat2 directory names. Currently, italian and german versions are available, and fragments of a french and russian version. The russian version requires a special cyrillic font, sq01. The bdf-file is distributed with xpat2, you have to convert it into a format supported by your X-server (pcf, snf, ...)



and a number of subdirs of /usr/share/games/xpat, containing sets of colour cards.


Almost none. (Type 'v' to see the version number. This is the man-page of xpat2 version 1.06, using Athena Widgets. The game may behave somewhat different when used with another widget set.)


If the window is too small, it can happen that not all information is displayed, e.g. some stacks of card are invisible as they are outside the visible space.

Correct cheat counting is not implemented in all rules.

Only a few rule customisations are checked and meaningful.

The Motif/Lesstif and Xview interfaces doesn't work reliable. Any volunteers?

xpat2 uses a lot of colours when compiled with the module X-gfx2 and may therefore fail to start if you have an 8-bit or monochrome display. In this case, compile the game using the graphics loader X-gfx1, which uses the original card images from spider or start the game using the option -cards french, which uses monochrome card graphics from the file french.cards. On 8-bit displays you can also experiment with the -xpmcls option.

There is a problem with X-servers which are short on memory. In this case, some parts of the xpat2 window may be left blank after a resize event. You have to hit <ctrl-L> to get the window redrawn correctly.

Please mail bug reports to [email protected]. Fixes are especially welcome.


Heiko Eissfeldt and Michael Bischoff


Copyright (c) 1994 by Heiko Eissfeldt and Michael Bischoff
([email protected] and [email protected])

Copyright (c) 1990 by David Lemke & Network Computing Devices, Inc.
([email protected])

Copyright 1990 Heather Rose and Sun Microsystems, Inc.

Copyright (c) 1989, Donald R. Woods and Sun Microsystems, Inc.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.

xpat and xpat2 were developed under Linux, the free UNIX for the IBM-PC and compatibles. xpat is based on the game spider. All new code which is not covered by spider copyrights is distributed by terms of the GNU General public license (GNU Copyleft).