Copyright (C) 2001 to 2004 Chris Vine

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    A copy of the GNU General Public License version 2 is set out
    in the file COPYING accompanying this distribution.  You can
    also obtain a written copy from the Free Software  Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Note that the copyright of the efax program, to which this is a
    front end, belongs to Ed Casas.

                            OVERVIEW

This program is a Gtk+/Gtkmm front end for the efax program.  It can
be used to send and receive faxes with a fax modem, and to view, print
and manage faxes received.  It also has a socket interface to provide
a "virtual printer" for sending faxes from word processors and similar
programs, and can automatically e-mail a received fax to a designated
user, and automatically print a received fax.

Any files to be faxed must be in postscript format, which is the
generic printer format for Unix/Linux systems.  The program will use
ghostscript to convert these into the Group 3 fax format which the fax
modem will understand.

                              EFAX

The efax-gtk distribution compiles and installs a patched version of
efax-0.9a-001114, so you do not need to separately build and install
efax.  In particular, a number of users reported problems sending or
printing faxes when in locales which express their floating point
numbers with a comma as the decimal designator instead of the
full-stop (which applies to most of Europe outside the UK and
Ireland): efax and efix incorrectly use C formatted text functions
after calling setlocale().  Amongst the patches is one which omits the
call to setlocale(), so the C locale is used in all cases.

To avoid name conflicts the patched versions of efax and efix are
installed as efax-0.9a and efix-0.9a.  If you want to use the standard
distributions of efax, delete efax-0.9a and efix-0.9a, and then make a
symbolic link from efax to efax-0.9a and from efix to efix-0.9a so
that efax-gtk can find them.  efax-0.9 or higher is recommended,
although the program will work with older versions of efax - with
older versions, some automatic configuration options will not be
available and the different lock file semantics means that a binary
and not UUCP lock file will be created, which may confuse some other
programs trying to access the same serial port.

                    INSTALLATION: FROM SOURCE FILES

Compiling from source
---------------------

To compile from source, place the distribution file in a local source
directory (eg ~/src).  Untarring/unzipping it will create a
sub-directory 'efax-gtk' where the source code can be found.  You can
now edit the file efax-gtkrc (which by default will be placed by "make
install" in /usr/local/etc) to provide global settings which match
your serial port, name, telephone number and other particulars.
efax-gtkrc specifies run-time not compile-time options, but you can
edit it now so that the version installed by "make install" is
correct.  Alternatively, you can start up the program and enter any
settings by bringing up the `Settings' dialog from the `File/Settings'
pull-down menu once the program has started.  (See below).

Then enter the command `./configure'.  This will set up the Makefile
so that it matches your system.  This can be done as user (you do not
need to be root).  Then type "make", and then "make install".  "make
install" must be run as root, but "make" can be run as user.  The
program will by default be installed in /usr/local/bin.  The name of
the executable is "efax-gtk".

You can change the install directory by running `./configure' with the
--prefix=[dir] option.  Thus -

  ./configure --prefix=/usr

will install the executables in /usr/bin, as will -

  ./configure --bindir=/usr/bin.

The configuration file efax-gtkrc (see above) is installed in $RCDIR,
which by default is /usr/local/etc. If the --prefix=[dir] option is
used, $RCDIR will be taken from that.  So -

  ./configure --prefix=/usr

will install efax-gtkrc in the /usr/etc directory.  Its install
directory RCDIR can also be changed by running ./configure with the
--sysconfdir=[dir] option.  Thus -

  ./configure --sysconfdir=/etc

will install efax-gtkrc in /etc.

The man file will by default be installed in $prefix/man.  If the
--prefix=[dir] option is used, the base directory will be taken from
that.  So -

  ./configure --prefix=/usr

will install the man file in the /usr/man/man1 directory, as will -

  ./configure --mandir=/usr/man

In addition, a fax filter file `efax-gtk-faxfilter' is by default
installed in /var/spool/fax, but a different directory can be chosen
by running `./configure' with the --with-spooldir=[dir] option.  See
below for an explanation of what this does.

To compile and use the program, gtk+-2.*, libsigc++-1.2.3 or higher
and gtkmm-2.* must be installed.  To install gtkmm-2.*, you must also
have have the glib-2, pango, atk, gettext and pkgconfig packages
installed, which come with GNOME-2.

The requirements for libsigc++, glibmm and gtkmm are as follows:
____________________________________________________

GNOME-2.0        )   use gtkmm-2.0 and libsigc++-1.2.
GTK+-2.0         )
____________________________________________________

