v10i066: tgif, Patch6, Part03/03

William Cheng william at CS.UCLA.EDU
Tue Dec 18 09:21:55 AEST 1990


Submitted-by: william at CS.UCLA.EDU (William Cheng)
Posting-number: Volume 10, Issue 66
Archive-name: tgif/patch6.03
Patch-To: Volume 7, Issue 56-76 (original: tgif-1.2)
Patch-To: Volume 8, Issue 46-48 (Patch1: tgif-1.2 => tgif-1.9)
Patch-To: Volume 8, Issue 58-60 (Patch2: tgif-1.9 => tgif-1.12)
Patch-To: Volume 8, Issue 87-89 (Patch3: tgif-1.12 => tgif-1.13)
Patch-To: Volume 8, Issue 94 (Patch4: tgif-1.13 => tgif-1.14)
Patch-To: Volume 8, Issue 95 (Patch5: tgif-1.14 => tgif-1.15)

---------------------------------> cut here <---------------------------------
*** oval.c.orig	Sat Oct 27 17:49:16 1990
--- oval.c	Sat Oct 27 17:49:17 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/oval.c,v 1.7 90/08/13 09:23:35 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/oval.c,v 1.8 90/10/27 15:10:00 william Exp $";
  #endif
  
*** pattern.c.orig	Sat Oct 27 17:49:27 1990
--- pattern.c	Sat Oct 27 17:49:28 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/pattern.c,v 1.3 90/07/11 21:30:41 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/pattern.c,v 1.4 90/10/27 15:40:34 william Exp $";
  #endif
  
***************
*** 30,33 ****
--- 30,34 ----
  int     penPat = SOLIDPAT;
  int     curSpline = LT_STRAIGHT;
+ int     curDash = 0;
  
  void ModeMenu (X, Y)
***************
*** 505,508 ****
--- 506,624 ----
  }
  
