-*- Mode: Indented-Text -*-
Christopher B. Liebman
March 12, 1994
What is XFaces?
XFaces is a program that will display an image for each
piece of mail in your mail box. This lets you know at a
glance who you have mail from. XFaces starts out (when you
have no mail) looking like a color xbiff. As you receive
mail XFaces becomes a column of mail images. Some of XFaces
- Both mono and color images.
- Optional Shaped window support with both xpm and xbm.
- Sound support using the NetAudio protocol. The NetAudio server
currently supports Sun's SparcStation (SunOS 4.1.X and Solaris 2.2),
SGI's Indigo and NCD MCX X terminals running NCDware 3.1 or later.
- Face images can be "compressed" so that each image will only
show up once on your display. This way, if you receive 30 messages
from one user, list or whatever the image will only show up once.
- You can use regular expressions to search any headers to choose
images and sounds or ignore that mail message compleatly. This
lets you specify an image/sound for mail that comes from a
mailing list or ignore mail that you have already seen but
left in your system mailbox.
- Compatibility support for Rich Burridge's faces program. This
includes the ability to run user command to generate the image
- Support for POP mailboxes.
- XFaces can kick off shell commands based upon mailbox
contents. You could have yourself paged when a high priorty
item needs your attention.
- XFaces can run external filters to convert images into Xpm
so that image formats that XFaces does not understand can
- The annotations for mail items include username, hostname,
count, user@host, the contents of any header.
XFaces is based on the Xt Intrinsics (-lXt) and the Athena
Widget set (-lXaw). To build in Xpm support you need the
xpm library (-lxpm) version 3.2 or later. To build in the
sound support you will need NetAudio 1.1 or later. Both the xpm
and the NetAudio distributions and publicly available with anon
ftp from ftp.x.org in the contrib directory. If you want X-Face
header support you will want James Ashton's compface library
available from from ftp.clark.net in pub/liebman/compface.tar.Z.
Whats new in this version?
See the CHANGES file for a descriptions of what has changed
since the previous version.
What machines will XFaces run on?
XFaces as been compiled and tested on the following
machines/OS' (these are all that I have access to):
Sun Sparc 10 SunOS 4.1.3 (MIT X11R5)
Sun Sparc IPC SunOS 4.1.1 (MIT X11R5)
It has also been reported to run on:
DEC Alpha 3000 OSF 1.3
DEC 5000 Ultrix 4.2a (X11R5)
IBM RS/6000 AIX 3.2.4 (X11R4)
i486 System VR4 (X11R4)
Macintosh IIci A/UX 3.0 (X11R5)
SG Indigos IRIX 4.05H
Bull DPX/2 68040 based, SV.3.1 POSIX/XPG3
80386 SCO UNIX 3.2.4 (ODT 2.0 with X11R4)
Please help me add to this list. I am really interested to
find out how well this works on other machines (SGI?, HP?, DEC?
Building and Installing XFaces
If you do not have Imake I have supplied a Makefile.noimake
that you can tailor to your site. The easiest method is to use
Imake. You need to look at the Imakefile in this directory to see
the definitions for USE_XPM, USE_SOUND, USE_BUCKETS , USE_XFACE,
USE_SHAPE and USE_POP are what you want. By default All of these
are compiled in. If you do not want one of them, just comment out
or delete the #define. Sound support has another option
USE_BUCKETS. If this is defined then XFaces will store the sounds
for all active sounds in the audio server. If you are using
NetAudio 1.1 on a sparc then you will either neet to disable the
BUCKET support or apply the included patch to ausun (the patch is
in ausun.patch). The bug in the sun NetAudio server causes a
weird audio "glitch" that I noticed when playing from buckets.
USE_XPM - Requires the xpm library. This is available from
ftp.x.org in /contrib/xpm-3.3.tar.gz
USE_SOUND - Requires the net audio client library and includes.
NetAudio is available from ftp.x.org in
USE_SHAPE - Requires the MIT SHAPE extension.
USE_XFACE - Requires the compface library available from
cs.indiana.edu in /pub/faces/xfaces/compface.tar.Z
or ftp.clark.net in /pub/liebman/compface.tar.Z
USE_POP - Requires BSD style sockets.
Next to build the Makefile run:
Then to build XFaces run:
To install XFaces type:
How to set up XFaces
I recomend the use of the facedb search to find the majority of
the images and sounds. A couple large databases of face images
are available from cs.indiana.edu in the /pub/faces directory.
Included in this release are a number of sample icons
that I use. Also the sample XFaces app defaults file
contains examples of using the before bindings to show a
particular image/sound for items from a mailing list.
I will be glad to help anyone who is having problems
setting up XFaces or anyone who has any questions about
The man page provides more detailed information than any normal
human being can stand! :^) Unfortunatly it is not very well
written. :^( Does anyone care to take a stab at it?
Sample face images
I have placed a number if images that we use for
XFaces in the images subdirectory. You will want to copy
them to your images directory.
Bugs (bugs? never! :^), Fixes and Enhancements
If you find any bugs or have fixes for bugs or have
suggestions for enhancements or have patches for enhancements
please send them to me at:
I will welcome *any* improvements to the documentation!
Disscussions of future enhancements are also welcome on the faces
To subscribe send your request (and all other adminstrative
Copyright 1994 Christopher B. Liebman
Permission to use, copy, modify, distribute, and sell this software
and its documentation for any purpose is hereby granted without fee,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name Christopher B. Liebman not
be used in advertising or publicity pertaining to distribution of this
software without specific, written prior permission.
THIS SOFTWARE IS PROVIDED `AS-IS'. CHRISTOPHER B. LIEBMAN, DISCLAIMS
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL CHRISTOPHER
B. LIEBMAN, BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING SPECIAL,
INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA, OR
PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS OF
WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.