GNOME-2.2 or 2.4 )   use gtkmm-2.2 and libsigc++-1.2
GTK+-2.2         )
____________________________________________________

GNOME-2.6 or 2.8 )   use either:
GTK+-2.4         )   (a) gtkmm-2.2 with libsigc++-1.2, or
                 )   (b) gtkmm-2.4 with glibmm-2.4 and
                 )       libsigc++-2.0
____________________________________________________

GNOME-2.10       )   use either:
GTK+-2.6         )   (a) gtkmm-2.2 with libsigc++-1.2,
                 )   (b) gtkmm-2.4 with glibmm-2.4 and
                 )       libsigc++-2.0, or
                 )   (c) gtkmm-2.6 with glibmm-2.6 and
                 )       libsigc++-2.0
____________________________________________________


Note that with gtkmm-2.4 and above, glibmm is separately packaged
(glibmm is included in the gtkmm package with gtkmm-2.0 and
gtkmm-2.2): if you are using gtkmm-2.4 and above you must compile and
install glibmm before compiling and installing gtkmm.

The compile and install order is first libsigc++, then glibmm (if
using gtkmm-2.4 or above) and then gtkmm.

If you are using GNOME-2.6 and above and GTK+-2.4 and above and your
compiler is gcc-2.95, then you must use gtkmm-2.2/libsigc++-1.2.  To
compile gtkmm-2.4 and above and libsigc++-2.0, gcc-3.2 or higher is
required.

If you have installed libsigc++ and/or gtkmm-2.* in /usr/local (which
is the default if you have compiled them from source), and they are
not detected when you run ./configure to compile efax-gtk, make sure
that the environmental variable PKG_CONFIG_PATH includes
/usr/local/lib/pkgconfig in the pkgconfig path list.  If you are using
the bash shell, this can be achieved by entering the following in the
shell terminal before you run ./configure:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

Do the same if you have libsigc++ installed, but when running
./configure with gtkmm-2.*, libsigc++ can't be found.  If either of
the libraries are installed in /usr/local, also make sure that
/usr/local/lib is specified in /etc/ld.so.conf.  (If you add it to
/etc/ld.so.conf, don't forget to run /sbin/ldconfig as root
afterwards.)

Recent releases of gtkmm can be configured with the --disable-examples
option before compiling.  Using this option can substantially reduce
the compile time of gtkmm, by not wasting time compiling the examples.

Making RPM binaries
-------------------

A RPM spec file is included in the distribution.  If rpm is installed,
entering `rpm -tb efax-gtk-[version].src.tgz' as root will create a
standard RPM binary file efax-gtk-[version]-1.[i386].rpm.  This will
be found in the RPM binary directory that your RPM-build configuration
specifies (normally /usr/src/redhat/RPMS/i386 for Redhat i86 systems,
and /usr/src/packages/RPMS/i386 for SuSE i86 systems).

To install the rpm binary once made, use the normal command
`rpm -i [rpm filename]'.

To make the binary RPM file you must have the packages referred to in
"Compiling from source" above.  Once the rpm file is made, to install
it you must also have the ghostscript package installed.

As the efax-gtk.spec file causes rpm to check for dependencies both
when efax-gtk is being compiled and when being installed, this can
give rise to problems of portability, because different distributions
package things under different names.  If the rpm binary won't compile
or install on your system because of these dependencies, but you are
sure that you have gtk+, libsigc++, gtkmm and ghostscript installed,
there are two choices -- to compile the package using `rpm -tb
--nodeps efax-gtk-[version].src.tgz' and install the binary file using
`rpm -i --nodeps [rpm filename]', or to:

- unzip efax-gtk-[version].src.tgz,

- amend the `BuildRequires:' and/or `Requires:' lines in the
  efax-gtk.spec file to provide the correct dependency package
  names for your distribution

- copy efax-gtk-[version].src.tgz to /usr/src/[packages]/SOURCES

