New Features in x3270 3.2

x3270 3.2 is a reorganization of x3270 3.1, with some significant enhancements. It is intended to be the future development platform for x3270, with x3270 3.1 continued only with bug fixes.

Changes in x3270 3.2.18, 31. December 2001

Changes in x3270 3.2.17, 25. June 2001

Changes in x3270 3.2.16, 28. February 2001

Changes in x3270 3.2.15, 26. December 2000

Changes in x3270 3.2.14, 15. November 2000

Use GNU autoconf now.
Fixed a crash when -reconnect is used and x3270.menuBar is False.
Added documentation on how to get square brackets to display properly.
Added recent-connect list and connectFileName resource to control it.
Put accidental command output into a pop-up window.
Updated the man pages and synchronized the HTML versions.
Added NVT-mode keymaps via x3270.keymap.name.nvt.
Fixed a memory corruption problem associated with printer session termination.
Improved the behavior of the -reconnect option, when a host connection fails.
Allow separate app-defaults file to be built again, via configure --enable-app-defaults.

Changes in x3270 3.2.13, 24. September 2000

Integrated pr3287 into the x3270 release.
Rewrote the screen resizing logic. It now functions correctly on window managers like icewm and under KDE, and would rather leave the screen the wrong size than exit.
Changed the greenScreen color scheme to be really green.
Fixed the display of red text when the highlightBold option is set.
Fixed the block cursor display when the -mono option is used on a color display.

Changes in x3270 3.2.12, 7. September 2000

Fixed a problem with exiting whenever the window was resized.
Added a complete interface library for use with expect, x3270_glue.expect.
Fixed problems with selecting blanks and NULLs on the screen -- real blanks at the end of a line are now included in the selection, and NULLs are not.
Allow none to be specified as a trace file name, causing a pipe to be used instead.
In secure mode, use pipe-based data stream and event tracing, and disallow screen tracing.
Added a No File button to the data stream and event tracing dialog.
Added traceFile and screenTraceFile resources, and a -tracefile option, to specify file names for tracing.
Corrected the documentation of the script prompt status fields (there are only 11 of them).
Added CMS logon example scripts, Examples/cms_login.bash and Examples/cms_logon.sh.
Added a tutorial for creating custom keymaps, html/Keymap.html.
Added support for 3287 printer sessions via new menu options and a new Printer() action.
Set x3270.disconnectClear to True when x3270.secure is True.
Fixed several problems when windows do not fit on the screen.

Changes in x3270 3.2.11, 31. July 2000

Expanded the Default() action to better diagnose keymap problems.
Added default support for X11 XK_3270_xxx and APL keysyms.
Fixed a core dump when the emulator font can't be found.
Improved Trace Keyboard/Mouse Events display, to make it more directly applicable to creating keymaps.
Removed many compiler warnings generated when additional gcc warnings are enabled.
Changed the trace window kill signal to SIGKILL. SIGTERM didn't always do the job.
Send the correct codepage in Query Reply when using non-US character sets.
Send information about a second character set only if we have one.
Request the first LU name only once.
Added a highlightBold resource to display highlighted fields in bold.
Fixed a core dump from editing the Print Window Bitmap command.

Changes in x3270 3.2.10, 5. July 2000

Added an n: prefix to hostnames to selectively disable TN3270E.
Changed the reported CSCSGID to X'02B90025' (English-U.S.).
Fixed the Attn() action to send TELNET IP, per RFC 2355.
Removed the explicit $(BINDIR) from the Imakefile; it bothered XFree86 4.0.
Announce which font we're using when we can't find the one the user asked for.
Fixed the problem of ignoring keyboard input when the window manager uses a click-to-focus policy and the mouse cursor is outside the x3270 window.
When processing WM_SAVE_YOURSELF ICCM messages, save toggles before saving the hostname.
Added a new MoveCursorSelect() action, to emulate light pen selection with the mouse. The default mapping is Ctrl Shift <Btn1Down>.
Added a highlightSelect resource (default True) to control whether highlighted fields are selectable via the CursorSelect() and MoveCursorSelect().
Added visualSelect and visualSelectColor resources to optionally display light pen selectable fields in a different color.
Allow spaces in font names.
Removed XtSpecificationRelease dependencies.
Added AIX "@@for" problem workaround to the build instructions.
Restored the ability to disable most components in parts.h, and made TN3270E mode a configurable component.
Removed old ARGSUSED lint hints.

