Platforms Supported

The editor is written in portable "C" and may easily be ported to new machines, provided they have suitable screen and keyboard control.

The only things that change from version to version are filename conventions, available keys for binding, colour support, and support for screen sizes and modes.

Filenames

On systems with forward slash pathname seperators (UNIX), backslashes in filenames get converted to forward slashes. On systems with backward slashes as pathname seperators (DOS, OS/2 and Windows), forward slashes in filenames get converted into backward slashes. After translation, the filenames get passed to the operating systems.

The DOS AE is limited to 8.3 filenames, but the OS/2, Windows and NetWare versions support long filenames. Of course, UNIX does too.

Keyboard

Keyboard support table :-

Keys DOSOS/2WindowsNetWareEFIUNIX
^A-^Z ^\ ^] ^^ ^_ yesyes yes yes yesyes
 Left Right Up Downyesyes yes yes - yes #1
~Left ~Right ~Up ~Down - - - - - yes #2
^Left ^Right ^Up ^Down yesyes yes yes - yes #2
@Left @Right @Up @Down yesyes yes yes yesyes #2
 Home End PgUp PgDnyesyes yes yes yesyes #2
~Home ~End ~PgUp ~PgDn - - - - - yes #2
^Home ^End ^PgUp ^PgDn yesyes yes yes - yes #2
@Home @End @PgUp @PgDn yesyes yes yes yesyes #2
@A-@Z @0-@9 yesyes yes yes yesyes #2 #3
 F1- F12 yesyes yes yes yesyes #1 #4
~F1-~F12 yesyes yes yes - yes #2 #4
^F1-^F12 yesyes yes yes - yes #2 #4
@F1-@F12 yesyes yes yes yesyes #2 #4

#1: Subject to AE recognising the terminal type being used, and the type having a termcap/terminfo database entry with suitable entries in it.

#2: Subject to AE recognising the terminal type being used, and the type being one for which AE has hard coded knowledge (vtxxx, xterm, rxvt, aixterm or hft).

#3: AE has specific hard coded knowledge of the escape sequences generated for the Alt keys by the linux terminal.

#4: Xenix only supported 10 function keys the last time AE was compiled for it.

A few other obscure keycodes are also supported.

On DOS, OS/2 and Windows searches can be interrupted using the ^Break key. Elsewhere, its the Esc key.

Special notes for UNIX

The most basic level of keyboard support provided by termcap/terminfo is support for Left, Right, Up, Down, and for function keys F1-F10. If the termcap/terminfo database is incomplete, or your TERM environment variable is wrong, then even this most basic level of support may not work fully or at all.

AE for UNIX has a special 'feature' whereby pressing Esc followed by a key is logically equivelent to pressing Alt and the key together. This helps out in situations where the Alt keys do not make it to programs, perhaps because the terminal emulator or windowing system won't pass them on.

^S and ^Q can be a problem if operating with xon/xoff flow control. ^Y and ^Z are often the suspend and delayed suspend keys on a terminal.

DEC terminals

AE specifically knows the escape sequences for arrows (application and cursor mode) and function keys (F1-F4) in the VT100 terminal (and family) definition.

AE specifically knows the escape sequences generated by function keys in an xterm session.

It does this as emulators/terminals and/or terminfo/termcap definitions often get the distinction between application and cursor mode wrong.

IBM terminals

AE knows the escape sequences for masses of keys from the IBM aixterm and IBM hft terminals. It even knows the variations generated by IBM Internal tool HFTTERM.EXE for OS/2. Excellent keyboard support can be obtained using these.

The following additions to your ~/.cshrc file will improve Ctrl key support, by avoiding the flow control and suspend key problems explained above :-

stty -ixon -ixoff   # Disable ^S ^Q flow control
stty susp undef     # ^Y no longer suspends
stty dsusp undef    # ^Z no longer suspends

Note that if you are working on an X-Station, then depending upon your window manager, some of the keys may be intercepted before AE sees them. For example, when I run the Motif-Window-Manager, mwm, I find that @F4 is intercepted before AE sees it, and it is used to close the aixterm window.