- enter `rpm -bb efax-gtk.spec'.

If you install via binary RPMs, then you will either have to use the
File/Settings dialog to configure the program when you first use it,
or before using it have to amend the $prefix/etc/efax-gtkrc by hand
after installation (see further below).

                             USE

The first time you use the program, you will be asked if you accept
the terms of the General Public Licence, version 2.

Files to be sent should be saved as postscript files.  If the program
is started with a filename as the last argument, then it will begin
with that file already inserted in the program's "file to be sent"
box.  Otherwise once the program has started you can use the standard
file open dialog, or enter it directly into the box via the keyboard.

Ordinary ascii text files can be converted into postscript if required
using a number of programs, of which probably the easiest to use are
nenscript or GNU enscript (`man enscript').

For further suggestions about sending faxes from a wordprocessor using
CUPS, see "Using with a word processor" below.

For efax to operate correctly, the user must have write permission to
the /var/lock directory, and to the serial port to which the fax modem
is connected.  In most distributions, the uucp group has write
permission for these: if this applies to your distribution, the
easiest approach is to make users members of the uucp group.

The program may be started with a -r option and a -s option:

  efax-gtk -r    This will start the program in receive standby mode
  efax-gtk -s    This will start the program hidden in the system tray

Sending faxes
-------------

Before sending a fax, it must be specified in the "Fax to send" box.
It must be in postscript format (a format produced by all Unix/Linux
word and document processors), and will be converted by the program
into the correct tiffg3 fax format.

There are two fax entry methods.  First, the fax to be sent can be a
file saved on the filesystem.  It can be entered manually in the "Fax
to send" box, or entered by means of the file selection dialog.  If
the file comprises a single postscript file, then you can find it by
pressing the "Single File" button.  It can be more easily found with
this dialog if it is placed in the $HOME/faxout directory.

Where more than one file is specified in the "Fax to send" box, they
will be sent as a single fax appended in the order in which they are
entered in the box.  Such multiple files can be more easily selected
using the file list brought up by pressing the "Multiple Files"
button.  Pressing the "Multiple Files" button enables files to be
found and added to the file list, and they can be reordered by using
the Up or Down arrow buttons, or by dragging and dropping with the
mouse.  (If entering multiple files manually rather than by means of
the "Multiple Files" dialog, use a ',' or a ';' as the file name
separator.)

As an alternative, faxes can be received directly from the print
system by means of a socket server provided by the program.  Efax-gtk
maintains a list of queued faxes received from the socket which can be
accessed by choosing "Socket" as the fax entry method, and then
bringing up the queued faxes list by pressing the "Socket list"
button.  This is a more convenient way of sending faxes from a word
processor, and enables a fax to be sent for faxing to efax-gtk by
printing from the word processor program.  Where a fax is queued for
sending in the socket list, a small red circle will appear in the main
program window on the right hand side of the "Fax to send" box.  More
particulars are given under "Using with a word processor" below.

The telephone number to which the fax is to be sent is entered into
the "Tel number" box.  This can be entered directly into the box, or
by using the built-in addressbook.  The addressbook can be invoked by
pressing the "Tel number" button, or from the `File/Address book'
pull-down menu item.  See "Using the address book" further below.
However, if a telephone connection has already been established with
the remote fax receiver, then the fax can be sent without dialing by
leaving the "Tel number" box blank (a dialog will come up asking if
you would like to send the fax without dialing - this does the same
thing as 'fax send -m ...' using the efax 'fax' script from the
command line).

When a fax is received from the print system via the socket server,
the program settings can also be configured to bring up a dialog
automatically.  If the program is inactive or is standing-by to
receive faxes the fax can be sent directly from this dialog without
the need to invoke the list of queued faxes received from the socket.

Successfully sent faxes are copied to a directory in the $HOME/faxsent
directory, which has a name derived from the year, month, day, hour
and seconds when the sending of the fax was completed, and will appear
in the faxes sent list.  They are only included in that list if they
have been sent without error.  The efax message display box will
report on the progress of a fax being sent.  The fax list can be
brought up from the `File/List sent faxes' pull down menu item.  See
'Using the fax lists" further below.
	
The program can send a fax when it is in receive standby mode.  If
sending a fax from receive standby mode, when the fax has been sent
(or there is an error in sending the fax), the program will return to
receive standby mode.

