Version 2.16 Announcement

Due to the tremendous surge of interest in the World-Wide-Web, this release of tgif supports the retrieval of tgif (obj and sym) files from HTTP servers. Hypertext jumps are supported using the old tgif ``teleporting'' or ``traveling'' mechanism (the attribute "href=" is recognized in addition to the original ones).

For a test run, build the new tgif and do:

to retrieve the home page of tgif and navigate from that point on. A network of tgif files works in a similar fashion as a network of html files. (Please note that tgif is NOT an html viewer.)

This is basically an ALPHA release, please send bug reports to as you see them! I'll release patches as fatal errors are fixed.

I've just put tgif-2.16 in the following places for anonymous ftp:
Due to the large size of the patch, the patch is NOT posted to comp.sources.bugs as usual.

Version 2.16 Added Features/Bug Fixes

  1. Add another interpretable attribute, "href=", for teleporting. This is basically equivalent to "warp_to=" (and "wapr_to=" should be consider obsoleted starting from this release). The attribute value can be an URL (only http and ftp are supported). This allows remote viewing of an .obj file located on an http or an ftp server. (Please note that tgif is NOT an html viewer.)

  2. Add animation through the use of new internal commands. New internal commands are: select_obj_by_name, unselect_all_obj, move_selected_obj_relative, repeat, hyperjump, make_cgi_query, wait_click, sleep, begin_animate, end_animate, set_redraw, set_selected_obj_color, set_selected_obj_fill, set_selected_obj_pen, set_selected_obj_line_width, set_selected_obj_spline, set_selected_obj_arrow, set_selected_obj_dash, inc, dec, shuffle_obj_to_top, disable_undo, enable_undo, get_drawing_area, get_selected_obj_bbox, move_selected_obj_absolute, assign, strcpy, while, and if. Please see the man pages for explanations.

  3. Add expressions in internal commands.

  4. Add a Navigate Menu to go back and forth between tgif files and to access a hot file list. A new X default, Tgif*HotListFileName, can be used to specify where to store the hot file list.

  5. Add a ``hyperspace'' mode in which the cursor is position sensitive. The cursor changes from a pointer to a pointing hand when it is on top of an object containing a hot-link. When a remote file is opened, tgif enters hyperspace immediately unless Tgif*AutoHyperSpaceOnRemote is set to false. NOTE: To prevent a script to do catastrophic damages, the launch= command is disable while in hyperspace. This can be overridden by the Tgif*AllowLaunchInHyperSpace X default (but highly discouraged).

  6. Add new X defaults, Tgif*@@@Viewer, where @@@ is a file extension. For example, @@@ can be html to specify a viewer for remote files with the html extensions.

  7. Add a new command, EmbedEPSFile(), under the File Menu to actually embed the content of an EPS file in a tgif file (instead of just link to the EPS file).

  8. Add new Edit Menu functions SetSelLineWidth() and AddColor().

  9. Add new Special Menu functions ImportAttrs() and ExportAttrs().

  10. Add a new X default, Tgif*UsePaperSizeStoredInFile, to set the paper size when a file is opened.

  11. Add a new X defaults, Tgif*OneMotionSelMove, so that one can select and move an object in one motion.

  12. Add a new X default, Tgif*TiffEPSI, to allow ``Microsoft Windows (tm) compatible EPS'' files to be generated when printing in the EPSI mode. Please note that a ``Microsoft Windows compatible EPS'' file is by no means an EPS file (it does not even start with the %! string, also it contains binary data). Xbmtopbm and pnmtotiff are needed to make this work. Tgif*XbmToTiff can be used to specify other converters.

  13. Add a new X default, Tgif*EPSIExportExtension, to set the exporting EPSI file extension to a user specified one (such as 'epsi').

  14. Add a new X default, Tgif*CanChangeAttrColor, to allow changing the color of attributes when they are attached to objects.

  15. Fix a couple of bugs in editing file attributes. Thanks to Keefe Hayes <> for pointing out the problems.

  16. Fix a bug in processing Tgif*InitialPaperSize.

  17. Fix a bug in editing file attributes and getting the "Undo()/Redo() may crash Tgif" error message.

  18. Cleanup the internal commands. Thanks to Michael Kauschke <> for the contributed code.

  19. Clean up some of the VMS releated stuff. Thanks to Jonathan Couper <> and Damian Cannell <> for their help.

  20. When importing EPS files, also look for files with the epsi extension. Thanks to Jaap Haalboom <> for the patch.

  21. A new vertion of 'pstotgif', which is called 'pstoedit', written by Wolfgang Glunz, which converts a PostScript file to a tgif .obj file is made available at the following places for anonymous ftp: Below is the beginning part of its README file (README.pstoedit in the ftp directories): PSTOEDIT Copyright (C) 1993,1994 Wolfgang Glunz, pstoedit allows to convert Postscript(TM) files to a simple vector graphic format, that can be edited. Currently tgif and Framemaker(TM) (MIF-format) and flat PostScript are supported. Ask archie on where to find tgif. pstoedit works by redefining the basic painting operators of Postscript. Others like image are not supported. After redefining these operators, the Postscript file that needs to be converted is processed by GhostScript (gs). So you need to have Ghostscript in order to use this program. pstoedit uses a postprocessor to actually build the input file for the editor. This is a small lex-program (makeedit). To build it, just type make. Edit the pstoedit script and change LIB according to your local environment. You need a C++ compiler, e.g. g++, to compile makeedit.

Return to Home Page Release Notes Index
William Chia-Wei Cheng (