Please enable JavaScript to view this site.

A-Shell Development History

910.0.1

(Windows/ATE) Implement a new control socket for the ATE "reverse channel". When connected, all non-keyboard communication from the ATE client to the server is sent via the socket, rather than sharing the stdin data stream with the keyboard. The objective is to eliminate interference between keyboard data (especially in the form of typeahead) and control data (such as result codes from INFLD and GUI operations).

There are two steps to activating the connection. The first is to check the option "Accept Connection From Server" on the Misc tab of the ATE configuration dialog and enter an available port number that is visible by the server to the client (requires ATE build 153 or higher). (A high numbered port, above 20000, is recommended.)

The second step is to execute ATECTL/C from the dot prompt of the server after connecting (see separate description of ATECTL.LIT below).

Note that if there is a firewall between the server and client (or you are running a software firewall in the ATE client), you will need to open up the port you choose to connect on.

Also note that use of this connection is optional, and can even be turned on and off during a session. When the connection is not available, ATE will revert to using the keyboard channel for passing control data.

910.0.2

(ATE) A new LIT command, ATECTL.LIT, allows you to connect, disconnect, and display the status of the ATE control socket. Usage:

.ATECTL/C{onnect}       (connect)

.ATECTL/D{isconnect}    (disconnect)

.ATECTL/S{tatus}        (default switch - displays status)

The Help..About dialog box also indicates the status of the ATE control connection.

910.0.3

(ATE) Build 3.0.154 allows option of saving configuration for current users (HKEY_CURRENT_USER) or for all users (HKEY_LOCAL_MACHINE). In a security environment (such as with Terminal Server), depending on the privilege level, a user may only be able to see his own profiles, or possibly both his own and the shared profiles. Note that you still need Administrator privileges when first installing ATE.

910.0.4

(Windows/ATE) The AUI "EVENTWAIT" class (aka MIAMEX,135) now supports a new opcode flag (+16) which allows input of a numeric option in addition to the normal means of selecting an action by clicking on a button or other control. According to a certain Fargo native, this will be appreciated in environments where there are mixture of users that want a GUI and those reluctant to give up their keyboarding ways.

If the user types a series of numeric digits followed by ENTER without any interceding mouse actions, the numeric value will be returned in the ctlid parameter and exitcode will be set to 0.

(Windows/ATE) You can now query and/or change the window size and position via a set of new optional parameters on the MIAMEX,MX'SHOWWINDOW (77) operation:

XCALL MIAMEX,77,FLG{,LFT,TOP,RGT,BTM{,ROWS,COLS{,TSTS,BSTS}}}

or the new equivalent:

XCALL AUI,"WINDOW",FLG{,LFT,TOP,RGT,BTM{,ROWS,COLS{,TSTS,BSTS}}}

FLG is a code indicating the window state (0=hide, 1=normal, 3=maximize, 6=minimize, 9=restore). A special value -1 is used to retrieve all of the other parameters without changing anything. If setting any of the other parameters, FLG should be set to one of the valid window state flags (1 for "normal", i.e. non-maximized, non-minimized).

You may also add +64 to the FLG value to cause to first reset the window and all other associated settings according the currently active settings file (just as if you had used the File..Load menu option and didn't change the default ash file name). Note that if you just want to reset the window and settings to the original state, then set FLG=65 and either omit all the other parameters or set them all to 0 (-1 for TSTS and BSTS).

The next set of optional parameters (LFT,TOP,RGT,BTM) may be used to set or retrieve the coordinates of the Window in standardized units that range from 0,0 for the upper left corner of the screen to 10000,10000 for the bottom right. You may leave these 0 to retain the current window coordinates (if you just want to change the ROWS/COLS or status lines.)

Following the window coordinates is another pair of optional parameters (ROWS,COLS) which sets or returns the number of rows and columns for the window. You may leave these 0 to retain the current number of ROWS & COLS (and just change the window coordinates and/or status lines).

The last pair of optional parameters (TSTS,BSTS) sets or returns the visible/invisible status of the top and bottom status lines (1=visible, 0=invisible). These should be set to -1 to leave them unchanged.

See the sample program AUIWIN for an example of changing and later restoring the window parameters.

Note that within each group of optional parameters, if you must specify them all in order for any to be recognized.

910.0.6

Fix a bug in which opening a file within an SBX and then using the XCALL MIAMEX,MX'FLSET operation in the calling program would cause a memory fault.

910.0.7

DO.LIT 2.1(122) supports a mechanism for concatenating parameters on the command line (before they are bound to the $0 thru $9 formal parameters). The syntax consists of prepending $+ to the start of a parameter that you want to combine with the prior parameter. For example, consider a generic DOTHIS.DO file consisting of the following command:

HOST $0 $1 $2 $3 $4 $5 $6 $7 $8 $9

If you executed it with:

.DOTHIS play ina $+gada $+davida real loud

The resulting host command would be:

play inagadadavida real loud

Note that "real" and "loud", which started out in positions $4 and $5, got shifted by the concatenation down to $2 and $3.

This technique is mainly of interest in conjunction with $KBDn variables and the UCS/LCS functions (see DO.LIT edit 121 below) where you may want to concatenate some folded keyboard input with a hardcoded value, and doing do directly would interfere with the interpretation of the $KBDn and LCS() / UCS() syntax. For example:

:R

:<Enter command: >

:K0

:<Enter ini file: >

:K1

DOTHIS /vm/miame/bin/ $+LCS($KBD0) -i /vm/miame/ $+LCS($KBD1)

Assuming the user input "ASHELL" to the first prompt and "MIAME.INI" to the second, then the DOTHIS.DO file would execute:

HOST /vm/miame/bin/ashell -i /vm/miame/miame.ini

Without the concatenation, the user would have had to enter the entire paths or do with the LCS() function.

910.0.8

(Windows/ATE) Fix problems with multiline edit mode (INFLD TYPE |M and ||M).

910.0.9

(Windows/ATE) INFLD no longer outputs spaces to clear the fringe area immediately to the left or right of the field when in GUI mode. The purpose of these spaces was to remove prior displays that may have included formatting characters and thus expanded beyond the size of the field when in editing mode. But in the GUI environment, such text would be part of a single text object (presumably created from a previous call to INFLD or output by TPRINT or and AUI "CONTROL" routine) and thus would be removed automatically along with the rest of the field. This change could, however, cause a problem in an environment where you output a formatted field using fixed-pitch text and then positioned a GUI edit field on top of it. In that kind of hybrid display environment, you may need to manually clear the area immediately surrounding the field.

910.0.10

(UNIX/ATE) The AM62CG driver now supports the ability to change the number of rows and columns (just like the AM75G driver and A-Shell/windows.)