Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XFACES(1)		     General Commands Manual		       XFACES(1)

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 avail-
	     able as XFaces.listCommand.

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

     -h <image height>
	     This option sets the height used internally by XFaces to layout im-
	     ages 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 im-
	     ages 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 re-
	     flect  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.

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 de-
	     fault 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  cre-
	     ated.

     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  de-
	     fault 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.listCommand:<usercommand>
	     This resource specifies a user command that will  be  executed  in-
	     stead  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 de-
	     fault 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 de-
	     fault 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 direc-
	     tory 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 ex-
	     pected 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 con-
	     tain
	      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  re-
	     ally 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 ad-
	     dress 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  back-
	     ground  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-shaped.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 rep-
	     resents a new search.  Each line is constructed as follows:

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

	     The <format list> is currently  ignored  for  the	soundSearch  re-
	     source. Both the <format list> and the <search path> are (except if
	     you use the facedb search) for the commandSearch resoiurce.  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 regu-
		     lar expression to match lines in the mail header.	 before-
		     Sound  The beforeSoundBindings resource is used as a set of
		     regular expression to match lines in the mail header.   be-
		     foreCommand 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  re-
		     sources 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 regu-
		     lar 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  sup-
     plied 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  re-
	     trieved  where  N runs from 1 to annotationCount (or unknownAnnota-
	     tionCount)

	     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 nega-
		     tive 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 al-
		     lowed 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 ex-
		     tents 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  back-
		     ground  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  re-
	     source  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  im-
	     age  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  std-
		     out.   This  could  be  something like: "giftopnm %s | ppm-
		     toxpm".  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  com-
     mands 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  de-
	    scribe  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 dis-
     play.  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, anno-
	    tation3, 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  gen-
     erate 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(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xfaces&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help