Linux terminal

AE knows some of the escape sequences generated for keystrokes from the linux terminal.

Default Sun terminal

The left-function keys (L1-L10) are known to AE as the Alt+Fn keys @F1-@F10.

The right-function keys are arranged with the following mapping (as the Sun keyboard doesn't actually have arrow-keys) :-

R7  = Home    R8  = Up      R9  = PgUp
R10 = Left                  R12 = Right
R13 = End     R14 = Down    R15 = PgDn

Default Xenix terminal

Xenix supports 10 function keys.

The @Fn keypresses are intercepted by the Xenix multi-terminal system and are used to switch between sessions.

If the user presses ^~Fn, then AE sees this as @Fn.

iPhone network terminal

On the iPhone or iPod Touch, TERM is set to network. If you change this, you can cause programs to crash, or even the whole iPhone to hang so badly a power-off/on is needed. This is thought to be because the iPhone doesn't deliver a terminfo database or library. The curses implementation appears to have a hard coded understanding of the network terminal type.

Colour

Colour support table :-

Colour DOSOS/2WindowsNetWareEFIUNIX
8 foreground / 8 backgroundyesyes yes yes yesyes #1 #2 #3 #4 #5 #6
Bright foreground yesyes yes yes yes-
Bright background - - yes - - -
Flash yesyes - yes - -

#1: Under AIX, if the termcap/terminfo entry supports it, and you are running on a linux, aixterm xterm-color, vt100-color or hft terminal, then colour support is enabled.

#2: Under Linux (Intel or MIPS), if the termcap/terminfo entry supports it, then colour support is enabled.

#3: Under HP-UX, if the terminfo entry supports it, and the entry was compiled using tic_colr instead of the normal tic, then colour support is enabled.

#4: Under SunOS, if the terminfo entry supports it, then colour support is enabled.

#5: It is quite normal for the vt100 terminfo entry not to include any support for colour, despite virtually all vt100 terminals and emulators supporting the ANSI colour escape sequences. Also, on some systems the xterm terminfo does not include colour support, despite virtually all xterm terminals and emulators supporting the ANSI colour escape sequences. Sample files xterm-color.ti and vt100-color.ti are provided with AE. These can be added to the system terminfo database by root using the tic command (or tic_colr on HP-UX).

#6: Most terminal types don't have colour support, and for these the standard curses support is simply for one of 4 'colours' (none, some or all of which may be supported by your particular terminal) :-

Normal    = 0
Underline = 1  support for this often not present
Standout  = 2  this is usually inverse or bold
Alternate = 3  this could be an alternate character set

However, in the general case, given the following defines :-

Black   = 0   Flashing = 1
Blue    = 1   Static   = 0
Green   = 2
Cyan    = 3
Red     = 4
Magenta = 5
Yellow  = 6   Bright    = 1
White   = 7   NotBright = 0

Colour values may be computed as :-

DOS, OS/2, NetWare :  value = fg + bg*16 +    bright*8 +     flash*128
Windows            :  value = fg + bg*16 + fg_bright*8 + bg_bright*128
UNIX               :  value = fg + bg*16 + fallback_one_of_4_colours*256

Clearly the portable approach is simply to avoid using flashing and/or bright colours. Luckily hex notation (introduced by a & symbol) can be used for numbers, including colour values.

Color is not supported running on the iPhone.

Screen modes

AE for DOS supports a wide variety of CGA, EGA, VGA and Super VGA screen modes, including various 43,50 and 60 line modes, and also 132 columns modes. It draws upon the services of the DOS Terminal Handler for its screen handling.

AE for OS/2 can operate in any mode provided by the Vio interface, including the Super VGA modes detected by the SVGA.EXE utility and stored in the SVGADATA.PMI file. This includes the 132 column modes on XGA-2 for example.

AE for Windows is a regular Console application, and so will work in any of the screen modes supported by Windows.

AE for NetWare runs in a session which seems to have a 80x25 geometry.

AE for EFI supports a variety of screen modes.

AE for UNIX cannot change the screen/window size, and so simply runs with however many lines and columns are currently available.