Provided by: xfaces_3.3-29ubuntu1_amd64 bug

NAME

       xfaces - mail image display for X

SYNOPSIS

       xfaces [-toolkitoption ...] [-option ...]

DESCRIPTION

       XFaces  version 3.0 is a program that will display an image and optionally play a sound for each piece of
       mail in your mail box. Additionaly, you can have a shell command executed. This lets you know at a glance
       (or  a  listen, or a whatever) 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 (or a number of columns) of mail icons.

       XFaces can also be used to monitor other lists using the -e option or the listCommand resource.

OPTIONS

       Xfaces accepts all of the standard X Toolkit command line  options  as  well  as  the  following  options
       designed to be compatible with Rich Burridge's faces program:

       -c <columns>
               Specify  the  number  of  images  that  faces  will allow before starting a new row. This is also
               available as resource XFaces.frame.maxWidth.

       -e <command>
               Run <command> and use output for faces list.  This is also available as XFaces.listCommand.

       -f <facedb path>
               This option set the default facedb search  path  to  the  colon  separated  list  of  directories
               specified in <facedb path>.  Also available as resource XFaces.facedbPath.

       -h <image height>
               This  option sets the height used internally by XFaces to layout images in a tiled fashion.  This
               is also available as the resource XFaces.frame.tileHeight.

       -p <update time>
               Specify the amount of time to wait between checks for  new  mail.   Also  available  as  resource
               XFaces.update.

       -s <spool file>
               This option specifies an alternate mail spool file to watch.  Also available as XFaces.spoolFile.

       -w <image width>
               This  option  sets the width used internally by XFaces to layout images in a tiled fashion.  This
               is also available as the resource XFaces.frame.tileWidth.

       -C      This option disables image compression.  Image compression is used  to  only  show  a  particular
               image only once in the display.  Also available as resource XFaces.compressImages.

       -K      This  option  insists that the order of the images in the display reflect the order of the images
               in the spool file or those returned by a <command>.  Also available as resource XFaces.keepOrder.

       -S      This option says not to shape extra space added to images that are smaller than the tile size.

       -pop <hostname>
               This option specifies the host name to use for a POP3 mailbox.  Also available as XFaces.popHost.

       -top    For backwards compatibility, use the RETR POP3 command instead of TOP to check for  new  messages
               on the POP3 server.

