Columbia MM
MM Manual


Printing is always dependent on hardware, that is, exactly what kind of equipment you have and how it is connected. With some setups, you can print MM messages with the print command. The alternative is to download the message to your own PC or Macintosh and then print from there.


The MM command print is defined by a variable, print-filter. It is defined to some value for your system; type show print-filter to see what it is. It should be some printing program available on your system. See the man page for that program to see what it does. For example, if show print-filter shows /usr/local/bin/print, you can type man print at the system prompt to see what that program does. Probably the default prints to a system printer, but you may or may not have privileges to use that printer depending on what kind of account you have.

The print-filter is therefore simply a program that prints, and the program can print MM messages besides printing ordinary files.


A print program called pcprint was designed to work with MS-DOS Kermit or vt-type terminals. If you have it on your system, you can get MM to use it by changing the print-filter variable to pcprint. Using the full directory path, like /usr/local/bin/pcprint as shown below, is preferred.

MM>set print-filter /usr/local/bin/pcprint

To quote from the pcprint program itself: Prints ... on locally attached PC or terminal printer, using ANSI transparent print commands. ... Can be used with MS-DOS Kermit 2.30 or later on an IBM PC, PS/2, or compatible, or with a VT102, VT2xx, or VT3xx terminal, with a locally attached printer. Or on any PC or terminal with locally attached printer that supports the ANSI printer control escape sequences.

One of the main limitations of pcprint is that the printer must be directly attached to the PC or terminal. If you are on a local network, sharing a printer, the command will not work.


To use the command, at the R> prompt type print; at the MM> prompt type print and a message sequence.

MM>print 16


The printed output contains just the message, nothing else (unlike the list command).

Header Fields and Page Breaks

To limit what header fields appear, set one of the variables dont-print-headers or only-print-headers. Readability is much improved by hiding irrelevant header fields. For example, type set only-print-headers from, subject to hide all header fields but those two. If you want to use the same setting all the time, you can then use the save-init command to save it; to reset to normal type set only-print-headers with nothing after it, and then save-init again.

If you specify more than one message to be printed, and you want each message to start a new page, use the switch /separate-pages with the command, like print /separate-pages 10,11,16.

In the following example, the messages should each start on a new page, and only the From and Subject fields should appear at the top of each message.

MM>set only-print-headers from, subject
MM>print /separate-pages 10,11,16
 10:11, 16

The command literal print overrides settings of dont-print-headers and only-print-headers, so all header fields are shown.


If your PC has a print-screen key, it will print the message shown on screen. Your communications program may also have an option to print what appears on screen. Printing one screen at a time is efficient only with short messages.

The list command has a switch /print that also uses the print program (list /print 16). Alternatively you could list to a file and then print the file. Generally the only advantage of using list would be to get the first page that list produces, which might serve as contents to a set of printed messages. To print a headers display, you could list /headers-only to a file and print it.

If you are familiar with UNIX shell commands, you may want to use the list command to pipe one or more messages to a program that prints. For example, list |"pcprint" 16 sends message 16 to the pcprint program, and list |"lpr -Piab1" 16 sends message 16 to the printer named iab1. Or using a switch, list /headers-only "|pcprint" all, sends the message headers to your PC printer.

Use Kermit to print by downloading messages to a file on your own PC or Mac, and then print like any PC or Mac file. MS-Kermit also has a command set destination printer that will send downloaded messages directly to a printer instead of to your PC's disk. More information on Kermit is available elsewhere.

[ Columbia MM Manual ]