This is the README file of patch3 for Wafe 0.97. The new version features in the following items: - Enhanced connectivity for frontend applications: The new version supports the command line option --S, which can be of the form * example: --S/tmp/wafe.1052-1 * example: --S8853 * example: --Smohegan:8853 If the --S option is used, Wafe establishes during its initialization a socket communication determined by the and connects its standard input and output to the created socket. a) If is of the form , first the application program is responsible to create a unique socket name. Then it calls Wafe with the --S option, passing the socket name to Wafe. Wafe creates the specified unix domain socket (like a server) and waits, until the client application program connects. Wafe will remove the named socket on exit. b) If is of the form , Wafe binds the specified port (like a server) and waits for the application program to connect on it. Note, that the specified port is blocked on the host for the whole Wafe session. c) If is of the form , a simple two phase communication protocol is used to establish the connection. - In the first phase the application program on host binds the specified port (like a server), spawns Wafe (for example using remote shell) with the option --S. Wafe will connect to the specified host and port. - In the second phase Wafe will obtain a new unique port, and establish itself as a sever listening on the new port. The Wafe will send the new obtained port number as a ASCII string to the application program over the primary socket. The application program reads the new port number form the primary socket and will connect to Wafe on the new port number and release the original port number such that another Wafe process can use as well. A sample implementation of an application program exploiting all three types of socket connections is provides in wafe/apps/lang/sock.pl - If a Tcl procedure with the name "onExit" is defined (without arguments) it will be executed whenever Wafe exits. - Some optimizations in pixmap (.xpm) file handling for changePixmap. Pixmaps are now cached and have to be released via 'changePixmap ' where noPixmap can be "None", "ParentRelative", or "Unspecified". I am not really happy with the current implementation and consider a "unified" picture cache with the pixmaps for the HTML widget. However, the new version is better than the last one, and will be improved further in future versions. - The new distribution contains a small fix for wafemail concerning the resize behavior of the "config" button. In addition, ctrl-n can be used for digest-like mails to skip to the next part of the mail starting with dashes. - The appearance of wafe/src/tcl/m-htmlBrowse is now Motif Style Guide compliant. Additionally m-htmlBrowse jumps on "back" operations to the correct scroll position (instead to the last used anchor). - There are a few changes in wafe/src/tcl/* and in the Imakefile of the distribution. Many thanks to Jim Wight for his suggestions! - Several #include files have been reconsidered to make Wafe easier portable on various systems based on Stephen Gildea's helpful guide "Writing Portable X Code". - Many file names have been changed in this patchlevel to comply with the X Consortium file name restrictions (only wafe/src and below). -gustaf PS: in order to apply this patch, be sure that your Wafe installation is on the Wafe 0.97p2 level, cd to the Wafe home directory, expand this tar file over the 0.97p2 distribution, remove wafe/lib/dbug/libdbug.a, perform the usual configuration in wafe/src/Imakefile (as indicated in INSTALL) or use the new TOPMAKE (read the top section of wafe/src/TOPMAKE). PPS: Please, can someone with Motif 1.2.3 (or newer) try the following script: the scrollbar position "value" should be the same when obtained via getValues or XmScrollBarGetValues. However, the latter returns garbage (at least under Linux 1.0 and MetroLink Motif 1.2.3). Can please someone with new Motif version try this script to figure out whether this is a Linux-only problem. Thanks in advance. ================================================================== #../mofe --f XmRowColumn rc topLevel XmPushButton pushMe rc \ activateCallback { XmScrollBarGetValues sb val size incr page puts stderr "value: XmScrollBarGetValues> $val =?= [gV sb value]