FAX MANAGER - FAX Cover Sheets and Database Program

By Frank Cox

(January 4, 2012)


FAX MANAGER prints FAX cover sheets, and maintains a database of the names and FAX numbers of the people that you send FAXES to on a regular basis.

A FAX cover sheet is the first sheet of paper transmitted when you send someone a FAX. It states the name and address of the sender, the name of the recipient, the number of sheets to follow the cover page, the date and time the FAX was sent, and a telephone number for the recipient to call if he doesn't receive the entire FAX in good condition due to telephone line noise, running out of paper, etc. In addition, FAX MANAGER allows you to include a short message (up to twenty lines long) on the cover sheet. In some cases, a FAX MANAGER cover sheet is the only page you need to send.

FAX MANAGER can maintain a list of names and FAX phone numbers, so you don't have to try to keep and update a FAX address book on paper.

FAX MANAGER is FREE SOFTWARE, and comes with absolutely no warranty. If it eats your cat or books an online ticket to Tahiti, you have been warned. You can find the complete text of the license at the end of this document, and it will also show up once when you first run the program. In short, I wrote this program for my own use and played with it a bit, and it seems to work for me. I obviously can't test every possible use case and have no desire to do that anyway. However, if you find a bug (and I'm sure there are several) in the FAX MANAGER program feel free to send me an email with complete details of what happened.

1 Screen shots and Sample Output

A picture is worth a thousand words, so here are a few thousand words to show what FAX MANAGER does. The most important part of FAX MANAGER is, of course, the cover sheet that it can generate for you. See Figure 1 for an example of what it looks like. Figure 2 is the data entry screen, and Figure 3 is an example of a printed FAX directory that you may wish to post beside your FAX machine.

Figure 1: Cover Sheet
Figure 2: Data Entry Screen showing Main Menu
Figure 3: Printed FAX Directory

2 Obtaining the Program

FAX MANAGER may be downloaded from http://www.melvilletheatre.com/articles/faxmanager/download. If anyone else wants to host it and offer it for download as well, you're welcome to do so.

3 System Requirements

FAX MANAGER is written in C, uses NCURSES for screen control, and uses PDFLATEX to create the cover sheets. Therefore, to compile and run FAX MANAGER, you need a C compiler, NCURSES, and PDFLATEX installed on your computer. On Linux, all of these things are readily available and easy to install. They are also available for Microsoft Windows and Mac, but I have zero experience with either of those operating systems so I have no idea how difficult they are to install if you're using one of those systems.

If they aren't already installed on your computer, you can install the dependencies on Red Hat Linux-based systems (including Fedora, Centos, Scientific Linux, etc) by using the yum command. I believe that a similar command can be used on Debian-based system like Ubuntu but again, I have no experience with those systems so I can't provide any more specific direction than that. FAX MANAGER won't compile but will show you a great many lines of error messages if you don't have NCURSES installed. You can, on the other hand, compile the program without having PDFLATEX installed, but it won't be particularly useful because you won't be able to print any cover sheets until you do install PDFLATEX.

You can find out if you have PDFLATEX installed on you computer by typing ``which pdflatex''at a command prompt. On my computer, I get this response: /usr/bin/pdflatex, which tells me that PDFLATEX is installed in my /usr/bin directory.

FAX MANAGER source code consists of a single file named faxmanager.c and it also comes with a short script named compile.scr that you can use to compile it with if you wish.

After compilation, you will have a single binary file named faxmanager in the directory that you compiled it in. Put this binary into any convenient directory; that's all there is to installing the program. You might want to put it into ~/bin (in your home directory) if you're the only person who's going to use it, or you could put it into /usr/local/bin if you want everyone who uses your computer to be able to run it as well.

A note about the FAX MANAGER data directory and PDF Files

FAX MANAGER stores all of its data in a subdirectory under your home directory named .faxmanager. This includes the program configuration file, your FAX directory (saved names and phone numbers) and the files that are used to create the output. The cover sheets and printed directory are created as PDF files, which are also stored in your ~/.faxmanager directory. FAX MANAGER doesn't create files on your system anywhere else - everything is in ~/.faxmanager.

4 Running the Program

To start the program, just type faxmanager at a command prompt in a terminal, or you can add it to one of your system menus if you like.

The first thing you'll need to do is configure the program with your company name, FAX numbers and the like. The program won't run without that information (and it would be pointless if it did). After you have moved down past the last item on the configuration screen you will be prompted to save the configuration.

4.1 Entering Data

Enter data into the configuration screens and the main program screen by simply typing it in. Move around between fields with the tab key, the return key, or the up and down arrow keys. Move around within a field with the left and right arrow keys, the backspace key, or the delete key. Each field defaults to overwrite the text already in the box, but an insert mode has also been built in - hit the INS key to toggle insert on and off within each field.

FAX MANAGER attempts to act in a semi-intelligent manner when it comes to entering data. For example, only numbers, parenthesis and dashes will be accepted for input into the telephone number fields; letters will be rejected.

