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 option-
       ally 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  Bur-
       ridge'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 re-
	       source 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  re-
	       source 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 re-
	       turned  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 im-
       ages.  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	 chil-
	       dren.

       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.listCommand:<usercommand>
	       This  resource  specifies  a user command that will be executed
	       instead of looking at the spool file. If	this resource is spec-
	       ified 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	direc-
	       tory 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 im-
	       age/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 al-
	       lowed 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 "no-
	       mail".  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 spec-
	       ify 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  re-
	       sources.

       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 com-
	       mands 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  ac-
	       tual  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	,  im-
	       age  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  re-
	       source.	Both  the <format list>	and the	<search	path> are (ex-
	       cept if you use the facedb search) for  the  commandSearch  re-
	       soiurce.	  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 re-
		       source 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
		       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 off-
		       set 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 posi-
	       tion 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 in-
	       stead 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 re-
	       source.	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 fil-
		       ter.  It	can be used in the imageType resource and any-
		       where 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 ex-
		       pected 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	speci-
       fied  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  re-
       sources on the Tiled layout widget.

	      Each  line following is expected to contain two to six TAB sepa-
	      rated fields. The	fields are: user, host,	 annotation1,  annota-
	      tion2,  annotation3,  annotation4.  See  the annotationCount re-
	      source to	see how	to specify how and where each of  the  annota-
	      tions 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(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.0>

home | help