X DEFAULTS

       The application class name is XFaces.  For best results the following Shell resource is suggested:

       XFaces.allowShellResize: True
               This will allow the XFaces window to resize to be the exact size that is required for the current
               images.

       This program uses a very simple tiled layout widget to layout the images.  Each image is displayed in  an
       Athena Label widget.  The name of the layout widget is frame and the following resources are available:

       XFaces.frame.tileWidth: <tile width>
               This  resource specifies the width of the children that the Tiled widget is to manage.  This size
               is enforced.  The default is 64

       XFaces.frame.tileHeight: <tile height>
               This resource specifies the height of the children that the Tiled widget is to manage.  This size
               is enforced.  The default is 64.

       XFaces.frame.setWidth: <force width>
               This  resource  forces  the  width of the Tiled widget to be <width> tiles wide.  If the value is
               zero then no width is forced.  The default is 0.

       XFaces.frame.setHeight: <force height>
               This resource forces the height of the Tiled widget to be <height> tiles wide.  If the  value  is
               zero then no height is forced.  The default is 0.

       XFaces.frame.minWidth: <minimum width>
               This  resource  specifies  the  minimum  width in tiles that the Tiled widget is allowed.  If the
               value is zero then there is no minimum.  The default is 0.

       XFaces.frame.minHeight: <minimum height>
               This resource specifies the minimum height in tiles that the Tiled widget  is  allowed.   If  the
               value is zero then there is no minimum.  The default is 0.

       XFaces.frame.maxWidth: <maximum width>
               This  resource  specifies  the  maximum  width in tiles that the Tiled widget is allowed.  If the
               value is zero then there is no maximum.  The default is 0.  Note that since the Tiled widget lays
               out  its  children  in  row major order a value of 0 creates a horizontal list of images.  If the
               value is specified as 1 a vertical list is created.

       XFaces.frame.maxHeight: <maximum height>
               This resource specifies the maximum height in tiles that the Tiled widget  is  allowed.   If  the
               value is zero then there is no maximum.  The default is 0.

       XFaces.frame.vertSpacing: <spacing>
               This  resource  specifies  the  spacing in pixels that the Tiled widget places vertically between
               children.

       XFaces.frame.horizSpacing
               This resource specifies the spacing in pixels that the Tiled widget places  horizontally  between
               children.

       XFaces.frame.internalWidth
               This  resource  specifies the spacing in pixels that the Tiled widget places horizontally between
               its borders and its children.

       XFaces.frame.internalHeight
               This resource specifies the spacing in pixels that the Tiled widget places vertically between its
               borders and its children.

              Note:  If  you have specified a border width for the children of the Tiled widget that is non zero
              then you should specify the following resource values to be at least two times  the  border  width
              specified for the children:
                     • vertSpacing
                     • horizSpacing
                     • internalWidth
                     • internalHeight

       XFaces also introduces the following application resources:

       XFaces.spoolFile: <mail spool file>
               This  can  be  used  to specify the mail spool file to watch.  The default is to append the users
               name onto the spoolDir resource.

       XFaces.spoolDir: <mail spool directory>
               This resource specifies the directory that contains  user  mail  spool  files.   The  default  is
               /usr/spool/mail.  On some machines (SVR4?)  you may want to set this to /usr/mail.

       XFaces.popHost: <hostname>
               This resource specifies the name of a host to contact for a POP3 mailbox.  Note that in order for
               this to work you need to create a file called .popauth in your home directory.  The file needs to
               contain  one  line  that contains your pop host login id followed by white space followed by your
               pop host password.  Since this file contains a clear text password it  is  not  the  most  secure
               method.   I  currently  do  not  have  access  to  a  pop  server that supports any other type of
               authentication.

       XFaces.popPort: <port number>
               This specifies what port number to use for POP.  The default is the standard POP3 port 110.

       XFaces.popTop: <flag>
               Specify whether or not to use the newer TOP POP3 command, rather than the RETR command (which may
               have  the side-effect of marking the mail read on the POP3 server).  This also reduces the amount
               of network traffic to the POP3 server, so is enabled by default.

       XFaces.listCommand:<usercommand>
               This resource specifies a user command that will be executed instead  of  looking  at  the  spool
               file.  If  this  resource is specified then value specified in the spoolFile is ignored.  See the
               USER COMMANDS section for a description  of  the  data  format  that  XFaces  expects  from  user
               commands.

       XFaces.imagePath: <image path>
               This  resource  specifies  a  colon-separated  list  of  directories  that  specify  the  default
               directories to use for image files.  The default is /usr/images.

       XFaces.soundPath: <sound path>
               This  resource  specifies  a  colon-separated  list  of  directories  that  specify  the  default
               directories to use for sound files.  The default is /usr/sounds.

       XFaces.facedbPath: <facedb path>
               This  is  a  list  of  directories that contain a multi-level directory hierarchy.  The first few
               levels are the host name where each part of the host name is a new directory level.  Inside  this
               is  another  directory using the users name. And finally, inside of this directory are the actual
               image and sound files for this user.  The root of the face (for images and for sounds)  is  face.
               This  file can be in any of the supported image/sound formats.  See the description of the facedb
               search type under the imageSearch resource.

       XFaces.machine: <machine file>
               This resource specifies the name of a file that is used to alias machine names.  Each facedb tree
               is  allowed  to  contain  one  of  these.  The default is machine.tab.  Any blank lines and lines
               starting with the # character are ignored.  All other lines are expected to look like:

                     old.host.name=new.name

       XFaces.people: <people file>
               This resource specifies the name of a file that is used to alias user names for  specific  hosts.
               Each facedb tree is allowed to contain
                one  of  these.   The  default  is  people.tab.   Any  blank lines and lines starting with the #
               character are ignored.  All other lines are expected to look like:

                     host.name/olduser=newuser

       XFaces.update: <update time>
               How often to check for new mail in seconds. The default is 60.

       XFaces.volume:
               The volume at which to play sounds. The default is 33.

       XFaces.fromField:
               This resource specifies which mail header to use as the from header.  The default is the old uucp
               "From_" header. (the _ is really a space character)

       XFaces.noMailImage: <empty image>
               The image to use when you have no mail. The default is "nomail".  The imagePath is used to locate
               this file.

       XFaces.noMailSound: <empty sound>
               The sound to use when you have no mail. The default not to  play  a  sound  with  no  mail.   The
               soundPath is used to locate this sound.

       XFaces.lookupHostname: <flag>
               If  this  resource  is  True  then  the  host name part of the from address will be looked up and
               translated to the real hostname. The default value is False.

       XFaces.keepOrder: <flag>
               This boolean resource controls the image ordering in faces.  For performance reasons the  default
               is False.  When scripts are being run you will usually want to specify this as True.

       XFaces.compressImages: <flag>
               Only  show  each image once in the image display. The default is True. When scripts are being run
               you will usually want to specify this as False.

       XFaces.useSound: <flag>
               Play sounds.  The default is True.  A user can disable sounds for  his  XFaces  by  setting  this
               resource to False in his resources.

       XFaces.useShape: <flag>
               Use shaped images if available.  This will also cause the background of the XFaces main window to
               become transparent where there is no image.  This defaults to True.

       XFaces.useCommands: <flag>
               This resource tells XFaces if it needs to search for shell commands to run in addition  to  image
               and sounds.  The default is False.

       XFaces.useContentLength: <flag>
               This resource enable code to use a Content-Length: mail header to specify how large the mail body
               is.  After the headers this many bytes are skiped.

       XFaces.shapeBorders: <flag>
               This resource, when set to True will cause the borders of the Label widgets  to  be  shaped  out.
               The default is True.

       XFaces.shapeInternal: <flag>
               This  resource  when  set  to  True will cause the internal width and height margins of the Label
               widgets to be shaped out.  The default is True.

       XFaces.closeness: <closeness value>
               This resource controls how close a color must come to the actual color for  the  XPM  library  to
               accept it. The default is 40000.

       XFaces.imageTypes: <image type list>
               This  resource  specifies the default image types that are used to attempt to load an image file.
               The list also specifies the order the types are attempted. Valid types are:

               xpm-shaped
                       This is a shaped color image.  Shaped xpm files should be named face-shape.xpm.

               xpm     This is a non shaped color image. These files should be named face.xpm.

               xbm-shaped
                       This a an monochrome shaped image.  The image file and mask are stored in separate  files
                       called face-shape.xbm for the image data and face-shape.xbm-mask for the shape mask.

               xbm     This is a non shaped monochrome image.  These files should be called face.xbm.
       the default value for this resource is:

                   xpm-shape:xpm:xbm-shape:xbm

       XFaces.imageSearch: <search specs>

       XFaces.soundSearch: <search specs>

       XFaces.commandSearch: <search specs>
               These  resources  have  complete  control  of  the  search type , image types for images and path
               arguments for locating images, sounds and commands.  The search spec is a  multi  line  resource.
               Each line represents a new search.  Each line is constructed as follows:

                   <search type> [<format list> [<search path>]]

               The  <format  list> is currently ignored for the soundSearch resource. Both the <format list> and
               the <search path> are (except if you use the facedb search) for the commandSearch  resource.   If
               the  <format  list>  is empty then the list in the imageFormats resource is used.  If the <search
               path> is empty then the facedbPath is used for facedb searches for both sounds and images and one
               of the soundPath or imagePath is used for the other search types.

               The valid search types are:

               beforeImage
                       The beforeImageBindings resource is used as a set of regular expression to match lines in
                       the mail header.  beforeSound The beforeSoundBindings  resource  is  used  as  a  set  of
                       regular   expression   to   match   lines   in   the   mail  header.   beforeCommand  The
                       beforeCommandBindings resource is used as a set of regular expression to match  lines  in
                       the mail header.

               resource
                       The  user  name and host name are looked up in the X resources for a match. The resources
                       attempted are:

                           XFaces.<type>.user@host
                           XFaces.<type>.user
                           XFaces.<type>.host
               Where type is one of: image, sound, command.

               u@h     The user name and host name is combined and  looked  for  as  a  file  name.   The  names
                       attempted are:

                           [path]user@host
                           [path]user
                           [path]host

               facedb  This  is  the  search that is used in Rich Burridge's faces program.  The search attempts
                       the following for the address liebman@zod.clark.net:

                           [path]/net/clark/zod/liebman
                           [path]/net/clark/zod/liebman/face
                           [path]/net/clark/liebman
                           [path]/net/clark/liebman/face
                           [path]/net/liebman
                           [path]/net/liebman/face
                           [path]/MISC/liebman
                           [path]/MISC/liebman/face
                           [path]/net/clark/zod/unknown
                           [path]/net/clark/zod/unknown/face
                           [path]/net/clark/unknown
                           [path]/net/clark/unknown/face
                           [path]/net/unknown
                           [path]/net/unknown/face
                           [path]/MISC/unknown
                           [path]/MISC/unknown/face

               x-face  This looks for an X-Face: header and extracts a 48 pixel by 48 pixel monochrome image.

               afterImage
                       The afterImageBindings resource is used as a set of regular expression to match lines  in
                       the mail header.

               afterSound
                       The  afterSoundBindings resource is used as a set of regular expression to match lines in
                       the mail header.

               afterImage
                       The afterCommandBindings resource is used as a set of regular expression to  match  lines
                       in the mail header.

               The default value of the imageSearch resource is:
                           beforeImage\n\
                           resource\n\
                           facedb\n\
                           x-face\n\
                           afterImage
               The default value of the soundSearch resource is:
                           beforeImage\n\
                           resource\n\
                           facedb\n\
                           afterImage
               The default value of the commandSearch resource is:
                           beforeImage\n\
                           resource\n\
                           afterImage

       XFaces.beforeImageBindings: <spec>

       XFaces.afterImageBindings: <spec>

       XFaces.beforeSoundBindings: <spec>

       XFaces.afterSoundBindings: <spec>

       XFaces.beforeCommandBindings: <spec>

       XFaces.afterCommandBindings: <spec>
               These  resources  specify  regular  expressions  that  can be matched against the mail headers to
               locate an image or sound.  These are multi-line resources.  Each line is constructed as:

                   <field name> <regexp><:> <file> <label><:><anno>
       If the <field name> is specified as * then all headers are tested.  If the <field name> begins  with  a
       (like  Subject:  or *) then the search is case insensitive.  The <label> field is only used for image and
       if specified, it will be used in the annotations at position <anno> if <anno> is  not  supplied  then  it
       defaults to 1.

       XFaces.ignoreMessageBindings:
               These  resources  specify  regular  expressions  that  can be matched against the mail headers to
               locate an image or sound.  These are multi-line resources.  Each line is constructed as:

                   <field name> <regexp>
       If the field name is specified as * then all headers are tested.  Any match found will cause the  message
       to be ignored, no sound, no image, no nothing!

       XFaces.annotationCount: <number of annotations>

       XFaces.unknownAnnotationCount: <number of annotations>
               This  resource  specifies  the  number  of  annotations  that  the user is specifing. The unknown
               annotations are applied on faces that were  located  via  the  facedb  search  when  substituting
               "unknown"  for the user name. For each annotation the following resources will be retrieved where
               N runs from 1 to annotationCount (or unknownAnnotationCount)

               XFaces.annotationN.x: <x>

               XFaces.unknownAnnotationN.x: <x>
                       If <x> is a positive number then it is the offset from the left side of the image to  the
                       left  side of the text. If <x>P is a negative number then it is the offset from the right
                       side of the image to the right side of the text.

               XFaces.annotationN.y: <y>

               XFaces.unknownAnnotationN.y: <y>
                       If <y> is a positive number then it is the offset from the top of the image to the top of
                       the text. If <y>P is a negative number then it is the offset from the bottom of the image
                       to the bottom of the text.

               XFaces.annotationN.maxWidth: <width>

               XFaces.unknownAnnotationN.maxWidth: <width>
                       This specifies the maximum width in pixels the text is allowed to be.

               XFaces.annotationN.font: <font name>

               XFaces.unknownAnnotationN.font: <font name>
                       This is the font to use to render the annotation.

               XFaces.annotationN.foreground: <X color spec>

               XFaces.unknownAnnotationN.foreground: <X color spec>
                       This is the foreground color for the annotation.

               XFaces.annotationN.background: <X color spec>

               XFaces.unknownAnnotationN.background: <X color spec>
                       This is the background color for the annotation.

               XFaces.annotationN.shapeText: <flag>

               XFaces.unknownAnnotationN.shapeText: <flag>
                       If true then the text itself is used as the shape mask, if false then the shape mask is a
                       filled rectangle with extents matching those of the text. The default is False.

               XFaces.annotationN.opaqueText: <flag>

               XFaces.unknownAnnotationN.opaqueText: <flag>
                       If  true  then  the  text  background is drawn too (the background is the bounding filled
                       rectangle, when false only the text is drawn. The default is True.

       XFaces.mail.annotationN: <type>

       XFaces.mail.unknownAnnotationN: <type>
               This specifies what is to be placed into this annotation position for mail items.  The values for
               type are:

       none        An empty string.

       user        The user part of the From address.

       host        The host part of the From address.

       user@host   The user and host parts of the From address.

       count       The number of messages represented by this face.

       *<header>   Any  value  beginning  with  a  '*'  is expected to be a header name and the contents of that
                   header will be displayed. For instance "*subject:" will display the subject line.

       XFaces.annotationAbove: <flag>
               This really should be called something else! Anyway, when this resource is  true  and  the  image
               found  is  smaller than the tile size the extra space allocated will be placed on teh top instead
               of the bottom.  The default value is False.

       XFaces.background: <color>
               This is the color of any extra image space allocated.

       XFaces.shapeExtra: <flag>
               This, if true, will cause any extra image space allocated to be shaped out.

       XFaces.xbm.foreground: <color>
               This is the foreground color for loaded X bitmaps.

       XFaces.xbm.background: <color>
               This is the background color for loaded X bitmaps.

       XFaces.xpm.noneColor: <color>
               This is the color used to represent the transparent pixels when the overrideNoneColor is True.

       XFaces.xpm.overrideNoneColor: <flag>
               When this value is set to true the transparent pixels in a Xpm image are replaced  bu  the  color
               specified in the noneColor resource.  The default value is False.

       XFaces.xpm.filterCount: <count>
               This  resource  specifies  the number of external filters to look for.  The filters are specified
               with the following resources:

               XFaces.xpmFilterN.name: <name>
                       This is the image type name used to refer  to  this  filter.   It  can  be  used  in  the
                       imageType resource and anywhere else an image type name is expected.

               XFaces.xpmFilterN.filter: <command>
                       This  is  the  command  that will produce an xpm file on stdout.  This could be something
                       like: "giftopnm %s | ppmtoxpm".  A single %s will be replaced by the  file  name  of  the
                       image to be loaded.

               XFaces.xpmFilterN.extension: <entension>
                       This is the file extension that the image file is expected to have.

USER COMMANDS

       These commands add a very powerful feature to XFaces. They allow almost anything to be monitored visually
       and audibly.  When a value is specified for the listCommand resource XFaces will run the command and read
       the commands standard output.  The following is expected.

              The  first  line consists of two tokens.  The first is expected to be a user name and the second a
              host name.  They are intended to describe the image that should  be  displayed  by  XFaces  in  an
              iconic state. Note: This is currently not implemented though the line is still expected.

              The second line is expected as
              Cols=<columns> Rows=<rows>
       where  <columns> is the number of columns and <rows> that faces should display.  These values are used to
       set the setWidth and setHeight resources on the Tiled layout widget.

              Each line following is expected to contain two to six TAB separated fields. The fields are:  user,
              host,  annotation1, annotation2, annotation3, annotation4. See the annotationCount resource to see
              how to specify how and where each of the annotations are displayed.

       Steve Kinzler maintains a  distribution  of  scripts  that  can  be  used  to  generate  faces  lists  in
       cs.indiana.edu:pub/faces/scripts.tar.Z.

SEE ALSO

       mail(1), sendmail(8)

AUTHOR

       Christopher B. Liebman (liebman@zod.clark.net)

ACKNOWLEDGEMENTS

       Special thanks to Rich Burridge.  A lot of the concepts that now exist in XFaces came from faces first.

       Thanks also go to James Ashton for the X-Faces header face compression / decompression code.

                                                                                                      XFACES(1x)