Receiving faxes
---------------

Three ways of receiving faxes are provided for.

First, the program can be set to answer a fax call which is ringing
but has not been answered, by pressing the "Answer call" button.

Secondly, the program can take over a call which has already been
answered (say, by a telephone hand set) by pressing the "Take over
call" button.

Thirdly, the program can be placed in standby mode by pressing the
"Standby" button.  This will automatically answer any call after the
number of rings specified in the efax-gtkrc file, and receive the fax.
The program will keep on receiving faxes until the "Stop" button is
pressed.  A fax can also be sent when the program is in receive
standby mode.

Received faxes in tiffg3 format (one file for each page) are placed in
a directory in the $HOME/faxin directory, which has a name derived
from the year, month, day, hour and seconds when the relevant "Answer
call", "Take over call" or "Standy" button was pressed.  (Where in
standby mode after a fax has been received, any further fax will
derive its name from the time when receipt of the last received fax
has been completed and the program goes back into standby mode.)

Received faxes can be printed, viewed, described and managed using the
built in fax list facility.  This can be brought up from the
`File/List received faxes' pull down menu item.  See "Using the fax
lists" further below.

When a fax is received, a pop-up dialog can also be set to appear (go
to the Settings dialog to do this).  In the settings dialog you can
also specify a program to be executed when a fax is received.  The
number of the fax is passed as the first (and only) argument to the
program, which enables the program to find the fax in $HOME/faxin.
The distribution contains two executable scripts, mail_fax and
print_fax, which can be used to e-mail a fax or print a fax to a user
automatically when it is received.  (These scripts are not installed
by 'make install' - if you want to use them, make them executable with
'chmod +x' and copy them to a directory which is in the system path,
such as /usr/local/bin, and then specify the script name in the
settings dialog).

Using the address book
----------------------

To pick a telephone number from the address book, highlight the
relevant address by pressing the left mouse button over it, and then
press the "OK" button.

Addresses can be added to the address book by pressing the add button,
and then completing the relevant dialog which will appear.  To delete
an address from the address book, highlight the relevant address and
press the delete (trashcan) button.  The addressbook can be sorted by
using the up and down arrow buttons on a highlighted address, or by
dragging and dropping using the mouse.

Addresses are stored in file `$HOME/.efax-gtk_addressbook'.

Using the fax lists
-------------------

To bring up the fax lists, go to the the `File' menu and pick the
`List received faxes' or `List sent faxes' menu item.  Highlight the
fax to printed or viewed by pressing the left mouse button.  The
programs to be used to print and view the fax are specifed in the
efax-gtkrc configuration file, or if none are specified, the program
will print using lpr (which will work for most Unix systems) and view
with gv.

To print faxes, a PRINT_SHRINK parameter can be specifed in efax-gtkrc
to enable the fax page to fit within the printer margins.  A parameter
of 98 will work with most printers.  This can be changed while the
program is running by bringing up the `Settings' dialog and entering
it into the `Print/Print Shrink' box.

A fax can be deleted from a fax list by pressing the delete (trashcan)
button.  This will place the deleted fax in the `Trash' folder.  If
the delete (trashcan) button is pressed in relation to a fax in the
`Trash' folder, it will be deleted from the file system.

A description can be added to a received fax when appearing in a fax
list (or subsequently amended) by pressing the relevant button -- this
will enable faxes to be more easily identified.

To refresh a fax list (say, to update with any faxes received or sent
since the fax list was brought up), press the refresh button.

Settings
--------

The program settings can be changed by manually editing the efax-gtk
configuration file comprising $HOME/.efax-gtkrc,
$sysconfdir/efax-gtkrc or /etc/efax-gtkrc.  The file is searched for
in that order, so $HOME/.efax-gtkrc takes precedence over the other
two.

The configuration file can also be set by using the Settings dialog
launched from the `File/Settings' pull down menu item.  The settings
entered using this dialog are always stored as $HOME/.efax-gtkrc.
Accordingly, if the Settings dialog has been used, and you want to
revert to the global settings, this can be done either by deleting the
$HOME/.efax-gtkrc file, or by pressing the `Reset' button in the
Settings dialog, which will reload the Settings dialog from the global
configuration file ($sysconfdir/efax-gtkrc or /etc/efax-gtkrc).