Changes in x3270 3.2.9, 26. June 2000

Fixed requesting the wrong LU after switching between TN3270E and TN3270 modes.
Changed the resource file format back to using "x3270" as a consistent prefix. Changed x3270.fontList to x3270.fontMenuList to avoid conflicts.
Fixed a typo in the sun_k5 keymap.
Added a new Snap() action for scripts.
Added new Wait(Disconnect) and Wait(Output) actions for scripts.
Changed Wait() to Wait(InputField), Wait(3270) to Wait(3270Mode) and Wait(ansi) to Wait(NVTMode). The old names are still supported for backwards-compatibility.
Fixed a problem with parameter processing in the Transfer() action.
Improved script tracing.
Added stricter enforcement of user-specified LUs.
Fixed a nit in tracing Query Reply options.

Changes in x3270 3.2.8, 1. June 2000

Fixed a problem with initial host connection negotation, when using a script (x3270 -script, s3270 or tcl3270) and talking to a non-TN3270E host.
Added lefttack and righttack definitions to the apl keymap.
Added support for IND$FILE file transfers in scripts, via the new Transfer action.
Added a disconnectClear resource to control clearing the screen after a host disconnect.

Changes in x3270 3.2.7, 30. May 2000

Fixed a problem with compiling kybd.c on X11R5.
Fixed a problem with the util library on Solaris and AIX.
Fixed several problems with TN3270E SSCP-LU mode: garbled input to the host, echoed input being overwritten by host output, and keyboard locking inconsistencies.
Fixed repetition of the contents of the ibm_hosts file in the Connect menu.
Removed the accidental substitution of the symbolic host name with the resolved hostname in the Connect menu and the window title.
Removed a spurious error on AIX about not being able to find the rs6000 keymap.
Added the file localdefs.h, to better isolate X11 dependencies for s3270 and tcl3270.

Changes in x3270 3.2.6, 19. May 2000

Fixed a problem with displaying TN3270E options in the "About" pop-up, even if TN3270E mode had not been negotiated.
Added Sharp APL characters dieresisjot, dieresiscircle, commabar and euro, as well as names for the APL-specific versions of braceleft and braceright.
Added cut-and-paste of EBCDIC DUP and FM characters.
Changed x3270.man.html to x3270-man.html.

Changes in x3270 3.2.5, 15. May 2000

Fixed a problem with scripts hanging in TN3270E SSCP-LU mode.

Changes in x3270 3.2.4, 8. May 2000

Functionally identical to x3270 3.2A3.

Changes in x3270 3.2A3, 2. May 2000

Added support for the Greek character set and a Greek font, 3270gr.
Fixed problems with font and color scheme checkboxes not being updated in the menu bar.
Fixed compiler warnings from not using time_t's properly.
Fixed a problem with the status line improperly reporting disconnections during certain TN3270E mode switches.
Added TN3270E state to the data stream trace data.

Changes in x3270 3.2A2, 27. April 2000

Due to problems with servers that do not support basic TN3270E, added support for TN3270E options RESPONSES, SYSREQ and BIND-IMAGE.
Removed disconnect logic when an invalid TN3270E message is received.
Fixed a problem with ignoring the ibm_hosts file.

Changes in x3270 3.2A1, 9. December 1999

Added basic TN3270E support.

Changes in x3270 3.2A0, 15. March 1999

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: This can make for a much smaller footprint for limited applications, as well as new applications based on components of x3270. For example, a new program, s3270, is now available, which consists of only the 3270 protocol engine and the scripting facility, allowing x3270 scripts to be run without an X display.

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 and const where appropriate.

Support for X11R4 and K&R C compilers has been dropped.

External Changes

Basic TN3270E is now supported. TN3270E printers are not supported.

On systems that support the forkpty() library call (such as BSD-derived systems and Linux), x3270 supports local processes. A local process is a Unix process such as a shell which is connected to x3270 with a pty. In this way, x3270 will function as a local terminal emulator like xterm.

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.