The game is implemented completely in Tcl/Tk. This means, that despite of its Unix history you can also use it with Windows and on a MacIntosh.
Below there is a section for every of the mentioned systems; the both for Windows and MacIntosh are rather short. If someone knows better ways to install a tcl program on these systems, I would appreciate a mail to krischan@cs.tu-berlin.de.
The choice, where the executable program and the associated library directory are located, is a matter of taste. For me there are a few candidates, which are listed in table Possible Path names for binDir and libDir.
Who ever installs the solitaire, must have write access to both of the choosen directories. Then the solitaire can be installed by the following few steps, replacing binDir and libDir with the choosen directories.
For using the functions described in chapter Battle solitaires with remote hosts, you must give the name of an interpreter shell, which has at least version 4.1
Sorry, but I can't give many clues on this one. I always copy all that stuff directly from Unix onto my Windows-Partition, call (still on the unix side) make and edit manually the third line of patience with its assignment of the directory, where all resides.
Further I have a shortcut on my desktop, which points to Wish4.1 and got the complete path of the game as parameter.
My test installation at a friend is long time gone; I only remember, that we have a public domain tar program unpacking the archiv and I called Wish4.1 (a alpha version then) by clicking its icon, and then entered the following stuff on the tcl console: set patiencePath [pwd]; source patience.tcl
Who likes (and owns Tcl version 7.5), can compile a c program Pat.c; this happens by means of the Makefile and a call of make shlib.
Making shlib creates a shared library called Pat.so, Pat.sl or the like; it contains a procedure for merging the cards and some central functions for checking the rules, which are now implemented in C and therefore a little bit faster.
For a successful compilation it is essential to fiddle with the variables in Makefile, which start with TCL_. The original values are valid for my Linux box. In the directory, in which resides tcl_library (for me this is /usr/local/lib), exists a file tclConfig.sh. In it tcl wrote during its installation the correct values of this variables. The install program has a menu entry Configure/Optional.../Refresh from .../tclConfig.sh, which updates the Makefile according to this file.
If the program has the intern name of a known set of rules (e.g. canfield), the game will start according to this rules. Who likes, can play immediate a Little Harp solitaire after execution of the following commands.
ln -s patience canfield
This works also with the intern names of other, possible self made sets of rules.
The name of the wanted set of rules can be given as parameter, too. The battle solitaire e.g. can be started directly by calling
patience -name streit
This way it is possible to create a submenu for the window manager, which starts the game with any set of rules. In the initialization file .fvwmrc of the fvwm window mananger it goes like:
Popup "Patience 1.9" Exec "Standard" exec patience & Exec "Little Harp" exec patience -name klHarfe & Exec "Canfield" exec patience -name canfield & Exec "Spider" exec patience -name spider & Exec "Battle Sol." exec patience -name streit & Exec "Seahaven" exec patience -name seahaven & EndPopup
The program uses a few X resource variables, which can configure the user interface. The following is a listing of names, their default values and their significance.
The resources concerning colors (rot, weiss and grau) only have effects on cards displayed as bitmaps; for cards displayed as gif or pixmaps they have no effect.
The resources will be looked up at the following places with increasing priority:
In a resource file every assignment of a value to the resource goes like this:
*patience.resourcename: value
E.g., the Black/White-Font as default for the card bitmaps can be set by
*patience.kartenFont: sw