Help can be obtained when filling out the Settings dialog by holding
the mouse over the relevant help (?) button, which will bring up a
"Tips" display, or by pressing the button, which will bring up an
information display.

                       USING WITH A WORD PROCESSOR

Printing to file from the program itself
----------------------------------------

Probably the simplest way of using the program with a word processor
is to print to file from the print dialog of the word processor
program concerned, and choosing a file name in the $HOME/faxout
directory which can then be selected with the file selector dialog in
efax-gtk.  All Unix/Linux word and document processing programs will
print to file in Postscript format, ready to be faxed by efax-gtk.
(At least, if there is one which does not, I do not know of it).

Faxing via CUPS
---------------

Version 2.2.* provides a socket server, which CUPS can connect to.
When the socket server is running, fax files received from CUPS will
automatically be displayed in a "Queued faxes from socket" list
maintained by efax-gtk.  From this list, a fax can be selected for
sending by efax-gtk, so there is no need to print to file from the
word processor and then select the file with the file selection dialog
in efax-gtk.

When a fax is received in this way from the print system via the
socket, the program settings can also be configured to bring up a
dialog automatically.  If the program is inactive (for example, it is
not standing by to receive faxes) the fax can be sent directly from
this dialog without the need to invoke the list of queued faxes
received from the socket.

If you are using CUPS and you want to connect it directly to efax-gtk
as mentioned above, you can do so by bringing up the fax
administration page for CUPS in a web browser, installing a new
printer with a name of "fax" (or whatever other name you want), choose
the IPP protocol, pick a URI of "socket://[hostname]:[port]", and
choose the "Raw" CUPS printer driver.

The port number can be any port number less than 65536 and more than
1023 which is not used by any other service on your machine/network
(this can be checked out by using nmap, but it is best to avoid any
listed in /etc/services).  For example, as you will usually be
printing from a local computer, if you choose a port number of 9900
(which would be quite reasonable) the URI would be:

socket://localhost:9900

You should then start efax-gtk, go to the Socket tab in the settings
dialog, check the "Run socket server" box, and enter 9900 in the "Port
to which faxes to be sent" box.

To send a fax from the "Queued faxes from socket" dialog, highlight
the one to be sent, press the "Enter selected fax to send" button in
the dialog (the one with an icon representing a fax machine) which
will enter the fax in the "File to fax" box in efax-gtk, and then
choose a telephone number to send it to and press the "Send fax"
button in the ordinary way.

If efax-gtk isn't running when you attempt to send a file via CUPS to
efax-gtk don't worry.  CUPS will queue the fax until it detects that
the efax-gtk socket server is running, and then send it to efax-gtk.

Faxing via lpd/lprng
--------------------

The socket server can also be used in the same way with lpd/lprng.
The files efax-gtk-faxfilter and efax-gtk-socket-client are installed
in /var/spool/fax, when you run 'make install' (the installation
directory can be changed at the ./configure stage using the
./configure --spooldir=[dir] parameter).  You should add at the end of
/etc/printcap the following -

fax:\
	:sd=/var/spool/fax:\
	:mx#0:\
	:sh:\
	:lp=/dev/null:\
	:if=/var/spool/fax/efax-gtk-faxfilter:

This will cause a printer by the name of "fax" to be available, which
(if printed to) will send the file to the efax-gtk socket server.  If
you set efax-gtk to listen on a port other than port 9900, you will
need to amend the file /var/spool/fax/efax-gtk-faxfilter by hand to
specify the correct port number on which efax-gtk is listening.

Don't forget to restart the lpd printer daemon after amending
/etc/printcap.  (An equivalent addition to /etc/printcap can also be
made by using the printer configuration tool with your distribution,
choosing a printer name of "fax" (or whatever other name you want),
choosing a printer device of "/dev/null", a spool directory of
"/var/spool/fax" and an input filter of
"/var/spool/fax/efax-gtk-faxfilter".)

                              SYSTEM TRAY

Efax-gtk has been written so that it will sit in the system tray in
GNOME and KDE when the program is running.

From the system tray, the program can be hidden and raised again by
left-clicking with the mouse on the icon, and right-clicking on it
will bring up a menu from which certain program operations can be
performed.  A 'tips' display will also indicate the program state if
the mouse is left hovering over the efax-gtk icon.

