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 main window.

-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
[widthxheight][+/-xoffset+/-yoffset], 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:

-help
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.

-sync
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 $HERMES_ROOT/lib/pinklib.
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 are checked.
The *rc-files coming with the distribution try to execute the files $HERMES_ROOT/lib/*rc and ~/.*rc in that order.


PinK scripts

If you create a PinK script in a file whose first line is
#!/hermes/pro/bin/pink -f
or
#!/hermes/pro/bin/pinky -f
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 to match.


 Previous  Up  Next
This page is maintained by pink@hermes.desy.de; last modification: Dec 20 1996 .