XMULTIBIFF(1) XMULTIBIFF(1) 02/21/94 NAME xmultibiff - multiple mailbox and newsgroup biff and reader SYNOPSIS xmultibiff [X toolkit options] [-help] [-version] [-horiz] [-poll seconds] [-header seconds] [-au sound file] [-nobeep] [-names] [-new] [-bc] [-shortnames] [-last number of messages] [-mail <mailbox files...>] [-news <newsgroup names...>] DESCRIPTION There are many things that separate this biff from all the other X biffs out there. Xmultibiff has the ability to keep track of multiple mailboxes and newsgroups and tell you how many unread messages are in each. It also acts as a mail and news reader. You can click and drag to whatever mail message or news article you want to see and have it pop-up in a separate shell window. You can either specify mailbox files and newsgroups on the command line, in a Xresources file, or set your MAILPATH and NEWSPATH environment variable (a colon separated list of files/newsgroups). There are many more customizable options to Xmultibiff. You can execute any shell command you specify for a box by clicking on mouse button 2 in the box. You can have it play a sound file when new mail comes in or have it make no sound at all. You can specify a name for any given box, and much more. Almost every option is configurable on a per-box basis. In general, it is a very extensible biff. Read on for details on what it can do. OPTIONS The following options are recognized: -help Print a brief help message and exit -version Print the current version and exit -poll secs How often the mailbox files are polled for new mail. If this is not specified, it will use the MAILCHECK environment variable. -header secs This will display the From: and Subject: lines from incoming mail messages in a popup window when button 1 is pressed in the box label. The mail header will also popup automatically for the amount of time indicated in secs when new mail arrives. If secs is 0, the mail header will not pop up when new mail arrives. Clicking in the popup window when mail arrives (if the argument is non-zero) will instantly popdown the window. This feature was borrowed - 1 - Formatted: November 14, 2024 XMULTIBIFF(1) XMULTIBIFF(1) 02/21/94 from xpbiff. -last num This enables display of, at most, num articles from any given box when the header window pops up. This only works when the header option is on. -au sound file This will simply cat a Sun audio file to /dev/audio instead of ringing the bell when new mail arrives. -horiz This will line up the boxes horizontally -nobeep This will disable the beep (or sound) when new mail arrives -new This will only show new (unread) messages in each mailbox. It has no effect on news groups. -names Will display the full pathname of all the mailboxes it is watching. -shortnames Will display the file names of all the mailboxes it is watching. -bc Enables backward compatibility. This will mean that the popup headers don't function like "menus" for previewing messages. X Options Standard X windows options (e.g. -fn, -display, etc.) ENVIRONMENT The names and purpose of the some of the following environment variables were borrowed from Bash, the GNU Shell. MAILCHECK This specifies the amount of seconds to wait in between polling for mail. MAILPATH This is a colon separated list of files to check for mail. NEWSPATH This is a colon separated list of newsgroups to monitor. X DEFAULTS The application class is XMultibiff. Almost all the arguments above can be set in the X resource database, allowing for one-time configuration and eliminating long command lines. The two environment variables described above take precedence over any X resources that are specified. Also, any command line arguments take precedence over - 2 - Formatted: November 14, 2024 XMULTIBIFF(1) XMULTIBIFF(1) 02/21/94 both X resources and environment variables. The following resources are settable on a per-box basis. When set with wildcards (for example, XMultibiff*new: TRUE) it will have the same effect as using the equivalent command line option (-new, in this case): new Set to TRUE or FALSE. This will cause only unread messages in the specified mailbox to be counted. nobeep Set to TRUE or FALSE. This will cause the specified box to not beep when new things arrive. name Set to TRUE or FALSE. This will cause the specified box to be prefaced with a name. shortname Set to TRUE or FALSE. This will cause the specified box to be prefaced with a full path name. audiofile Set to the path of a sun audio file. This will cause the specified box to play the specified audio file when new things arrive. polltime Set to the time (in seconds) in between polling the box. headertime Set to the time (in seconds) to display the header when new things arrive. last Set to the maximum number of messages that will pop up in the header window when new things arrive. command Specifies a UNIX shell command to be executed by sh when the middle mouse button is pushed in a box. Take care to escape characters correctly especially in the .Xdefaults file. The following resources are settable for each box, but they don't have command line equivalents: title Set the name of the specified box. This allows for customization of the names of the boxes. For example: XMultibiff*box1.title: foo This will set the box label to be "foo: <#messages>". The following resources are settable on a per application basis: - 3 - Formatted: November 14, 2024 XMULTIBIFF(1) XMULTIBIFF(1) 02/21/94 horiz Set to TRUE or FALSE. Same as the -horiz option. bc Set to TRUE or FALSE. Same as the -bc option. mailboxes Set to a colon separated list of mailboxes (files). This is the same as specifying files on the command line. newsboxes Set to a colon separated list of news groups. This is the same as specifying files on the command line. EXAMPLES The following examples demonstrate how to configure xmultibiff to do the same thing from both the command-line and X resources. Although, for maximum flexibility on a per-box basis, I suggest customizing your X resources in your .Xdefaults file, making sure to execute % xrdb -load ~/.Xdefaults after each modification, and then restarting xmultibiff. The following example will watch 2 mailboxes in a home directory: % xmultibiff -mail ~/box1 ~/box2 & .Xdefaults: XMultibiff*mailboxes: <home dir>/box1:<home dir>/box2 & Note: make sure to always specify an absolute pathname! The following example will watch a mailbox and a newsgroup: % xmultibiff -mail /usr/spool/mail/you -news comp.windows.x & .Xdefaults: XMultibiff*mailboxes: /usr/spool/mail/you XMultibiff*newsboxes: comp.windows.x For more detailed examples and instructions on how to specify different fonts for different boxes, titles for different boxes, and more customization than you could ever dream of, look in the "Examples" directory of this distribution. GRATITUDE Thanks to Bob Shaw for pointing out some bugs and feeding me many good ideas. Thanks to Mike Fleishner for designing such a cool xmultibiff icon. Thanks to Bill Pemberton for sending me his improvements (called "xbuffy") on parsing mail boxes (from Elm code) that allows the "new" option so that only new mail messages will be shown. Thanks to Gregory Gulik for allowing me to use the code he developed (nntplist.c) to provide the feature that - 4 - Formatted: November 14, 2024 XMULTIBIFF(1) XMULTIBIFF(1) 02/21/94 watches news groups via NNTP. Thanks to Michael Kinstrey for adding the "command" option. Thanks to Daryl Sayers and Jan Akalla for porting to SCO and SYSV. Thanks to Art Mellor for the original function to count the mail. Thanks to the GNU Project for the function to parse the MAILPATH environment variable (from Bash). Thanks to the authors of xpbiff which gave me most of the original code to extract the From and Subject lines from mail messages. BUGS The -au option cats a file to /dev/audio. This is a dangerous way to do it. If someone wants to improve this, please do. This is really a bizarre thing that will happen with X resources and not a bug, per se. Because the X resource file is passed through a pre-processor, there are symbols defined that may interfere with certain newsgroup names. For example, on a Sun, If I define: XMultibiff*newsboxes: alt.sys.sun.admin It will parse to alt.sys.1.admin because "sun" is #define'd to be "1" in the pre-processor. This will result in the error: 411 No such group You can get around this by doing "xrdb -Usun -load ~/.Xdefaults AUTHOR John Reardon, Midnight Networks Inc., badger@midnight.com - 5 - Formatted: November 14, 2024