Clicking on the top right (delete) button of the window frame will not
cause the program to terminate if the program is embedded in the
system tray.  Instead it will hide it in the tray.  If you want to
close the program when it is embedded in the tray, either select the
"Quit" menu item in the system tray efax-gtk menu, or select the
"Quit" menu item in the "File" pull-down menu in the program toolbar.

Recent versions of GNOME call the system tray a "Notification Area".
If your desktop panel does not have a Notification Area installed, it
can be placed on the panel by right clicking on the panel, and going
to Add to Panel -> Utility -> Notification Area.

                               LOGGING

Errors and warnings from efax are displayed in red in the application
text window, and information messages and reports on the progress of
negotiations and on fax status are displayed in black in the window.
In addition, these messages are sent to stderr and stdout
respectively.  Accordingly, fax status can be logged by redirecting
stderr and stdout to a log file.

As an alternative, a log file can also be maintained by setting the
LOG_FILE parameter in the efax-gtkrc configuration file, or by
entering a log file name via the Settings dialog.  If no log file is
specified, no log file will be maintained.

                               SCANNERS

If you have a scanner and want to fax it's output, you may find that
it produces a separate postscript file for each page.  The easiest way
of dealing with this is to concatenate the postscript page files
produced by the scanner to a single fax file such as /tmp/faxfile.ps,
using 'cat' and appropriate command line wildcards.  You may want to
automate this with a script.

Alternatively, as mentioned above, more than one file can be specified
in the "File to fax" box when the program is running.

                          INTERNATIONALISATION

Version 2.0 and above of the program has been written to accommodate
i18n support.  If anyone wants to provide me with a *.po file with
translations into their language/locale, I will include it in the
distribution.

An efax-gtk.pot file and other relevant build tools are included in
the po directory in the source directory for the purpose.

                            WORKING DIRECTORY

A working sub-directory for the storage of .efax-gtk_addressbook,
.efax-gtk_mainwin_save and .efax-gtk_queued_server_files and the
faxin, faxout, faxsent and efax-gtk-server directories can be
specified in the efax-gtkrc configuration file with the WORK_SUBDIR:
parameter.  This working subdirectory will appear as a subdirectory of
$HOME (so if WORK_SUBDIR: is specified as efax-gtk, $HOME/efax-gtk
will be the working directory).  If none is specified, which is the
default, then these files/directories will be stored directly in $HOME
(which was what happened before the option was available, so past
efax-gtk installations will not be broken if this option is left
unset).  The WORK_SUBDIR: parameter enables these files and folders to
be kept together in a separate directory if wanted.  If a WORK_SUBDIR:
parameter is specified, only .efax-gtkrc will appear directly in
$HOME.

Note that if you specify a value for WORK_SUBDIR: in the efax-gtkrc
configuration file, you will need to shift old versions of the files
and directories mentioned above into the new working directory or
efax-gtk will not be able to find them, so use this option with
caution.  In addition, if you wish to use the 'print_fax' or
'mail_fax' scripts, you will need to set the WORK_SUBDIR option in the
relevant script.

                            MODEM CLASS MODES

Efax-gtk provides Group 3 fax support using either Class 1, Class 2 or
Class 2.0 modem protocols.  When operating in Class 2 and 2.0 modes,
it is the modem which does most of the work.  In Class 1 mode, the
computer (running efax) does more of the fax processing.

Many fax modem firmware implementations for Class 2 are buggy,
particularly when receiving faxes.  If you select the "Auto" modem
class option in the efax-gtk program settings, Classes 2 and 2.0 modes
will be selected in preference to Class 1 if the program detects that
the modem supports them.  If you find you get fax reception errors in
an auto-detected class 2 or 2.0 mode, but your modem also supports the
Class 1 protocol, try explicitly selecting the "Class 1" modem class
option in the program settings.  Because most of the fax processing in
Class 1 mode is done by efax (which is known to do it correctly),
there is much less chance of running into buggy firmware problems.

                          CONTACTING THE AUTHOR

I can be contacted at chris@cvine.freeserve.co.uk or via sourceforge.

Updates can be obtained from http://efax-gtk.sourceforge.net/

Chris Vine.
