Building the msg package
========================

The msg system is written for the Unix operating system, and requires
the Motif toolkit and the POSIX thread library.  The xmsg program requires
a Perl interpreter with the Tk module. The code for the other programs
is written in C++.  It has been built successfully using the GNU C++ compiler
(version 2.8.1).  As compilers are still inconsistent in their compliance
with the language standard, some reworking of the code may be necessary
to compile with a different compiler.  Please inform the author of any
required changes so that they may be built into the source code.

All required source code files are included in the distribution.  You
should only need to check the makefile for compiler command line options,
e.g. the location of Motif and X windows libraries.  Then type `make'
from your command line to build the programs.

Contents of the msg package
===========================

The msg package consists of six programs:  msg_server, msgd, msg_locate,
msg, msg_autoreply, and xmsg.  The server msg_server stores information 
about the users of the system.  Only those users registered with this server 
can receive messages.  The daemon program msgd receives messages from a user, 
displays it in a window, and logs the message.  The msg_locate program 
queries the server about the registered processes.  This is used to determine 
if a desired user is currently running their daemon, and can therefore receive
a message.  The msg program does the sending of messages.  The xmsg program
provides an X-window interface to the msg program, and is the preferred
method of sending messages interactively.  In addition to sending the message,
xmsg provides a spell checker (requiring ispell), aliases, distribution
lists, and a displayer of the log file.  Finally the msg_autoreply shell
script is used to set or unset the auto-reply feature of msgd.  When this
feature is set, the daemon will automatically send a message (supplied by
the user) to the sender of any message it receives.

Using the msg package
=====================

A machine on which the server will run must be chosen.  For illustration,
let us say a machine named `quasar' is chosen.  After the server is
started on quasar, users must set the environment variable MSG_SERVER_HOST
to the server machine name, in this case quasar.  Each user must also
set the environment variable MSG_USER to be their user name.  It is
recommended that the system user id be chosen for this, e.g. 
setenv MSG_USER `whoami` in the csh.  Optionally, the variable MSG_LOG_FILE 
may be set to specify where the log file is to be written; a default value of
~/msg.log is used.  Once these variables are set, each user must 
start the daemon.  A user may only run a single daemon on each machine.
The msg or xmsg programs are used to send the messages.

Disclaimer
==========

This software was written as a learning exercise and comes with no
warranty of any kind.  If you find problems, please contact me
(mailto:dr_saaron@yahoo.com) to report them.  For my own curiosity,
please contact me if you build and use the system, and let me know
what you think.
