eXene-1.0 (released ???) ------------------------ GLOBAL CHANGES - changed uses of System.Unsafe. [07/11/97] - various minor changes to track basis clean-up in SML/NJ. [06/11/97] - various minor changes to conform with SML'97 type sharing rules. [05/22/97] - various minor changes to use Real.== instead of polymorphic equality (which doesn't work anymore). [12/10/96] - modified sources to compile against SML'96 and the latest version of CML. [08/01/96] STYLES - fixed bug in parsing code. [04/07/97] GRAPHICS UTILITIES - created the GetDpy structure to provide support for getting the display and authentication information for an application. This code was taken from the RunEXene structure in the widget utilities. [01/27/98] - fixed alignment bug in X authorization code. [04/07/97] LIBRARY CHANGES - Fixed a bug introduced in SML/NJ 109.30, where the open connection request had bogus data in it. [08/11/97] - Fixed a bug in the encoding of PolyText8 requests. [04/08/97] - One can now use symbolic host names when connecting to servers. [08/01/96] WIDGET CHANGES - Added RunEXene.parseDisplay. [04/07/97] - RunEXene.run and RunEXene.runWArgs now look for the DISPLAY shell variable instead of EXENE_DISPLAY. [08/01/96] eXene-0.5 (released ???) ------------------------ GLOBAL CHANGES - modified sources to use the Char and String interfaces from the new standard basis. [11/15/94] LIBRARY CHANGES - added partial fix to handle sequence numbers > 2^16; still need to synchronize with server when # of requests greatly exceeds replies. [02/01/95] - add clause to catch Fail exceptions in the wrapper code for XDebug.xspawn. [12/06/94] - added charWidth to the Font structure, and cleaned up the various width computing functions in lib/window/font-base.sml. [11/26/94] - added withdrawWin to eXeneWin for ICCC-compliant unmapping of top-level windows. [11/09/94] - added rgbOfColor to eXeneBase for extracting the RGB of a color so that the shading colors (for 3D) can be computed. [09/21/94] - fixed a bug in protocol/xdisplay.sml, where the connection file descriptor was not being closed when the server refuses the connection. [08/26/94] - added the authentication datatype to EXeneBase and added an authentication parameter to the openDisplay operation. [06/08/94] - added position and time information to MOUSE_Enter and MOUSE_Leave events. We may want to make mouse events carry more uniform information. [06/03/94] - made a bunch of changes to better support properties. Renamed the type XProtTypes.property to prop_val, and removed the name field. Added a property server to monitor property changes. [03/29/94] - added maxReqLen to allow applications to find out the maximum request length supported by a display. [03/29/94] - renamed Drawing.tileBlt to Drawing.textureBlt, and added a new function, called tileBlt, which does a pixelBlt using the tile as a source. [03/18/94] - created a per display connection server for managing communications related to selections. This also required a couple of minor changes to the protocol implementation. [03/11/94] - created a per display connection atom table, for caching interned atoms. The standard atom definitions moved from xatom.sml to std-atoms.sml. [10/26/93] - fixed bug in Geometry.clipPt. [07/12/93] - fixed bug in XDebug.xspawn that caused the trace-server's ID to be reported instead of the spawned thread. [04/12/93] - modified XDebug.xspawn to report thread exiting on the xspawn trace module, and to unwatch normally exiting threads. Also, turn on the XDebug.errorTM trace module. [03/28/93] - added Font.substrWidth for computing the width of a substring. [03/27/93] - added general function to change window attributes (EXeneWin.changeAttrs) [03/26/93] - added EXeneWin.setBackground [03/25/93] GRAPHICS UTILITIES - added XAuth structure to provide support for getting authentication data needed when opening a display. [06/08/94] - added BitmapIO functor that supports reading and writing depth-1 images in the X11 format. [02/18/93] WIDGET CHANGES - added openFont to the Widget structure. [11/27/94] - created the EXeneRun utility structure for a higher-level way to invoke eXene applications. [07/16/94] - added an authentication parameter to the mkRoot operation. [06/08/94] - added setCursor and setBackground to Canvas structure to allow those window attributes of a canvas to be changed. [03/28/94] - fixed a race condition in the canvas widget. [04/12/93] - modified box_item datatype declaration in BoxLayout to allow use of newconreps. [03/28/93] - modified Background widget to use EXeneWin.setBackground. [03/26/93] - added colorOf function to Widget structure; shorthand for colorOfScr (screenOf root) colorspec (widget.sml). [02/19/93] - changed default scrollbar cursor color to gray; correctly handles monochrome displays (scrollbar.sml, scroll-view.sml). [02/19/93] eXene-0.4 (released 02/17/93) ----------------------------- GLOBAL CHANGES - changed type naming convention to remove "_t" suffix. [02/09/93] - modified source to use SML/NJ Library (v. 0.1). A couple of the interfaces are different from the util-lib versions. [02/03/93] LIBRARY CHANGES - modified XDebug structure to use the trace modules provided by TraceCML. Also modified various clients of XDebug. [02/10/93] - exposed WindowNotFound exception in EXeneBase. [02/10/93] - changed lib-level hashing functions to use SML/NJ Library hash tables. [02/09/93] - added encodeSendEvent to XRequest, and send_evt_to_t type to XProtTypes. Created the XSendEvent structure, which contains routines for encoding SendEvent requests (currently only encodeSendSelectionNotify). [11/20/92] - modified lib/protocol/xdisplay.sml to retry connection upto 5 times. [11/17/92] - open EXene structure using explicit structure assignments, so as not to confuse source groups. - Always create GC server for depth 1 pixmaps (patch for IBM X bug) (display.sml) - Fixed parity error in internAtom and lookupAtom (xatoms.sml) - Added black and white color_spec_t to EXeneBase (abstract.sml,exene-base.sml) - Added createImageFromTile function to EXeneBase (exene-base.sml,image.sml) - Removed alloc-type window creation routines (window.sml,exene-win.sml) - Added function createTransientWin (window.sml,exene-win.sml,xprops.sml) - Added function setWMProtocols (window.sml,exene-win.sml,xprops.sml) (2 November 1992) - split lib/window/window.sml into window-sig.sml and window.sml. - added background and border color fields to representation of windows. This is necessary to avoid premature deallocation of those color cells, once color finalization is implemented. - changed "Drawing.autoflush" to "Drawing.feedback" - Implemented a new, more abstract, color model. Each screen has a color server that maps abstract color specifications (color_spec_t) to an abstract representation of colors (color_t). The pixel type is no longer visible to the user level. - Added number of buffered messages count to mapped state of draw-master. - Added Font.charPositions to return per character positions of a string. - Fixed race condition by adding buffering to the top-level window server. - XDisplay structure now contains a field for the X server's maximum request size. - Image can now be more than 1 plane deep, using XY format. Images and their ascii representations now require a list of lists instead of a list. bm2mlx-template.c modified to reflect the new format. - Function createImageFromPixmap added. - Bounding box function bbox added to Geometry. - Bugs in intersection and union in Geometry fixed. - Race condition between drawing on a pixmap and destroying the pixmap eliminated. - Bug in createTileFromPixmap fixed. - MOUSE_Enter/MOUSE_Leave events now generated. - FirstDown & LastUp messages added to mouse_msg_t. - fixed bug in HashUtil.remove - added checks to guarantee that values constructed using concrete datatypes lie in allowed ranges for the X protocol. Added related exceptions BadRGB, BadDrawParameter, BadPenParameter, BadWindowGeometry and BadPixmapParameter. - NoColorCell exception added to EXeneBase (and Color), for attempts to allocate a new color cell when the color map is full. - Immutable tiles are now used where pixmaps used to be allowed. GRAPHICS UTILITIES - Added routine for generating general ellipses. [10/05/92] - Fixed bug in spline code concerning when line is flat enough. [10/03/92] - Spline code has been moved into the graphics utility directory (lib/graph_util). [10/03/92] - Added routines for drawing/filling rounded rectangles. [09/03/92] WIDGET CHANGES - The BadArgument exceptions in Box, Pile and WidgetSet are changed to BadIndex (box.sml, pile.sml, widget-set.sml). [02/12/93] - The AlreadyRealized exception from Widget is now exposed (widget.sml). [02/12/93] - The getChildEnv function in Router now raises a NotFound exception if the environment is not in the table (router.sml). [02/12/93] - A shell widget now deletes its own window and becomes a zombie when it receives a KillReq from its child (shell.sml). [02/12/93] - The bounds function for str_edit is more correctly and efficiently handled. It is also no flexible in the x dimension (str-edit.sml). [02/12/93] - Unnecessary case "013" removed from echo server (vtty.sml) [02/12/93] - Field name "rad" changed to "radius" in mkToggleCircle (toggle.sml) [02/12/93] - Many widget exceptions replaced by LibBase.BadArg (slider.sml, scrollbar.sml, divider.sml, button-view.sml, str-edit.sml, widget.sml, frame.sml, viewport-sig.sml, viewport.sml [02/12/93] - Exceptions BadWidth and MultipleChoices exposed in text-list.sml [02/11/93] - Unused exception BadWidth removed from color-rect.sml [02/11/93] - setWMHints function added to Shell - type generators added for types defined by type abbreviation: wm_args_t, hints_t (shell.sml), bounds_t (widget.sml), list_item_t (text-list.sml), set_item_t (widget-set.sml), whereFn_t (simple-menu.sml) - Added code to prevent possible deadlock dealing with child CO events (widget.sml, shell.sml, box.sml, shape.sml, field-edit.sml) (11 November 1992) - Fixed bugs in vtty.sml, toggle-ctrl.sml (10 November 1992) - Added WidgetSet structure (widget-set.sml); new version of TextList using WidgetSet (5 November 1992) - The widget library assumes util-lib library loaded - Added mkTransientShell and removed setWMHints from Shell - Added wstate_t type to Widget; replaces button_state_t - Added sameRoot function to Widget - Made widgets abstract, with equality function. - Removed window attributes for widgets. The wrapCreate function was changed accordingly. Also, removed setBackground function from Widget; use new background widget instead - Added several utility functions to Widget: okaySize, compatibleDim, compatibleSize - Added ignoreMouse, ignoreKey functions for widgets - Toggles now take an initial state; in addition, a toggle now fires its action routine if its state is changed under program control - Sliders now take an initial state; in addition, there are now functions for setting the state, plus querying the state and scale - The function mkSBLayout has been moved to its own structure ScrollLayout - TextList replaces the ListWidget structure. The user can now specify an initial state for the items. - mkColorRect has been added to implement simple colored rectangular regions. - A background_t widget has been added to implement backgrounds for widgets - Where possible, composite widgets no longer need a root argument (structures Frame, ScrollPort, Shape) - The Box structure now produces a box_layout_t, rather than a widget_t. (There is the usual widgetOf function.) In addition, one can now insert, delete, map, and unmap "boxes" in the top level of the box hierarchy - A Pile structure has been added. This implements a pile_t type, which maintains a collection of widgets, only one of which is visible at a time. Widgets can be inserted and deleted from piles. (2 November 1992) - modified str-edit.sml to allow character values in the range [0xa0-0xff]. - Color type introduced to allow multiple representations; currently supports RGB and pixel. [NOTE: this has been moved to the library level] - New widgets : Divider, MenuButton, ViewPort, ScrollPort - Label views, text button views and list items reimplemented to use common text glyph. - Frames provide dynamic control of frame color. - Labels provide a font option, and dynamic control of colors. - Bugs fixed in scrollbar widges. - Signature of Shape module changed, and two new functions mkRigid and mkFlex added. - Character insertion and deletion added to TextWidget - The Widget module now provides filter functions for the input streams, and a function to alter the background of a widget. - Toggle and button protocol has changed. Command and toggle buttons register a change on button up, not on button down. If button up occurs off the widget, no change is registered. Event streams for general buttons now terminate with either button up or exit, the latter indicating the mouse has left the widget. Buttons and toggles also now provide active/inactive state. eXene-0.3 (released 12/03/91) ----------------------------- GLOBAL CHANGES: - eXene is now based on CML-0.9.4; this very required minor changes to eXene (now using 0.9.6). - ported to SML/NJ 0.71. Most changes were a result of the Array structure not being open by default, and by Array.sub no longer being an infix operator. Changed the representation of pen_t values to use immutable vectors. LIBRARY CHANGES - fixed typechecking problem in protocol/xdisplay.sml that was exposed by SML/NJ 0.70. - replaced draw_dst_t datatype with abstract drawable_t type. This is part of the support for rubber-banding. - fixed xio.sml bug caused by a faulty understanding of the sequencing semantics of the protocol. - fixed bugs in gc-server.sml and draw-master.sml reported by Huimin Lin (huimin@@cogs.susx.ac.uk). - fixed bug in HashUtil.mapList - changed remove function for hash tables to return the removed item. This affected the hash tables defined in util/{hash-util.sml,hash-xid.sml}, window/hash-window.sml and user/eXene-base.sml. - added window-tree locking mechanism to the window registry. - modified asynchronous blt operations to use a promise-style implementation. - added updatePen operation for functional updates of pens. - added createOverlay to support rubber-banding. - new Spline module providing functions to compute Bezier cubic sections, and open and closed B-splines. - added copyBlt and copyBltEvt. - fixed bug in decoding font info in xreply.sml (wrong offset) WIDGET CHANGES - fixed possible deadlock arising from parent not always servicing a child's CO event. This affected box.sml and field-edit.sml. - added new text list widget. The widget provides a vertical or horizontal display of text items, and events associated with the user choosing items. - the ButtonView structure now provides a new view mkTextBtn, which generalizes mkLabelBtn (rectangular buttons with string labels) by allowing the programmer to specify the border width and text alignment within the button. - fixed bug in Frame widget that was causing deadlock. - the SimpleMenu module has seen various bug fixes and style changes, as well as the addition of a low-level menu routine for providing pop-up menus within widgets. - there is now a working vtty widget (thanks to Thomas Yan for finishing our code) - the Canvas widget now provides a drawable, so that the library drawing routines can be used. eXene-0.2 (released 4/27/91) ----------------------------- LIBRARY CHANGES - added absolute screen coordinates to mouse event messages - added tileBlt operation to Drawing - fixed GraphicsExpose/NoExpose problem. Drawing.bitblt and Drawing.tileBlt will raise the exception Exposures, if part of the source is unavailable. Also, the PV_Exposures field for pens has been eliminated. - destroyWindow is now handled by the draw-master, which avoids a race with any pending drawing requests on the window. This was a problem with popup windows. - added Geometry.inside; test if a rectangle is inside another - fixed bug in encodePolyRects, etc. - changed DrawMaster to group adjacent drawing requests that use the same pen. - fixed the shutdown deadlock that was causing the "eXene-shutdown timeout" message. WIDGET CHANGES - fixed deadlock in widgets/router.sml - added tileBlt operation to Canvas widget - the menu widget is fixed - there is now a text widget - there is a text-field edit widget - the bounds_t type has been redefined; see the manual for details. - the box/glue layouts have been re-implemented. Also, the layout semantics have changed; see the manual for details. - the type of Widget.wrapCreate has changed; point_t and size_t arguments were bundled into a rect_t argument. - additional button views have been added. - the shell widget now provides application access to window manager hints. In addition, the shell automatically registers size hints with the window manager. EXAMPLES - the examples have been updated to use some of the new library features - a simple example of the menu widget has been added - a calculator has been implemented using the widget set. eXene-0.1 (released 3/19/91) ----------------------------- This was the first release
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: idget set. eXene-0.1 (released 3/19/91) ----------------------------- This was the first release