+ static
+ int ChangeObjDashes (ObjPtr, DashIndex)
+    struct ObjRec	* ObjPtr;
+    int			DashIndex;
+ {
+    register struct ObjRec	* obj_ptr;
+    int				changed = FALSE;
+ 
+    for (obj_ptr = ObjPtr; obj_ptr != NULL; obj_ptr = obj_ptr->prev)
+       switch (obj_ptr->type)
+       {
+          case OBJ_POLY:
+             if (obj_ptr->detail.p->dash != DashIndex)
+             {
+                obj_ptr->detail.p->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_BOX:
+             if (obj_ptr->detail.b->dash != DashIndex)
+             {
+                obj_ptr->detail.b->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_OVAL:
+             if (obj_ptr->detail.o->dash != DashIndex)
+             {
+                obj_ptr->detail.o->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_POLYGON:
+             if (obj_ptr->detail.g->dash != DashIndex)
+             {
+                obj_ptr->detail.g->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+ 
+          case OBJ_GROUP:
+          case OBJ_SYM:
+             if (ChangeObjLineWidth (obj_ptr->detail.r->last, DashIndex))
+                changed = TRUE;
+             break;
+       }
+    return (changed);
+ }
+ 
+ void ChangeAllSelDashes (DashIndex)
+    int	DashIndex;
+ {
+    register struct SelRec	* sel_ptr;
+    register struct ObjRec	* obj_ptr;
+    int				changed = FALSE;
+ 
+    if (topSel == NULL)
+    {
+       curDash = DashIndex;
+       ShowLineWidth ();
+       return;
+    }
+ 
+    for (sel_ptr = botSel; sel_ptr != NULL; sel_ptr = sel_ptr->prev)
+    {
+       obj_ptr = sel_ptr->obj;
+       switch (obj_ptr->type)
+       {
+          case OBJ_POLY:
+             if (obj_ptr->detail.p->dash != DashIndex)
+             {
+                obj_ptr->detail.p->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_BOX:
+             if (obj_ptr->detail.b->dash != DashIndex)
+             {
+                obj_ptr->detail.b->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_OVAL:
+             if (obj_ptr->detail.o->dash != DashIndex)
+             {
+                obj_ptr->detail.o->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+          case OBJ_POLYGON:
+             if (obj_ptr->detail.g->dash != DashIndex)
+             {
+                obj_ptr->detail.g->dash = DashIndex;
+                changed = TRUE;
+             }
+             break;
+ 
+          case OBJ_GROUP:
+          case OBJ_SYM:
+             if (ChangeObjDashes (obj_ptr->detail.r->last, DashIndex))
+                changed = TRUE;
+             break;
+       }
+    }
+ 
+    if (changed)
+    {
+       SetFileModified (TRUE);
+       HighLightReverse ();
+       RedrawAnArea (botObj, selLtX-(1<<zoomScale), selLtY-(1<<zoomScale),
+             selRbX+(1<<zoomScale), selRbY+(1<<zoomScale));
+       HighLightForward ();
+    }
+ }
+ 
  void LineStyleMenu (X, Y)
     int	X, Y;
***************
*** 518,521 ****
--- 634,645 ----
           fore_colors, lineStylePixmap, SINGLECOLOR);
     if (index == INVALID) return;
+ /* DefaultColorArrays (MAXLINEWIDTHS+MAXLINETYPES+MAXDASHES+MAXLINESTYLES, */
+ /*       &fore_colors, &valid); */
+ /* cfree (valid); */
+ /* index = PxMpMenuLoop (X, Y, menuImageW, menuImageH, */
+ /*       MAXLINEWIDTHS+MAXLINETYPES+MAXDASHES+MAXLINESTYLES, 1, */
+ /*       MAXLINEWIDTHS+MAXLINETYPES+MAXDASHES+MAXLINESTYLES, */
+ /*       fore_colors, lineStylePixmap, SINGLECOLOR); */
+ /* if (index == INVALID) return; */
  
     if (index < MAXLINEWIDTHS)
***************
*** 523,526 ****
--- 647,654 ----
     else if (index < MAXLINEWIDTHS+MAXLINETYPES)
        ChangeAllSelLineType (index - MAXLINEWIDTHS);
+ /* else if (index < MAXLINEWIDTHS+MAXLINETYPES+MAXDASHES) */
+ /*    ChangeAllSelDashes (index - MAXLINEWIDTHS - MAXLINETYPES); */
+ /* else */
+ /*    ChangeAllSelLineStyle (index - MAXLINEWIDTHS - MAXLINETYPES - MAXDASHES); */
     else
        ChangeAllSelLineStyle (index - MAXLINEWIDTHS - MAXLINETYPES);
*** poly.c.orig	Sat Oct 27 17:49:47 1990
--- poly.c	Sat Oct 27 17:49:49 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/poly.c,v 1.6 90/08/13 09:23:49 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/poly.c,v 1.7 90/10/27 15:10:15 william Exp $";
  #endif
  
*** polygon.c.orig	Sat Oct 27 17:49:59 1990
--- polygon.c	Sat Oct 27 17:50:01 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/polygon.c,v 1.5 90/08/13 09:23:36 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/polygon.c,v 1.6 90/10/27 15:10:32 william Exp $";
  #endif
  
*** raster.c.orig	Sat Oct 27 17:50:07 1990
--- raster.c	Sat Oct 27 17:50:08 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/raster.c,v 1.5 90/07/16 10:51:23 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/raster.c,v 1.7 90/10/27 16:09:36 william Exp $";
  #endif
  
***************
*** 78,81 ****
--- 78,86 ----
  #include "bitmaps/ls3.bm"
  
+ #include "bitmaps/ld0.bm"
+ #include "bitmaps/ld1.bm"
+ #include "bitmaps/ld2.bm"
+ #include "bitmaps/ld3.bm"
+ 
  #include "bitmaps/lw0s.bm"
  #include "bitmaps/lw1s.bm"
***************
*** 94,97 ****
--- 99,107 ----
  #include "bitmaps/ls3s.bm"
  
+ #include "bitmaps/ld0s.bm"
+ #include "bitmaps/ld1s.bm"
+ #include "bitmaps/ld2s.bm"
+ #include "bitmaps/ld3s.bm"
+ 
  #include "bitmaps/printer.bm"
  #include "bitmaps/latex.bm"
***************
*** 109,113 ****
  Pixmap	lineWidthPixmap[MAXLINEWIDTHS];
  Pixmap	lineTypePixmap[MAXLINETYPES];
! Pixmap	lineStylePixmap[MAXLINEWIDTHS+MAXLINETYPES+MAXLINESTYLES];
  Pixmap	justPixmap[MAXJUSTS];
  Pixmap	alignHoriPixmap[MAXALIGNS];
--- 119,124 ----
  Pixmap	lineWidthPixmap[MAXLINEWIDTHS];
  Pixmap	lineTypePixmap[MAXLINETYPES];
! Pixmap	dashPixmap[MAXDASHES];
! Pixmap	lineStylePixmap[MAXLINEWIDTHS+MAXLINETYPES+MAXDASHES+MAXLINESTYLES];
  Pixmap	justPixmap[MAXJUSTS];
  Pixmap	alignHoriPixmap[MAXALIGNS];
***************
*** 117,125 ****
  Pixmap	shortLineTypePixmap[MAXLINETYPES];
  Pixmap	shortLineStylePixmap[MAXLINESTYLES];
  
- char	* patData[MAXPATTERNS+1];
- 
  int	pat_w[MAXPATTERNS+1], pat_h[MAXPATTERNS+1];
  
  void InitPattern ()
  {
--- 128,139 ----
  Pixmap	shortLineTypePixmap[MAXLINETYPES];
  Pixmap	shortLineStylePixmap[MAXLINESTYLES];
+ Pixmap	shortDashPixmap[MAXDASHES];
  
  int	pat_w[MAXPATTERNS+1], pat_h[MAXPATTERNS+1];
+ int	dashListLength[MAXDASHES] = { 0, 2, 2, 4 };
+ char	* dashList[MAXDASHES] = {"","\004\004","\006\002","\012\002\002\002"};
  
+ static char	* patData[MAXPATTERNS+1];
+ 
  void InitPattern ()
  {
***************
*** 224,227 ****
--- 238,250 ----
           lt1_bits, lt1_width, lt1_height);
  
+ /* dashPixmap[0] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld0_bits, ld0_width, ld0_height); */
+ /* dashPixmap[1] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld1_bits, ld1_width, ld1_height); */
+ /* dashPixmap[2] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld2_bits, ld2_width, ld2_height); */
+ /* dashPixmap[3] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld3_bits, ld3_width, ld3_height); */
+ 
     lineStylePixmap[0] = XCreateBitmapFromData (mainDisplay, mainWindow,
           lw0_bits, lw0_width, lw0_height);
***************
*** 244,247 ****
--- 267,288 ----
           lt1_bits, lt1_width, lt1_height);
  
+ /* lineStylePixmap[9] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld0_bits, ld0_width, ld0_height); */
+ /* lineStylePixmap[10] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld1_bits, ld1_width, ld1_height); */
+ /* lineStylePixmap[11] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld2_bits, ld2_width, ld2_height); */
+ /* lineStylePixmap[12] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld3_bits, ld3_width, ld3_height); */
+ 
+ /* lineStylePixmap[13] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ls0_bits, ls0_width, ls0_height); */
+ /* lineStylePixmap[14] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ls1_bits, ls1_width, ls1_height); */
+ /* lineStylePixmap[15] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ls2_bits, ls2_width, ls2_height); */
+ /* lineStylePixmap[16] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ls3_bits, ls3_width, ls3_height); */
+ 
     lineStylePixmap[9] = XCreateBitmapFromData (mainDisplay, mainWindow,
           ls0_bits, ls0_width, ls0_height);
***************
*** 272,275 ****
--- 313,325 ----
           lt1s_bits, lt1s_width, lt1s_height);
  
+ /* shortDashPixmap[0] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld0s_bits, ld0s_width, ld0s_height); */
+ /* shortDashPixmap[1] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld1s_bits, ld1s_width, ld1s_height); */
+ /* shortDashPixmap[2] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld2s_bits, ld2s_width, ld2s_height); */
+ /* shortDashPixmap[3] = XCreateBitmapFromData (mainDisplay, mainWindow, */
+ /*       ld3s_bits, ld3s_width, ld3s_height); */
+ 
     shortLineWidthPixmap[0] = XCreateBitmapFromData (mainDisplay, mainWindow,
           lw0s_bits, lw0s_width, lw0s_height);
***************
*** 329,332 ****
--- 379,384 ----
     for (i = 0; i < MAXLINETYPES; i++)
        XFreePixmap (mainDisplay, lineTypePixmap[i]);
+ /* for (i = 0; i < MAXDASHES; i++) */
+ /*    XFreePixmap (mainDisplay, dashPixmap[i]); */
     for (i = 0; i < MAXJUSTS; i++) XFreePixmap (mainDisplay, justPixmap[i]);
     XFreePixmap (mainDisplay, alignHoriPixmap[0]);
***************
*** 343,346 ****
--- 395,400 ----
     for (i = 0; i < MAXLINESTYLES; i++)
        XFreePixmap (mainDisplay, shortLineStylePixmap[i]);
+ /* for (i = 0; i < MAXDASHES; i++) */
+ /*    XFreePixmap (mainDisplay, shortDashPixmap[i]); */
  
     XFreeGC (mainDisplay, rasterGC);
*** setup.c.orig	Sat Oct 27 17:50:15 1990
--- setup.c	Sat Oct 27 17:50:16 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.c,v 1.12 90/08/17 09:32:53 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.c,v 1.14 90/10/22 10:21:53 william Exp $";
  #endif
  
***************
*** 25,28 ****
--- 25,29 ----
  #include "ruler.e"
  #include "scroll.e"
+ #include "stk.e"
  
  extern	char	* getenv ();
***************
*** 110,115 ****
  int	reverseVideo = FALSE;
  
! char	drawPath[255];
  
  int	initDrawWinW, initDrawWinH;
  
--- 111,121 ----
  int	reverseVideo = FALSE;
  
! char	drawPath[MAXPATHLENGTH];
! char	bootDir[MAXPATHLENGTH];
! char	homeDir[MAXPATHLENGTH];
  
+ int	symPathNumEntries = INVALID;
+ char	* * symPath;
+ 
  int	initDrawWinW, initDrawWinH;
  
***************
*** 233,236 ****
--- 239,258 ----
           strcpy (drawPath, c_ptr);
  
+    if ((c_ptr = getenv ("HOME")) == NULL)
+       strcpy (homeDir, "/");
+    else
+       if (strlen (c_ptr) >= MAXPATHLENGTH-1)
+          strcpy (homeDir, "/");
+       else
+          strcpy (homeDir, c_ptr);
+ 
+    if ((c_ptr = getenv ("PWD")) == NULL)
+       strcpy (bootDir, ".");
+    else
+       if (strlen (c_ptr) >= MAXPATHLENGTH-1)
+          strcpy (bootDir, ".");
+       else
+          strcpy (bootDir, c_ptr);
+ 
     sizehints.flags = PPosition | PSize | PMinSize;
     sizehints.x = 0;
***************
*** 305,308 ****
--- 327,331 ----
     InitMenu ();
     InitNames ();
+    InitStk ();
  
     if ((titleWindow = XCreateSimpleWindow (mainDisplay, mainWindow, 0, 0,
*** special.c.orig	Sat Oct 27 17:50:22 1990
--- special.c	Sat Oct 27 17:50:23 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/special.c,v 1.10 90/08/17 13:40:34 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/special.c,v 1.13 90/10/25 14:57:35 william Exp $";
  #endif
  
***************
*** 174,183 ****
  void Instantiate ()
  {
!    char			file_name[MAXPATHLENGTH], sym_name[MAXPATHLENGTH], full_name[MAXPATHLENGTH];
     struct ObjRec	* obj_ptr;
     FILE			* fp;
  
!    if (SelectFileName ("sym", "PLEASE SELECT A SYMBOL TO INSTANTIATE ...",
!          sym_name) == INVALID) return;
  
     TieLooseEnds ();
--- 174,183 ----
  void Instantiate ()
  {
!    char			file_name[MAXPATHLENGTH], full_name[MAXPATHLENGTH];
!    char			sym_name[MAXPATHLENGTH], path_name[MAXPATHLENGTH];
     struct ObjRec	* obj_ptr;
     FILE			* fp;
  
!    if (SelectSymbolName (sym_name, path_name) == INVALID) return;
  
     TieLooseEnds ();
***************
*** 184,192 ****
     SetCurChoice (NOTHING);
  
!    sprintf (file_name, "%s.sym", sym_name);
!    strcpy (full_name, curDomainName);
!    if (*curDomainName != '\0') strcat (full_name, "/");
!    strcat (full_name, file_name);
!    if ((fp = fopen (full_name, "r")) == NULL)
     { printf ("Can not open %s\n", file_name); return; }
  
--- 184,189 ----
     SetCurChoice (NOTHING);
  
!    sprintf (file_name, "%s/%s.sym", path_name, sym_name);
!    if ((fp = fopen (file_name, "r")) == NULL)
     { printf ("Can not open %s\n", file_name); return; }
  
***************
*** 281,285 ****
  {
     char 		icon_name[MAXPATHLENGTH], file_name[MAXPATHLENGTH];
!    char 		s[MAXPATHLENGTH];
     FILE			* fp;
     struct ObjRec	* saved_obj_ptr;
--- 278,282 ----
  {
     char 		icon_name[MAXPATHLENGTH], file_name[MAXPATHLENGTH];
!    char 		s[MAXPATHLENGTH], icon_full_name[MAXPATHLENGTH];
     FILE			* fp;
     struct ObjRec	* saved_obj_ptr;
***************
*** 304,310 ****
           }
           else if (strcmp (&icon_name[len-4], ".sym") != 0)
!             strcat (icon_name, ".sym");
  
!          if (strlen (icon_name) == 4)
           {
              Msg ("No file name specified.  File not saved.");
--- 301,310 ----
           }
           else if (strcmp (&icon_name[len-4], ".sym") != 0)
!          {
!             strcpy (icon_full_name, icon_name);
!             strcat (icon_full_name, ".sym");
!          }
  
!          if (strlen (icon_full_name) == 4)
           {
              Msg ("No file name specified.  File not saved.");
***************
*** 313,322 ****
        }
        else
!          strcat (icon_name, ".sym");
  
        if (*curDomainName != '\0')
!          sprintf (file_name, "%s/%s", curDomainName, icon_name);
        else
!          sprintf (file_name, "%s", icon_name);
        if (!OkayToCreateFile (file_name)) return;
        if ((fp = fopen (file_name, "w")) == NULL)
--- 313,325 ----
        }
        else
!       {
!          strcpy (icon_full_name, icon_name);
!          strcat (icon_full_name, ".sym");
!       }
  
        if (*curDomainName != '\0')
!          sprintf (file_name, "%s/%s", curDomainName, icon_full_name);
        else
!          sprintf (file_name, "%s", icon_full_name);
        if (!OkayToCreateFile (file_name)) return;
        if ((fp = fopen (file_name, "w")) == NULL)
*** stk.c.orig	Sat Oct 27 17:50:28 1990
--- stk.c	Sat Oct 27 17:50:29 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.c,v 1.6 90/08/15 16:00:13 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.c,v 1.10 90/10/27 15:09:07 william Exp $";
  #endif
  
***************
*** 45,48 ****
--- 45,53 ----
  }
  
+ void InitStk ()
+ {
+    curSymDir[0] = '\0';
+ }
+ 
  void PushIcon ()
  {
***************
*** 49,54 ****
     struct StkRec	* stk_ptr;
     struct ObjRec	* obj_ptr;
     char			file_name[MAXPATHLENGTH], s[MAXPATHLENGTH];
-    char			full_name[MAXPATHLENGTH];
     FILE			* fp;
  
--- 54,59 ----
     struct StkRec	* stk_ptr;
     struct ObjRec	* obj_ptr;
+    char			sym_name[MAXPATHLENGTH], path_name[MAXPATHLENGTH];
     char			file_name[MAXPATHLENGTH], s[MAXPATHLENGTH];
     FILE			* fp;
  
***************
*** 59,68 ****
     }
  
!    sprintf (file_name, "%s.sym", topSel->obj->detail.r->s);
!    strcpy (full_name, curDomainName);
!    if (*curDomainName != '\0') strcat (full_name, "/");
!    strcat (full_name, file_name);
  
!    if ((fp = fopen (full_name, "r")) == NULL)
     {
        sprintf (s, "Can not open '%s', icon not pushed into.", file_name);
--- 64,79 ----
     }
  
!    strcpy (sym_name, topSel->obj->detail.r->s);
!    if (!GetSymbolPath (sym_name, path_name))
!    {
!       sprintf (s, "Can not find '%s.sym' in %s", sym_name, curDomainPath);
!       Msg (s);
!       return;
!    }
  
!    strcat (sym_name, ".sym");
!    sprintf (file_name, "%s/%s", path_name, sym_name);
! 
!    if ((fp = fopen (file_name, "r")) == NULL)
     {
        sprintf (s, "Can not open '%s', icon not pushed into.", file_name);
***************
*** 101,107 ****
  
     topObj = botObj = NULL;
     if (stk_ptr->name_valid = curFileDefined)
!       strcpy (stk_ptr->name, curFileName);
     strcpy (stk_ptr->domain, curDomainName);
     topStk = stk_ptr;
  
--- 112,122 ----
  
     topObj = botObj = NULL;
+ 
+    strcpy (stk_ptr->dir, curDir);
     if (stk_ptr->name_valid = curFileDefined)
!       strcat (stk_ptr->name, curFileName);
!    strcpy (stk_ptr->sym_dir, curSymDir);
     strcpy (stk_ptr->domain, curDomainName);
+ 
     topStk = stk_ptr;
  
***************
*** 127,131 ****
  
     fclose (fp);
!    strcpy (curFileName, file_name);
     curFileDefined = TRUE;
  
--- 142,147 ----
  
     fclose (fp);
!    strcpy (curFileName, sym_name);
!    strcpy (curSymDir, path_name);
     curFileDefined = TRUE;
  
***************
*** 179,186 ****
     topObj = topStk->first;
     botObj = topStk->last;
     if (curFileDefined = topStk->name_valid)
     {
        strcpy (curFileName, topStk->name);
!       sprintf (dummy, "Poping back to '%s'.", curFileName);
        Msg (dummy);
     }
--- 195,207 ----
     topObj = topStk->first;
     botObj = topStk->last;
+    strcpy (curDomainName, topStk->domain);
+    strcpy (curSymDir, topStk->sym_dir);
     if (curFileDefined = topStk->name_valid)
     {
        strcpy (curFileName, topStk->name);
!       if (*curSymDir == '\0')
!          sprintf (dummy, "Poping back to '%s/%s'.", topStk->dir, curFileName);
!       else
!          sprintf (dummy, "Poping back to '%s/%s'.", curSymDir, curFileName);
        Msg (dummy);
     }
***************
*** 190,194 ****
        Msg (dummy);
     }
!    strcpy (curDomainName, topStk->domain);
     topSel = botSel = (struct SelRec *) calloc (1, sizeof(struct SelRec));
     topSel->next = NULL;
--- 211,222 ----
        Msg (dummy);
     }
!    if (strcmp (curDir, topStk->dir) != 0)
!    {
!       strcpy (curDir, topStk->dir);
!       UpdateDirInfo ();
!    }
!    else
!       strcpy (curDir, topStk->dir);
! 
     topSel = botSel = (struct SelRec *) calloc (1, sizeof(struct SelRec));
     topSel->next = NULL;
***************
*** 222,224 ****
--- 250,253 ----
        cfree (topStk);
     }
+    curSymDir[0] = '\0';
  }
*** tgif.c.orig	Sat Oct 27 17:50:34 1990
--- tgif.c	Sat Oct 27 17:50:35 1990
***************
*** 6,10 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.c,v 1.8 90/08/21 15:52:54 william Exp $";
  #endif
  
--- 6,10 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.c,v 1.10 90/08/30 13:32:13 william Exp $";
  #endif
  
***************
*** 91,98 ****
     while (TRUE)
     {
-       DeallocStrings (&func_strp,&sp[0],&sp[1],&sp[2],&sp[3],&sp[4],&sp[5]);
- 
        strcpy (s, func_strp);
        s[4] = '\0';
        if (strcmp (s, "Quit") == 0)
        {
--- 91,99 ----
     while (TRUE)
     {
        strcpy (s, func_strp);
        s[4] = '\0';
+ 
+       DeallocStrings (&func_strp,&sp[0],&sp[1],&sp[2],&sp[3],&sp[4],&sp[5]);
+ 
        if (strcmp (s, "Quit") == 0)
        {
*** version.c.orig	Sat Oct 27 17:50:38 1990
--- version.c	Sat Oct 27 17:50:39 1990
***************
*** 6,11 ****
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/version.c,v 1.19 90/08/27 10:32:54 william Exp $";
  #endif
  
! char	* version_string = "1.15";
--- 6,11 ----
  #ifndef lint
  static char RCSid[] =
!       "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/version.c,v 1.20 90/10/27 15:40:59 william Exp $";
  #endif
  
! char	* version_string = "1.16";
*** choice.e.orig	Sat Oct 27 17:50:43 1990
--- choice.e	Sat Oct 27 17:50:44 1990
***************
*** 4,8 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/choice.e,v 1.2 90/08/14 18:04:06 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/choice.e,v 1.4 90/10/26 18:35:33 william Exp $
   */
  
*** color.e.orig	Sat Oct 27 17:50:49 1990
--- color.e	Sat Oct 27 17:50:49 1990
***************
*** 4,8 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/color.e,v 1.6 90/07/15 17:42:49 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/color.e,v 1.9 90/10/27 16:29:44 william Exp $
   */
  
***************
*** 13,16 ****
--- 13,19 ----
  extern int	* colorPixels;
  extern int	* xorColorPixels;
+ extern XColor	* tgifColors;
+ extern int	maxRGB;
+ extern int	colorDump;
  
  extern void	DefaultColorArrays ();
*** names.e.orig	Sat Oct 27 17:50:55 1990
--- names.e	Sat Oct 27 17:50:55 1990
***************
*** 4,14 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/names.e,v 1.1 90/04/01 22:17:11 william Exp $
   */
  
  extern char	curDomainName[];
  
  extern void	InitNames ();
  extern void	CleanUpNames ();
  extern int	SelectFileName ();
  extern int	SelectDomain ();
--- 4,23 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/names.e,v 1.12 90/10/25 14:58:59 william Exp $
   */
  
  extern char	curDomainName[];
+ extern char	curDomainPath[];
+ extern char	curDir[];
+ extern char	curSymDir[];
  
+ extern void	ParseSymPath ();
  extern void	InitNames ();
+ extern void	UpdateSymInfo ();
+ extern void	UpdateDirInfo ();
  extern void	CleanUpNames ();
  extern int	SelectFileName ();
+ extern int	SelectSymbolName ();
  extern int	SelectDomain ();
+ extern void	SetCurDir ();
+ extern int	GetSymbolPath ();
*** pattern.e.orig	Sat Oct 27 17:50:59 1990
--- pattern.e	Sat Oct 27 17:51:00 1990
***************
*** 4,15 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/pattern.e,v 1.3 90/07/11 21:25:59 william Exp $
   */
  
! extern int     objFill;
! extern int     lineStyle;
! extern int     lineWidth;
! extern int     penPat;
! extern int     curSpline;
  
  extern void	ChangeAllSelFill ();
--- 4,16 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/pattern.e,v 1.4 90/10/26 18:33:32 william Exp $
   */
  
! extern int	objFill;
! extern int	lineStyle;
! extern int	lineWidth;
! extern int	penPat;
! extern int	curSpline;
! extern int	curDash;
  
  extern void	ChangeAllSelFill ();
***************
*** 17,20 ****
--- 18,22 ----
  extern void	ChangeAllSelLineType ();
  extern void	ChangeAllSelLineWidth ();
+ extern void	ChangeAllSelDashes ();
  extern void	ChangeAllSelPen ();
  extern void	ToggleAllSelLineType ();
*** raster.e.orig	Sat Oct 27 17:51:04 1990
--- raster.e	Sat Oct 27 17:51:05 1990
***************
*** 4,8 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/raster.e,v 1.2 90/07/16 09:10:17 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/raster.e,v 1.4 90/10/26 18:17:39 william Exp $
   */
  
***************
*** 19,33 ****
  extern Pixmap	patPixmap[];
  extern Pixmap	lineWidthPixmap[];
- extern Pixmap	lineStylePixmap[];
  extern Pixmap	lineTypePixmap[];
  extern Pixmap	justPixmap[];
  extern Pixmap	alignHoriPixmap[];
  extern Pixmap	alignVertPixmap[];
- extern Pixmap	shortLineWidthPixmap[];
  extern Pixmap	whereToPrintPixmap[];
! extern Pixmap	shortLineTypePixmap[];
  extern Pixmap	shortLineStylePixmap[];
  
  extern int	pat_w[], pat_h[];
  
  extern void	InitPattern ();
--- 19,37 ----
  extern Pixmap	patPixmap[];
  extern Pixmap	lineWidthPixmap[];
  extern Pixmap	lineTypePixmap[];
+ extern Pixmap	dashPixmap[];
+ extern Pixmap	lineStylePixmap[];
  extern Pixmap	justPixmap[];
  extern Pixmap	alignHoriPixmap[];
  extern Pixmap	alignVertPixmap[];
  extern Pixmap	whereToPrintPixmap[];
! extern Pixmap	shortLineWidthPixmap[];
  extern Pixmap	shortLineStylePixmap[];
+ extern Pixmap	shortLineTypePixmap[];
+ extern Pixmap	shortDashPixmap[];
  
  extern int	pat_w[], pat_h[];
+ extern int	*dashListLength[];
+ extern char	*dashList[];
  
  extern void	InitPattern ();
*** setup.e.orig	Sat Oct 27 17:51:09 1990
--- setup.e	Sat Oct 27 17:51:10 1990
***************
*** 4,8 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.e,v 1.6 90/06/25 23:44:35 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.e,v 1.8 90/09/05 08:46:03 william Exp $
   */
  
***************
*** 74,77 ****
--- 74,82 ----
  
  extern char	drawPath[];
+ extern char	bootDir[];
+ extern char	homeDir[];
+ 
+ extern int	symPathNumEntries;
+ extern char	* * symPath;
  
  extern int	initDrawWinW;
*** stk.e.orig	Sat Oct 27 17:51:14 1990
--- stk.e	Sat Oct 27 17:51:15 1990
***************
*** 4,11 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.e,v 1.2 90/07/16 09:30:53 william Exp $
   */
  
  extern int	AncesterModified ();
  extern void	PushIcon ();
  extern void	PopIcon ();
--- 4,12 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.e,v 1.6 90/10/23 10:41:48 william Exp $
   */
  
  extern int	AncesterModified ();
+ extern void	InitStk ();
  extern void	PushIcon ();
  extern void	PopIcon ();
*** const.h.orig	Sat Oct 27 17:51:19 1990
--- const.h	Sat Oct 27 17:51:20 1990
***************
*** 4,8 ****
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/const.h,v 1.7 90/08/15 11:41:10 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/const.h,v 1.8 90/10/26 17:51:55 william Exp $
   */
  
***************
*** 90,93 ****
--- 90,95 ----
  
  #define MAXLINESTYLES 4
+ 
+ #define MAXDASHES 4
  
  #define NOCONT (FALSE)
*** types.h.orig	Sat Oct 27 17:51:25 1990
--- types.h	Sat Oct 27 17:51:26 1990
***************
*** 4,8 ****
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/types.h,v 1.7 90/08/14 17:32:37 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/types.h,v 1.13 90/10/26 17:45:15 william Exp $
   */
  
***************
*** 55,59 ****
     int			sn;	/* number of points in the spline polyline */
     XPoint		* svlist;
!    int			style, width, pen, curved, fill;
  } * PolyRecPtr;
  
--- 55,59 ----
     int			sn;	/* number of points in the spline polyline */
     XPoint		* svlist;
!    int			style, width, pen, curved, fill, dash;
  } * PolyRecPtr;
  
***************
*** 63,75 ****
     int		sn;	/* number of points in the spline polygon */
     XPoint	* svlist;
!    int		fill, width, pen, curved;
  } * PolygonRecPtr;
  
  typedef struct BoxRec {
!    int	fill, width, pen;
  } * BoxRecPtr;
  
  typedef struct OvalRec {
!    int	fill, width, pen;
  } * OvalRecPtr;
  
--- 63,75 ----
     int		sn;	/* number of points in the spline polygon */
     XPoint	* svlist;
!    int		fill, width, pen, curved, dash;
  } * PolygonRecPtr;
  
  typedef struct BoxRec {
!    int	fill, width, pen, dash;
  } * BoxRecPtr;
  
  typedef struct OvalRec {
!    int	fill, width, pen, dash;
  } * OvalRecPtr;
  
***************
*** 98,111 ****
     int			orig_x, orig_y, zoom, grid, grid_on;
     int			color, h_align, v_align, line_w, line_s;
!    int			fill, pen, just, font, f_style, f_size, f_dpi;
     char			name[MAXPATHLENGTH+1], domain[MAXPATHLENGTH+1];
  } * StkRecPtr;
- 
- typedef struct _DspItem {
-    char		s[MAXPATHLENGTH+1];
- } DspItem;
- 
- typedef struct _DspList {
-    char			itemstr[MAXPATHLENGTH+1];
-    struct _DspList	* next;
- } DspList;
--- 98,103 ----
     int			orig_x, orig_y, zoom, grid, grid_on;
     int			color, h_align, v_align, line_w, line_s;
!    int			fill, pen, dash, just, font, f_style, f_size, f_dpi;
     char			name[MAXPATHLENGTH+1], domain[MAXPATHLENGTH+1];
+    char			dir[MAXPATHLENGTH+1], sym_dir[MAXPATHLENGTH+1];
  } * StkRecPtr;
*** Makefile.noimake.orig	Sat Oct 27 17:51:31 1990
--- Makefile.noimake	Sat Oct 27 17:51:32 1990
***************
*** 4,8 ****
  # Copyright (C) 1990, William Cheng.
  #
! # @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Makefile.noimake,v 1.25 90/08/27 11:29:48 william Exp $
  #
  
--- 4,8 ----
  # Copyright (C) 1990, William Cheng.
  #
! # @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Makefile.noimake,v 1.26 90/10/27 15:44:10 william Exp $
  #
  
***************
*** 10,14 ****
  LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  
! TGIFVERSION	= 1.15
  INSTALLDIR	= /u/tangram/bin
  
--- 10,14 ----
  LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  
! TGIFVERSION	= 1.16
  INSTALLDIR	= /u/tangram/bin
  
***************
*** 46,49 ****
--- 46,51 ----
  	bitmaps/lw4.bm bitmaps/lw4s.bm bitmaps/lw5.bm bitmaps/lw5s.bm \
  	bitmaps/lw6.bm bitmaps/lw6s.bm \
+ 	bitmaps/ld0.bm bitmaps/ld0s.bm bitmaps/ld1.bm bitmaps/ld1s.bm \
+ 	bitmaps/ld2.bm bitmaps/ld2s.bm bitmaps/ld3.bm bitmaps/ld3s.bm \
  	bitmaps/oval.bm bitmaps/pat0.bm bitmaps/pat1.bm bitmaps/pat10.bm \
  	bitmaps/pat11.bm bitmaps/pat12.bm bitmaps/pat13.bm bitmaps/pat14.bm \
***************
*** 59,63 ****
  	bitmaps/leftarrow.bm
  
! CURSOR_BM = bitmaps/nullmask.bm bitmaps/text_cur_image.bm
  
  OBJS = tgif.o $(OBJ1)
--- 61,65 ----
  	bitmaps/leftarrow.bm
  
! CURSOR_BM = bitmaps/null.bm bitmaps/nullmask.bm bitmaps/text_cur_image.bm
  
  OBJS = tgif.o $(OBJ1)
***************
*** 141,146 ****
  msg.o:		const.h types.h font.e raster.e setup.e
  names.o:	const.h types.h $(NAMES_BM) \
! 		box.e button.e cursor.e font.e mainloop.e raster.e scroll.e \
! 		setup.e
  obj.o:		const.h types.h \
  		attr.e box.e group.e oval.e poly.e polygon.e setup.e spline.e \
--- 143,148 ----
  msg.o:		const.h types.h font.e raster.e setup.e
  names.o:	const.h types.h $(NAMES_BM) \
! 		box.e button.e cursor.e file.e font.e mainloop.e raster.e \
! 		scroll.e setup.e
  obj.o:		const.h types.h \
  		attr.e box.e group.e oval.e poly.e polygon.e setup.e spline.e \
***************
*** 172,176 ****
  setup.o:	const.h types.h \
  		choice.e color.e cursor.e drawing.e font.e mainloop.e menu.e \
! 		names.e raster.e ruler.e scroll.e
  spline.o:	const.h types.h \
  		poly.e raster.e rect.e setup.e
--- 174,178 ----
  setup.o:	const.h types.h \
  		choice.e color.e cursor.e drawing.e font.e mainloop.e menu.e \
! 		names.e raster.e ruler.e scroll.e stk.e
  spline.o:	const.h types.h \
  		poly.e raster.e rect.e setup.e
*** Imakefile.orig	Sat Oct 27 17:51:36 1990
--- Imakefile	Sat Oct 27 17:51:37 1990
***************
*** 4,14 ****
  /**/# Copyright (C) 1990, William Cheng.
  /**/#
! /**/# @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Imakefile,v 1.28 90/08/27 11:29:39 william Exp $
  /**/#
  
! TGIFVERSION	= 1.15
  PROGRAMS	= tgif prtgif tgif2ps frontend11.o
  /**/#CDEBUGFLAGS= -g
! /**/#BINDIR	= /u/tangram/bin
  /**/#MANPATH	= /u/tangram/man
  /**/#TGIFDIR	= /u/tangram/lib/tgif
--- 4,14 ----
  /**/# Copyright (C) 1990, William Cheng.
  /**/#
! /**/# @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Imakefile,v 1.29 90/10/27 15:42:31 william Exp $
  /**/#
  
! TGIFVERSION	= 1.16
  PROGRAMS	= tgif prtgif tgif2ps frontend11.o
  /**/#CDEBUGFLAGS= -g
! /**/#BINDIR	= /u/tangram/$(MACHINE)/bin
  /**/#MANPATH	= /u/tangram/man
  /**/#TGIFDIR	= /u/tangram/lib/tgif
***************
*** 38,41 ****
--- 38,42 ----
  OBJS2 = prtgif.o $(OBJ1)
  OBJS3 = tgif2ps.o
+ FRONTENDOBJS = frontend.o $(OBJ1)
  
  SRCS1 = .//**/*.c
***************
*** 47,51 ****
  ComplexProgramTarget_3(tgif2ps,,)
  
! NormalRelocatableTarget(frontend11,$(OBJ1))
  
  MakeDirectories(install,$(TGIFDIR))
--- 48,52 ----
  ComplexProgramTarget_3(tgif2ps,,)
  
! NormalRelocatableTarget(frontend11,$(FRONTENDOBJS))
  
  MakeDirectories(install,$(TGIFDIR))
*** tgif.man.orig	Sat Oct 27 17:51:46 1990
--- tgif.man	Sat Oct 27 17:51:48 1990
***************
*** 1,3 ****
! .\"@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.man,v 1.11 90/08/16 15:30:15 william Exp $
  .TH TGIF 1 "Version 1.13 and Above" "Tgif"
  .SH NAME
--- 1,3 ----
! .\"@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.man,v 1.13 90/10/27 17:28:39 william Exp $
  .TH TGIF 1 "Version 1.13 and Above" "Tgif"
  .SH NAME
***************
*** 367,371 ****
  .I Tgif*MaxColors: NUMBER
  This specified the maximum number of colors.  Color0 through ColorMax,
! where Max is NUMBER-1 must all exist in .Xdefaults.
  .TP
  .I Tgif*DefaultColorIndex: NUMBER
--- 367,371 ----
  .I Tgif*MaxColors: NUMBER
  This specified the maximum number of colors.  Color0 through ColorMax,
! where Max is NUMBER-1, and they all must exist in .Xdefaults.
  .TP
  .I Tgif*DefaultColorIndex: NUMBER
***************
*** 385,388 ****
--- 385,401 ----
  between two clicked to be recognized as one double-click.
  Default is 300.
+ .TP
+ .I Tgif*MaxDomains: NUMBER
+ This specified the maximum number of domains.  Domain0 through DomainMax,
+ where Max is NUMBER-1, and they all must exist in .Xdefaults.
+ .TP
+ .I Tgif*Domain#: DOMAINSTRING
+ This specified the correspondance between the domain number and a domain name.
+ See the \fBENVIRONMENT\fR section to see how to specify a path associated
+ with a domain.
+ .TP
+ .I Tgif*DefaultDomain: NUMBER
+ This specified the default domain when tgif starts up.
+ Default is 0 if not specified.
  .SH ENVIRONMENT
  .TP
***************
*** 397,400 ****
--- 410,428 ----
  If it starts with a / character, absolute path is used; otherwise,
  the icon file is assumed to be $TGIFPATH/$TGIFICON.
+ .TP
+ .I TGIF_[Domain]
+ For each \fIDomain\fR name defined in the X defaults, \fITGIF_Domain\fR
+ specifies a search path for the symbol files.  Each search path
+ should have the same format as the \fIPATH\fR csh environment variable.
+ For example, to specify the symbol path for domain \fIDEFAULT\fR
+ to look for symbol files in the library directory /tmp/tgif/symbols
+ then in the current directory,
+ the following command should be executed in csh.
+ .br
+ .DS
+ setenv TGIF_DEFAULT /tmp/tgif/symbols:.
+ .br
+ .DE
+ .br
  .SH FILES
  $TGIFPATH/tgificon.obj
***************
*** 417,421 ****
  .SH SEE ALSO
  \fBlatex\fR(1L), \fBlpr\fR(1), \fBenv\fR(1), \fBX\fR(1), \fBtgif2ps\fR(1),
! \fBdvips\fR(1)
  .SH IDIOSYNCHRASIES
  When any of the ``escape to Prolog'' commands are accidentally
--- 445,449 ----
  .SH SEE ALSO
  \fBlatex\fR(1L), \fBlpr\fR(1), \fBenv\fR(1), \fBX\fR(1), \fBtgif2ps\fR(1),
! \fBdvips\fR(1), \fBcsh\fR(1)
  .SH IDIOSYNCHRASIES
  When any of the ``escape to Prolog'' commands are accidentally
***************
*** 432,439 ****
  settings are ignored.
  .SH BUGS
- The directory where tgif is started is considerd the root
- directory of the tgif session.  The user is not allowed to
- change directory beyond the root.
- .PP
  Text does not have a background fill pattern.
  .PP
--- 460,463 ----
*** README.orig	Sat Oct 27 17:51:52 1990
--- README	Sat Oct 27 17:51:53 1990
***************
*** 2,6 ****
   * Author:	William Chia-Wei Cheng (william at cs.ucla.edu)
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/README,v 1.3 90/05/25 14:34:11 william Exp $
   */
  
--- 2,6 ----
   * Author:	William Chia-Wei Cheng (william at cs.ucla.edu)
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/README,v 1.4 90/10/27 17:22:25 william Exp $
   */
  
***************
*** 22,28 ****
  	cp Makefile.noimake Makefile
  	make tgif
!    If you have imake, do the following, (note that the config directory
! 		should be set to wherever you can find Imake.tmpl)
! 	imake -DUseInstalled -I/usr/local/libdata/X11/config -s
  	make tgif
  
--- 22,34 ----
  	cp Makefile.noimake Makefile
  	make tgif
! 
!    If you have imake and xmkmf, do the following,
! 	xmkmf
! 	make tgif
! 
!    If you have imake but don't have xmkmf, do the following,
! 		(note that the config directory should be set to
! 		wherever you can find Imake.tmpl)
! 	imake -DUseInstalled -I/usr/local/libdata/X11/config
  	make tgif
  
*** bitmaps/ld0.bm.orig	Sat Oct 27 18:11:48 1990
--- bitmaps/ld0.bm	Fri Oct 26 17:56:32 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld0_width 64
+ #define ld0_height 20
+ #define ld0_x_hot 0
+ #define ld0_y_hot 0
+ static char ld0_bits[] = {
+    0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld1.bm.orig	Sat Oct 27 18:11:50 1990
--- bitmaps/ld1.bm	Fri Oct 26 17:58:26 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld1_width 64
+ #define ld1_height 20
+ #define ld1_x_hot 0
+ #define ld1_y_hot 0
+ static char ld1_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld2.bm.orig	Sat Oct 27 18:11:52 1990
--- bitmaps/ld2.bm	Fri Oct 26 17:59:47 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld2_width 64
+ #define ld2_height 20
+ #define ld2_x_hot 0
+ #define ld2_y_hot 0
+ static char ld2_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld3.bm.orig	Sat Oct 27 18:11:56 1990
--- bitmaps/ld3.bm	Fri Oct 26 18:01:17 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld3_width 64
+ #define ld3_height 20
+ #define ld3_x_hot 0
+ #define ld3_y_hot 0
+ static char ld3_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0x9f, 0xf9, 0x9f, 0xf9, 0x9f, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld0s.bm.orig	Sat Oct 27 18:12:01 1990
--- bitmaps/ld0s.bm	Fri Oct 26 17:56:41 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld0s_width 32
+ #define ld0s_height 20
+ #define ld0s_x_hot 0
+ #define ld0s_y_hot 0
+ static char ld0s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld1s.bm.orig	Sat Oct 27 18:12:03 1990
--- bitmaps/ld1s.bm	Fri Oct 26 17:58:54 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld1s_width 32
+ #define ld1s_height 20
+ #define ld1s_x_hot 0
+ #define ld1s_y_hot 0
+ static char ld1s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x78, 0x78, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld2s.bm.orig	Sat Oct 27 18:12:05 1990
--- bitmaps/ld2s.bm	Fri Oct 26 18:00:09 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld2s_width 32
+ #define ld2s_height 20
+ #define ld2s_x_hot 0
+ #define ld2s_y_hot 0
+ static char ld2s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xf9, 0xf9, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld3s.bm.orig	Sat Oct 27 18:12:07 1990
--- bitmaps/ld3s.bm	Fri Oct 26 18:01:43 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld3s_width 32
+ #define ld3s_height 20
+ #define ld3s_x_hot 0
+ #define ld3s_y_hot 0
+ static char ld3s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0x9f, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/null.bm.orig	Sat Oct 27 18:26:39 1990
--- bitmaps/null.bm	Tue Sep  4 09:37:35 1990
***************
*** 0 ****
--- 1,7 ----
+ #define null_width 8
+ #define null_height 16
+ #define null_x_hot 0
+ #define null_y_hot 0
+ static char null_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/nullmask.bm.orig	Sat Oct 27 18:25:47 1990
--- bitmaps/nullmask.bm	Tue Sep  4 09:35:57 1990
***************
*** 4,7 ****
  #define nullmask_y_hot 0
  static char nullmask_bits[] = {
!    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0x00};
--- 4,7 ----
  #define nullmask_y_hot 0
  static char nullmask_bits[] = {
!    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
!    0xff, 0xff, 0xff, 0xff};
---------------------------------> cut here <---------------------------------
-- 
Bill Cheng // UCLA Computer Science Department // (213) 206-7135
3277 Boelter Hall // Los Angeles, California 90024 // USA
william at CS.UCLA.EDU      ...!{uunet|ucbvax}!cs.ucla.edu!william

dan
----------------------------------------------------
O'Reilly && Associates   argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.
--
dan
----------------------------------------------------
O'Reilly && Associates   argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.



More information about the Comp.sources.x mailing list