home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / lang / lisp / 2821 < prev    next >
Encoding:
Internet Message Format  |  1992-11-07  |  7.5 KB

  1. Xref: sparky comp.lang.lisp:2821 comp.human-factors:2566
  2. Path: sparky!uunet!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!bam
  3. From: bam+@cs.cmu.edu (Brad Myers)
  4. Newsgroups: cmu.cs.common-lisp,comp.lang.lisp,comp.human-factors
  5. Subject: New version of Garnet
  6. Message-ID: <BxAxy6.Lto.1@cs.cmu.edu>
  7. Date: 6 Nov 92 06:03:40 GMT
  8. Article-I.D.: cs.BxAxy6.Lto.1
  9. Sender: news@cs.cmu.edu (Usenet News System)
  10. Organization: School of Computer Science, Carnegie Mellon
  11. Lines: 196
  12. Nntp-Posting-Host: bam.garnet.cs.cmu.edu
  13.  
  14. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  15. -*-*-*-*-*-*-  ANNOUNCING THE RELEASE OF VERSION 2.1 OF GARNET  -*-*-*-*-*-*-
  16. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  17.  
  18. Garnet is an advanced user interface development environment for Lisp and
  19. X/11.  It runs on all machines and Lisps that support X/11, and it is free.
  20. FTP instructions are below.
  21.  
  22. We have added a significant number of new features to this version,
  23. including the release of C32 and its integration with Lapidary.  We have
  24. also added a number of new gadgets, such as one for reading and saving
  25. Garnet objects; interactor support for animation; and full support for
  26. reading and writing X pixmap objects.  In addition, we have corrected
  27. several bugs that were reported in version 2.0.
  28.  
  29. In summary, the primary changes are:
  30.  
  31. * The spreadsheet object and constraint editor C32 is now ready for
  32. release.  It allows Garnet objects to be viewed and edited using a
  33. spreadsheet-like interface.  C32 was described in a paper presented at CHI.
  34.  
  35. * Several bugs were fixed in Lapidary.  In addition, Lapidary now uses
  36. C32.  This makes it possible to edit objects and constraints created
  37. with Lapidary using a spreadsheet interface.
  38.  
  39. * We have created new gadgets for saving and reading Garnet objects from
  40. a file, and pop-up option menus.  Both come in Motif and Garnet
  41. looks-and-feels.
  42.  
  43. * All button and menu widgets can now include arbitrary Garnet objects as
  44. the labels, in addition to text strings.  This results from an extension
  45. to aggrelists to include arbitrary pictures.
  46.  
  47. * It is now possible to have X pixmaps (color pictures) as first-class
  48. Garnet objects.  Pixmap objects can be read and written to files in xpm format.
  49.  
  50. * The multi-graphics selection widget now supports many new features such as
  51. the ability to grow multiple objects, select all objects in a region, etc.
  52.  
  53. * There is a new interactor, animator-interactor, which supports
  54. various forms of animation.
  55.  
  56. * Garnet now supports modal windows, which can be specified with the
  57. slot :modal-p.  These prevent input from going to any other
  58. windows, and are easier to use than priority-levels.
  59.  
  60.  
  61.  
  62. In summary, the secondary changes are:
  63.  
  64. KR:
  65.  
  66. The function SCHEMA-P now returns T only for valid objects, i.e., objects
  67. that have not been destroyed.
  68.  
  69. By default, KR functions such as G-VALUE now give more meaningful
  70. error messages when given illegal objects such as NIL.
  71.  
  72. The behavior of the :override keyword to create-instance has
  73. been improved considerably.  Formulas which used to depend on values
  74. that are overridden are properly invalidated.
  75.  
  76. The macro gv now gives an error message if its first argument is a
  77. keyword.  Usually, this results from using gv instead of gvl
  78. by mistake.
  79.  
  80. destroy-slot now runs the invalidate demon before deleting the
  81. slot.  This ensures that the Update algorithm sees the change and
  82. reflects it in the display.
  83.  
  84. We have added two new macros, with-demon-enabled and
  85. with-demon-disabled, which allow finer control over which invalidate
  86. demons are executed.
  87.  
  88.  
  89. OPAL:
  90.  
  91. The functions of the opal:gv- family, such as opal:gv-bottom,
  92. now behave as if a link was missing when the object they are given is
  93. NIL.
  94.  
  95. The point-in-gob method now works appropriately for polygons and arcs,
  96. rather than just using the bounding-box.
  97.  
  98. The circularities in dependencies for aggrelists were removed, so it is
  99. now easier to center an aggrelist in other objects with formulas.
  100.  
  101. Opal parses the ":0.0" part of the DISPLAY environment variable, in
  102. case it is not the default ("0.0").  This environment variable is used
  103. by the X server to tell which display is being used.
  104.  
  105. Postscript printing can now handle multiple windows, and is more
  106. robust.  The comment at the top of PostScript files generated by
  107. opal:Make-PS-File has been changed to "%!PS-Adobe-2.0 EPSF 2.0".  The
  108. addition of the EPSF comment should make it easier to load these
  109. PostScript files into other applications like FrameMaker.
  110.  
  111. The cursor multi-text object gadget now scrolls the text so the cursor
  112. remains visible.  If the cursor is pulled outside the window that displays
  113. the text, the window is scrolled continuously.
  114.  
  115. Thanks to Denys Duchier, Garnet now provides better support for
  116. windows on the TVTWM window manager.
  117.  
  118. The standard Garnet fonts are now referenced by point size rather than
  119. by pixel size.  For example, when Garnet looks for the default-font on
  120. the font path, it will search for a font with a point size of 120,
  121. rather than a pixel size of 12.  This should reduce the number of
  122. users who have to explicitly add directories to their font path.
  123.  
  124.  
  125. INTERACTORS:
  126.  
  127. The two-point interactor, text interactor, and polyline-creator now
  128. accept the same gridding control as the move-grow interactor.
  129.  
  130. The button-interactor now supports auto-repeat using the
  131. animator-interactor (but only under Allegro or Lucid).
  132.  
  133.  
  134. GADGETS:
  135.  
  136. Scrolling windows now have a new function to scroll the window so a given
  137. rectangular area is visible.
  138.  
  139. The arrows on scroll bars and sliders will now auto-repeat if you hold the
  140. mouse button down on them (but only under Allegro or Lucid).
  141.  
  142. Releasing the mouse button outside a menubar now makes the menubar go away.
  143.  
  144. The functions Pop-Up-Win-For-Prop, Pop-Up-Win-Change-Obj, and
  145. Pop-Up-Win-Change-Items all take an optional modal-p final parameter.
  146.  
  147. The Motif-Slider has a new :format-string slot, so you can control
  148. how the indicator text is formatted.
  149.  
  150.  
  151. DEMOS AND UTILITIES:
  152.  
  153. New demo demo-animator shows off how to make an animation, and
  154. demo-pixmap is a kind of pixmap editor.
  155.  
  156. Garnetdraw has been substantially upgraded by using the new
  157. multi-graphics-selection and read and save gadgets, and
  158. it also supports gridding.
  159.  
  160.  
  161. GILT:
  162.  
  163. The functions Gilt:show-in-window and
  164. Gilt:show-in-window-and-wait now take the parameter modal-p.
  165.  
  166.  
  167. LAPIDARY:
  168.  
  169. Lapidary now uses so-called link parameters, i.e., slots that
  170. constraints use to reference other objects, and which may change with each
  171. incarnation of an object.
  172.  
  173. The parameters menu has been extensively revised to make it work
  174. with aggrelists and link parameters.
  175.  
  176. Lapidary no longer requests anything from the Lisp listener.
  177.  
  178. The interactor menus now disappear when one of the action buttons
  179. has been hit.
  180.  
  181. Lapidary-generated files are much smaller and more readable, because
  182. formulas that should be inherited are no longer dumped.
  183.  
  184.  
  185. CONTRIB:
  186.  
  187. New contributions include a set of functions that let the user provide
  188. input (such as Lisp expressions) and handle errors that might occur
  189. during evaluation.
  190.  
  191.  
  192. DOCUMENTATION:
  193.  
  194. The new Garnet manuals now use embedded postscript pictures instead of
  195. bitmaps, so the manuals should be much smaller files and quicker to print. 
  196.  
  197.  
  198.  
  199. FTP INSTRUCTIONS
  200.  
  201. Garnet is available for free by anonymous FTP.  To retrieve it, ftp to
  202. a.gp.cs.cmu.edu (128.2.242.7).  When asked to log in, use "anonymous", and
  203. your name as the password.  Then change to the garnet directory (note the
  204. double garnet's) and get the README explanation file:
  205.     ftp> cd /usr/garnet/garnet/
  206.     ftp> get README
  207. Now, follow the directions in the README file.  
  208.  
  209. There is a usenet bboard for discussing Garnet: comp.windows.garnet.
  210.