For Developers

MacTerm is not only an application, it is a platform for creating your own software.

In-terminal text apps

MacTerm accurately supports a family of VT terminals (VT100 ANSI, VT100 in VT52 mode, VT220, and to an extent XTerm).

General terminal programming resources:
A fantastic source of manuals, and more, for various VT terminals.
GNU ncurses library
An abstraction allowing text screen programs to achieve terminal effects in a way that is independent of the actual emulator being used.
Python curses library
One of the simplest ways to interact with terminals, using a library built into a scripting environment.

If you have a terminal emulation test case that does not work correctly with MacTerm (and does in some other terminal), please submit a bug report so that MacTerm may be improved.

MacTerm extensions

MacTerm has a small but evolving API for scripting, known as Quills, covered in detail on the Quills page.  The API uses the Python programming language (as of MacTerm 5, Python 3.x is used; older versions used Python 2.6).

Quills is very flexible; you can set up callbacks so that MacTerm visits your code only as needed, or you can write sequential scripts that perform a task without even using a GUI.

The hooks are powerful enough that many parts of MacTerm are written in pure Python, using Quills itself!

MacTerm source code

See the source code page for more information.