x3270 3.2 is a reorganization of x3270 3.1, with some additional enhancements. It is intended to be the future development platform for x3270, with x3270 3.1 continued only with bug fixes.
Internal Changes
The primary focus of the reorganzation is modularity. For example,
through the new parts.h header file, it is
now possible to build subsets of x3270, excluding one or more of the following
features:
tracing
The code is also reorganized to reduce the amount of explicit coupling between modules. An event registration mechanism is used to propagate state changes, instead of explicit calls from one module to another.
The code is now written in ANSI C, using function prototypes.
Support for X11R4 has been dropped.
External Changes
All operating modes can now be changed at runtime via menus, including
extended data stream mode, and 3277/3278/3279 emulation.
The "Trace X Events" option has been replaced with a "Trace Keyboard and Mouse Events" option, which reports only X events which can be mapped with keymaps. It also reports the keymap that was used to map each action, making keymap debug much easier.
A menu option allows the current keymap to be displayed.
A new base keymap is defined, containing the default keyboard mappings. This keymap can be modified at will, without interfering with the basic operation of x3270, or the processing of X events not related to the keyboard or mouse (as was the case with the previous default translations resource).
Default keymaps are defined for several well-known keyboards. These keymaps are automatically used when x3270 recognizes the vendor string for the associated X server.
Several x3270 bugs, which were in the "impossible to fix" category (because of basic code organization problems) have finally been fixed.