A note about telephone number format: FAX MANAGER will accept telephone numbers in any format you choose, up to twenty digits. However, if a telephone number contains either seven or ten digits, FAX MANAGER will automatically re-format the number. If you enter a telephone number that contains ten digits like 1234567890 into any of the telephone number fields, the program will change it to (123)456-7890. If the telephone number contains seven digits the program will change it to 123-4567. Hopefully this will save a bit of typing for North American users and it should not inconvenience anyone else as FAX MANAGER will simply leave a telephone number in the format you entered it in when the number contains anything other than seven or ten digits.

4.2 Selecting Items From the Menu

After configuration, FAX MANAGER will take you to the main program screen. Here you may enter the information that you want printed on your FAX cover sheets (name of recipient, etc.) or select other options from the menu.

Move back and forth between the menu and the main program screen by hitting the F1 key. Hit F1 once, and you will be at the main menu. Hit F1 again, and you will be back on the main program screen.1

You move around the main menu by hitting either the first letter of the option you want to select (i.e. P for Print FAX) or by moving the highlight with the arrow keys, space bar, or tab key and hitting the return key on the option you want to select.

4.3 Main Program Screen

Here you may enter the name of the recipient of your FAX and other relevant data.

4.4 Enter/Edit Message

This is a simple message editor that will allow you to enter a message of up to twenty lines which will be printed on the bottom of your FAX cover sheet. Use the arrow keys, the backspace and delete keys, and return to move around the screen. Hit the F3 key to clear all message text currently entered. If there is a default message present as described in the following paragraphs, you will be asked if you want to clear all the message text, i.e. blank the whole thing, or keep the default message text. Hit the INS key to toggle insert on and off - an indicator will show at the bottom of the screen when insert mode is on.

Hitting the return key in the middle of a line will break the line at that point and move the text to the right of the cursor down one line.

Hold the CTRL key and hit Y to delete an entire line. The text below the cursor will move up one line.

The message editor is not intended to be a full-fledged word processor, but it should be adequate for any short messages you wish to send.

You can create a default message, which will always be included on your cover sheets. Simply write the message you want to save as a default using the message editor, then hit F5 to save the default message text. From here on, whatever you typed will become the default message on any cover sheets you print. However, the default message will NOT be included on any FAX cover sheets you retrieve via the Load FAX option unless the message was included when the cover sheet was originally saved. (The reason for this is fairly obvious - you may have a different message saved with the cover sheet and you don't want to over- write it. You can, of course, retrieve the default message simply by clearing the existing one using F3 as described above.)

The default message may be changed at any time by simply re-saving it using the F5 key combination described. F6 will allow you to delete the default message if you decide you no longer want a default message.

Hit F1 to exit from this screen and return to the main menu.

4.5 Print FAX

This option allows you to print the FAX cover sheet if the minimum required data has been entered. The program won't print a cover sheet unless you have something entered into each field on the main screen with the exception of the ATTENTION line. In other words, every FAX requires a TO, a RECEIVING FAX TELEPHONE NUMBER, a NUMBER OF PAGES, and a FAX SENT BY field. A message entered into the text editor described in Section 4.4 is obviously optional.

At this point, the program will typeset your cover sheet and create a PDF file which will appear using your preferred PDF file reader program. You can then print the cover sheet on your printer and/or save the PDF file somewhere else if you want to keep it. Note that all PDFs that are created by FAX MANAGER are named fm.pdf and are put into your ~/.faxmanager directory. Therefore, creating a new PDF (either a cover sheet or a directory listing as described in Section 4.8) will overwrite any previously created PDF file. To keep a copy of a PDF file, save it somewhere else before creating another one.

4.6 Load FAX

This option allows you to load the name and FAX number of a person or company which you have previously saved (using the Save FAX menu option). Fields loaded include the recipient name, the attention line (if any), the recipient's FAX telephone number, sender's name, number of pages sent, and the message, if any.

The names of all currently saved recipients will be displayed in alphabetical order on the screen when the Load FAX option is selected. Move the highlight around with the arrow keys, and hit return on the name you want to load.

This screen also allows you to delete unwanted or no longer needed recipients from the database. Hit the D key on the name you want to delete - the program will confirm that you really want to delete the entry, and it will be removed from the list.

4.7 Save FAX

This option allows you to save the name and FAX number currently entered in the main program screen. Fields saved include the recipient name, the attention line (if any), the recipient's FAX telephone number, sender's name, number of pages sent, and the message, if any.

4.8 FAX Directory

This prints out a listing of all the names and FAX telephone numbers currently in the database. You may want to post it beside your FAX machine.

4.9 Config

This selects the configuration options which are explained above in Section 4.

4.10 Quit

When this option is selected, FAX MANAGER exits.

5 License

FAX MANAGER © 2012, Frank Cox All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:


You can also hit the ESC key instead of the F1 key, but if you do so, you have to hit ESC twice. This is due to the way that NCURSES reads the keyboard, and there is no easy way around it. When using FAX MANAGER, hitting ESC twice is equivalent to hitting F1 once. Hitting ESC just once is ignored. Throughout this document, you may read ``hit F1'' as ``hit ESC twice'' if you wish.

Other articles written by Frank Cox can be found here.

Frank Cox owns and operates the Melville Theatre in Melville, Saskatchewan, Canada, and has been playing with computers for over 30 years.

January 4, 2012