The PinK executables
The PinK executables are simple programms consisting of the Tcl command
language, the Tk toolkit, the ADAMO and DAD library, and a short main
program that reads commands from standard input or from a file. They create
a main window and then process PinK/Tcl commands.
Since version 0.17 there is also a windowless version (not including the Tk
toolkit) available. Click here for the
documentation of the Floyd executables.
If the PinK executables are
invoked with no -f option then they read commands
interactively from standard input. They will continue
processing commands until all windows have been deleted or
until EOF (End Of File) is reached.
If the -file option is provided to Tk, then the PinK executables
read commands from the file named in the -file option. These
commands will normally create an interactive interface
consisting of one or more widgets. When the end of the
command file is reached, the exxecutables will continue to respond to X
events until all windows have been deleted.
If there exists a file .pinkrc in the home directory of the
user, it will be evaluated as a PinK script just before reading
the first command from standard input or from the script.
The PinK executables come in two flavors: pink and pinky.
While pink uses the full featured ADAMO tap library
including the complete ZEBRA code, pinky uses only the
smalltap library without the ZEBRA drivers which makes the
executable much smaller.
A little backdraw of pinky is, that due to the lack of the ZEBRA
drivers there are no GAF objects available; however -
this makes pinky ideal as an interpreter for DAD client scripts.
Command line syntax
pink and pinky have the same command line syntax as
wish, allowing the following options:
- -display display
- Defines the display (and screen) on which to display the
- -file fileName
- Read commands from fileName rather than standard input.
The last element in fileName will be used as the title for the
application and name of its interpreter for send commands
(unless overridden by the -name option).
- -geometry geometry
- Initial geometry to use for window.
geometry is of the form
where all parameters are numbers measured in pixels.
The width and height parts of the geometry
specification sepecify the size of the initial window, while
the xoffset and yoffset parts are used to specify
the distance of the window from the left (+xoffset)
or right (-xoffset) and top
(+yoffset) and bottom (-yoffset)
edges of the screen.
Offsets must be given as pairs; in other words, in order to
specify either xoffset or yoffset both must be
present. The window can be placed in the four corners of the screen
using the following specifications:
- +0+0 upper left hand corner.
- -0+0 upper right hand corner.
- -0-0 lower right hand corner.
- +0-0 lower left hand corner.
- Print a summary of the command-line options and exit.
- -name name
- Use name as the title to be displayed in the window, and as
the name of the interpreter for send commands.
- Execute all X server commands synchronously, so that errors are
reported immediately. This will result in much slower execution,
but it is useful for debugging.
The PinK library
On startup the PinK executables try to find an additional Tcl autoload
library in one of the following directories:
./pinklib, $PINK_LIB, $HERMES_LIB/pinklib and
The directories are checked in this order. The name of first existing
directory will be reported and prepended to the list in auto_path.
The Startup Files
After searching for the oink library, the PinK executables try to exectute
the file pinkrc (for pink and pinky) resp.
floydrc (for floyd and floydy) in this directory.
If the file is not found, the files ~/.pinkrc and ~/.floydrc
The *rc-files coming with the distribution try to execute the files
$HERMES_ROOT/lib/*rc and ~/.*rc in that order.
If you create a PinK script in a file whose first line is
then you can invoke the script file directly from your shell if you
mark it as executable. This assumes that PinK has been installed in the
default location in /hermes/pro/bin;
if it's installed somewhere else then you'll have to modify the above line
This page is maintained by
last modification: Dec 20 1996 .