.TH XFACES 1x .SH NAME xfaces - mail image display for X .SH SYNOPSIS .B xfaces [-\fItoolkitoption\fP ...] [-\fIoption\fP ...] .SH DESCRIPTION .I 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. .I XFaces starts out (when you have no mail) looking like a color xbiff. As you receive mail .I XFaces becomes a column (or a number of columns) of mail icons. .PP \fIXFaces\fP can also be used to monitor other lists using the \fB\-e\fP option or the \fBlistCommand\fP resource. .SH OPTIONS .I 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: .TP 8 .BI \-c " " Specify the number of images that faces will allow before starting a new row. This is also available as resource \fBXFaces.frame.maxWidth\fP. .TP 8 .BI \-e " " Run \fI\fP and use output for faces list. This is also available as \fBXFaces.listCommand\fP. .TP 8 .BI \-f " " This option set the default facedb search path to the colon separated list of directories specified in \fB\fP. Also available as resource \fBXFaces.facedbPath\fP. .TP 8 .BI \-h " " This option sets the height used internally by \fIXFaces\fP to layout images in a tiled fashion. This is also available as the resource \fBXFaces.frame.tileHeight\fP. .TP 8 .BI \-p " " Specify the amount of time to wait between checks for new mail. Also available as resource \fBXFaces.update\fP. .TP 8 .BI \-s " " This option specifies an alternate mail spool file to watch. Also available as \fBXFaces.spoolFile\fP. .TP 8 .BI \-w " " This option sets the width used internally by \fIXFaces\fP to layout images in a tiled fashion. This is also available as the resource \fBXFaces.frame.tileWidth\fP. .TP 8 .B \-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 \fBXFaces.compressImages\fP. .TP 8 .B \-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 \fI\fP. Also available as resource \fBXFaces.keepOrder\fP. .TP 8 .B \-S This option says not to shape extra space added to images that are smaller than the tile size. .TP 8 .BI \-pop " " This option specifies the host name to use for a POP3 mailbox. Also available as \fBXFaces.popHost\fP. .TP 8 .BI \-top For backwards compatibility, use the RETR POP3 command instead of TOP to check for new messages on the POP3 server. .SH X DEFAULTS The application class name is \fBXFaces\fP. For best results the following \fBShell\fP resource is suggested: .PP .TP 8 .BI XFaces.allowShellResize: " True" This will allow the \fIXFaces\fP window to resize to be the exact size that is required for the current images. .PP 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 \fIframe\fP and the following resources are available: .PP .TP 8 .BI XFaces.frame.tileWidth: " " This resource specifies the width of the children that the \fBTiled\fP widget is to manage. This size is enforced. The default is 64 .TP 8 .BI XFaces.frame.tileHeight: " " This resource specifies the height of the children that the \fBTiled\fP widget is to manage. This size is enforced. The default is 64. .TP 8 .BI XFaces.frame.setWidth: " " This resource forces the width of the \fBTiled\fP widget to be \fI\fP tiles wide. If the value is zero then no width is forced. The default is 0. .TP 8 .BI XFaces.frame.setHeight: " " This resource forces the height of the \fBTiled\fP widget to be \fI\fP tiles wide. If the value is zero then no height is forced. The default is 0. .TP 8 .BI XFaces.frame.minWidth: " " This resource specifies the minimum width in tiles that the \fBTiled\fP widget is allowed. If the value is zero then there is no minimum. The default is 0. .TP 8 .BI XFaces.frame.minHeight: " " This resource specifies the minimum height in tiles that the \fBTiled\fP widget is allowed. If the value is zero then there is no minimum. The default is 0. .TP 8 .BI XFaces.frame.maxWidth: " " This resource specifies the maximum width in tiles that the \fBTiled\fP widget is allowed. If the value is zero then there is no maximum. The default is 0. Note that since the \fBTiled\fP 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. .TP 8 .BI XFaces.frame.maxHeight: " " This resource specifies the maximum height in tiles that the \fBTiled\fP widget is allowed. If the value is zero then there is no maximum. The default is 0. .TP 8 .BI XFaces.frame.vertSpacing: " " This resource specifies the spacing in pixels that the \fBTiled\fP widget places vertically between children. .TP 8 .B XFaces.frame.horizSpacing This resource specifies the spacing in pixels that the \fBTiled\fP widget places horizontally between children. .TP 8 .B XFaces.frame.internalWidth This resource specifies the spacing in pixels that the \fBTiled\fP widget places horizontally between its borders and its children. .TP 8 .B XFaces.frame.internalHeight This resource specifies the spacing in pixels that the \fBTiled\fP widget places vertically between its borders and its children. .PP .RS \fBNote:\fP \fIIf you have specified a border width for the children of the\fP \fBTiled\fP \fIwidget 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:\fP .RS \(bu vertSpacing .br \(bu horizSpacing .br \(bu internalWidth .br \(bu internalHeight .RE .RE .PP \fIXFaces\fP also introduces the following application resources: .PP .TP 8 .BI XFaces.spoolFile: " " This can be used to specify the mail spool file to watch. The default is to append the users name onto the \fBspoolDir\fP resource. .TP 8 .BI XFaces.spoolDir: " " This resource specifies the directory that contains user mail spool files. The default is \fI/usr/spool/mail\fP. On some machines (SVR4?) you may want to set this to \fI/usr/mail\fP. .TP 8 .BI XFaces.popHost: " " 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 \fI.popauth\fP 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. .TP 8 .BI XFaces.popPort: " " This specifies what \fIport number\fP to use for POP. The default is the standard POP3 port 110. .TP 8 .BI XFaces.popTop: " " 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. .TP 8 .BI XFaces.listCommand: 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 \fBspoolFile\fP is ignored. See the \fBUSER COMMANDS\fP section for a description of the data format that \fIXFaces\fP expects from user commands. .TP 8 .BI XFaces.imagePath: " " This resource specifies a colon-separated list of directories that specify the default directories to use for image files. The default is \fI/usr/images\fP. .TP 8 .BI XFaces.soundPath: " " This resource specifies a colon-separated list of directories that specify the default directories to use for sound files. The default is \fI/usr/sounds\fP. .TP 8 .BI XFaces.facedbPath: " " 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 \fIface\fP. This file can be in any of the supported image/sound formats. See the description of the \fIfacedb\fP search type under the \fBimageSearch\fP resource. .TP 8 .BI XFaces.machine: " " 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 \fImachine.tab\fP. Any blank lines and lines starting with the \fI#\fP character are ignored. All other lines are expected to look like: .PP .RS .RS old.host.name=new.name .RE .RE .TP 8 .BI XFaces.people: " " 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 \fIpeople.tab\fP. Any blank lines and lines starting with the \fI#\fP character are ignored. All other lines are expected to look like: .PP .RS .RS host.name/olduser=newuser .RE .RE .TP 8 .BI XFaces.update: " " How often to check for new mail in seconds. The default is 60. .TP 8 .B XFaces.volume: The volume at which to play sounds. The default is 33. .TP 8 .B 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) .TP 8 .BI XFaces.noMailImage: " " The image to use when you have no mail. The default is "nomail". The \fBimagePath\fI is used to locate this file. .TP 8 .BI XFaces.noMailSound: " " The sound to use when you have no mail. The default not to play a sound with no mail. The \fBsoundPath\fP is used to locate this sound. .TP 8 .BI XFaces.lookupHostname: " " If this resource is \fBTrue\fP then the host name part of the from address will be looked up and translated to the real hostname. The default value is \fIFalse\fP. .TP 8 .BI XFaces.keepOrder: " " This boolean resource controls the image ordering in faces. For performance reasons the default is \fIFalse\fP. When scripts are being run you will usually want to specify this as \fITrue\fP. .TP 8 .BI XFaces.compressImages: " " Only show each image once in the image display. The default is \fITrue\fP. When scripts are being run you will usually want to specify this as \fIFalse\fP. .TP 8 .BI XFaces.useSound: " " Play sounds. The default is \fITrue\fP. A user can disable sounds for his XFaces by setting this resource to \fIFalse\fP in his resources. .TP 8 .BI XFaces.useShape: " " Use shaped images if available. This will also cause the background of the \fIXFaces\fP main window to become transparent where there is no image. This defaults to \fITrue\fP. .TP 8 .BI XFaces.useCommands: " " This resource tells \fIXFaces\fP if it needs to search for shell commands to run in addition to image and sounds. The default is \fIFalse\fP. .TP 8 .BI XFaces.useContentLength: " " 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. .TP 8 .BI XFaces.shapeBorders: " " This resource, when set to \fITrue\fP will cause the borders of the Label widgets to be \fIshaped out\fP. The default is \fITrue\fP. .TP 8 .BI XFaces.shapeInternal: " " This resource when set to \fITrue\fP will cause the internal width and height margins of the Label widgets to be \fIshaped out\fP. The default is \fITrue\fP. .TP 8 .BI XFaces.closeness: " " This resource controls how close a color must come to the actual color for the XPM library to accept it. The default is \fI40000\fP. .TP 8 .BI XFaces.imageTypes: " " 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: .PP .RS 8 .TP 8 .B xpm-shaped This is a shaped color image. Shaped xpm files should be named \fIface-shape.xpm\fP. .TP 8 .B xpm This is a non shaped color image. These files should be named \fIface.xpm\fP. .TP 8 .B xbm-shaped This a an monochrome shaped image. The image file and mask are stored in separate files called \fIface-shape.xbm\fP for the image data and \fIface-shape.xbm-mask\fP for the shape mask. .TP 8 .B xbm This is a non shaped monochrome image. These files should be called \fIface.xbm\fP. .RE the default value for this resource is: .PP .RS 12 \fIxpm-shape:xpm:xbm-shape:xbm\fP .RE .TP 8 .BI XFaces.imageSearch: " " .TP 8 .BI XFaces.soundSearch: " " .TP 8 .BI XFaces.commandSearch: " " 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: .PP .RS 12 [ []] .RE .RS 8 .PP The \fI\fP is currently ignored for the \fBsoundSearch\fP resource. Both the \fI\fP and the are (except if you use the \fIfacedb\fP search) for the \fBcommandSearch\fP resource. If the \fI\fP is empty then the list in the \fBimageFormats\fP resource is used. If the \fI\fP is empty then the \fBfacedbPath\fP is used for \fIfacedb\fP searches for both sounds and images and one of the \fBsoundPath\fP or \fBimagePath\fP is used for the other search types. .PP The valid search types are: .TP 8 .B beforeImage The \fBbeforeImageBindings\fP resource is used as a set of regular expression to match lines in the mail header. .B beforeSound The \fBbeforeSoundBindings\fP resource is used as a set of regular expression to match lines in the mail header. .B beforeCommand The \fBbeforeCommandBindings\fP resource is used as a set of regular expression to match lines in the mail header. .TP 8 .B resource The user name and host name are looked up in the X resources for a match. The resources attempted are: .PP .RS 12 XFaces.\fI\fP.user@host .br XFaces.\fI\fP.user .br XFaces.\fI\fP.host .RE Where type is one of: \fBimage\fP, \fBsound\fP, \fBcommand\fP. .TP 8 .B u@h The user name and host name is combined and looked for as a file name. The names attempted are: .PP .RS 12 [path]user@host .br [path]user .br [path]host .RE .TP 8 .B facedb This is the search that is used in Rich Burridge's \fIfaces\fP program. The search attempts the following for the address liebman@zod.clark.net: .PP .RS 12 [path]/net/clark/zod/liebman .br [path]/net/clark/zod/liebman/face .br [path]/net/clark/liebman .br [path]/net/clark/liebman/face .br [path]/net/liebman .br [path]/net/liebman/face .br [path]/MISC/liebman .br [path]/MISC/liebman/face .br [path]/net/clark/zod/unknown .br [path]/net/clark/zod/unknown/face .br [path]/net/clark/unknown .br [path]/net/clark/unknown/face .br [path]/net/unknown .br [path]/net/unknown/face .br [path]/MISC/unknown .br [path]/MISC/unknown/face .RE .TP 8 .B x-face This looks for an \fBX-Face:\fP header and extracts a 48 pixel by 48 pixel monochrome image. .TP 8 .B afterImage The \fBafterImageBindings\fP resource is used as a set of regular expression to match lines in the mail header. .TP 8 .B afterSound The \fBafterSoundBindings\fP resource is used as a set of regular expression to match lines in the mail header. .TP 8 .B afterImage The \fBafterCommandBindings\fP resource is used as a set of regular expression to match lines in the mail header. .PP The default value of the \fBimageSearch\fP resource is: .RS 12 \fIbeforeImage\fP\\n\\ .br \fIresource\fP\\n\\ .br \fIfacedb\fP\\n\\ .br \fIx-face\fP\\n\\ .br \fIafterImage\fP .RE The default value of the \fBsoundSearch\fP resource is: .RS 12 \fIbeforeImage\fP\\n\\ .br \fIresource\fP\\n\\ .br \fIfacedb\fP\\n\\ .br \fIafterImage\fP .RE The default value of the \fBcommandSearch\fP resource is: .RS 12 \fIbeforeImage\fP\\n\\ .br \fIresource\fP\\n\\ .br \fIafterImage\fP .RE .RE .TP 8 .BI XFaces.beforeImageBindings: " " .TP 8 .BI XFaces.afterImageBindings: " " .TP 8 .BI XFaces.beforeSoundBindings: " " .TP 8 .BI XFaces.afterSoundBindings: " " .TP 8 .BI XFaces.beforeCommandBindings: " " .TP 8 .BI XFaces.afterCommandBindings: " " 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: .PP .RS 12 \fI <:>