xlbiff(1) mailbox message previewer for X


xlbiff [ -option ... ]


The xlbiff program lurks in the background, watching your mailbox file, waiting for new mail. When mail arrives, it invokes the MH scan(1) command and pops up a window with the results. Clicking the left mouse button anywhere in this window makes it go away. The window will also disappear if iconified or if the mailbox size drops to zero.


Xlbiff accepts all of the standard X Toolkit command line options along with the additional options listed below:
This option indicates that a brief summary of the allowed options should be printed on standard output.
This option tells xlbiff to realize/unrealize() the output window instead of using XtPopup/down(). This has the effect of causing the window manager to reposition the window each time it pops up, and is useful for when you specify negative Y coordinates, ie, at the bottom of the screen. Running xlbiff in this situation without -bottom would cause new lines to run off the bottom edge of the screen.
Opposite of -bottom.
-file filename
This option specifies the name of the file which should be monitored. By default, it watches /usr/spool/mail/username, where username is your login name.
-rows height
This option specifies the maximum height, in lines of text, of the xlbiff window. The default is 20.
-columns width
This option specifies the maximum width, in characters, of the xlbiff window. The default is 80.
If this option is set, xlbiff will reset the screen saver when new mail comes in. This is useful if you're doing something near your workstation but not on it.
Opposite of -resetSaver.
-update seconds
This option specifies the frequency in seconds at which xlbiff should update its display. The default is 15 seconds.
-fade seconds
Number of seconds to wait before popping window back down. This option can be used to monitor events of non-lasting importance, such as syslog or UUCP queues. The default value of 0 disables the fade option.
-led ledNum
This option specifies a keyboard LED to light up when there is mail waiting in the file. The default is zero (do not light a LED).
This option indicates that the LED should be turned off when xlbiff is popped down. Ordinarily the LED stays lit to remind one of awaiting mail. This option has no effect if the -led option is disabled.
Opposite of -ledPopdown.
-refresh seconds
This option specifies the number of seconds to wait before re-posting the mail window after you acknowledge it, and it still contains the same mail. The default is 0 (no refresh). A useful value for this is 1800 (30 minutes).
-mailerCommand command
Specifies the command to invoke when the the mailer() action is activated, eg, "xterm -e elm" or "inc". By default this is bound to the second mouse button. Invoking this action will pop down the main window. When the command exits, it will pop up again. Due to mailbox consistency considerations, the mailerCommand should not exit before it is finished with the mailbox, i.e. it should not be run in the background.

There is no default mailerCommand.

-scanCommand command
Specifies a shell command to be executed to list the contents of mailbox file. The specified string value is used as the argument to a system(3) call and may therefore contain i/o redirection. The command's stdout is used to generate the window. Internally, the command is generated as

              sprintf(buf, scanCommand, file, columns)

so a %s and %d respectively in scanCommand will generate the values of file and columns. The default scanCommand is

                scan -file %s -width %d

-checkCommand command
Specifies a shell command to be executed to check for new mail (or some other condition) rather than simply examining the size of the mail file. The specified string value is used as the argument to a popen(3) call, and the output generated is important. Like xbiff, an exit status of 0 indicates that a change in condition demands a new evaluation of scanCommand and subsequent popup, 1 indicates no change in status, and 2 indicates that the condition has been cleared and the xlbiff window should pop down. By default, no shell command is provided.

This option may be useful to monitor logins (by checking update times of /etc/utmp), when using POP or other custom maildrop mechanisms, and so forth.

Similarly to scanCommand, the checkCommand is generated internally as

             sprintf(buf, checkCommand, file, previous)

previous is the numeric value output by the last time checkCommand was run, or zero the first time. This is useful for allowing the checkCommand to maintain state in a primitive fashion. For instance, a checkCommand such as

           compare_size %s %d

would "do the right thing" if compare_size were a script such as:

         NEWSIZE=`wc -c <$1`
         echo $NEWSIZE
         if [ $NEWSIZE -ne $2 ]; then
             if [ $NEWSIZE -eq 0 ]; then
                 exit 2
                 exit 0
         exit 1

The author of xlbiff uses this facility to keep track of several maildrops with one command. See the Bcheck and Bscan scripts, included.

-volume percentage
This option specifies how loud the bell should be rung when new mail comes in.

The following standard X Toolkit command line arguments are commonly used with xlbiff:

-display display
This option specifies the X server to contact.
-geometry +x+y
This option specifies the preferred position of the scan window.
-bg color
This option specifies the color to use for the background of the window.
-fg color
This option specifies the color to use for the foreground of the window.
-xrm resourcestring
This option specifies a resource string to be used. This is especially useful for setting resources that do not have separate command line options.


The application class name is XLbiff. It understands all of the core resource names and classes as well as:
bottom (class Bottom)
Same as the -bottom option.
file (class File)
Same as the -file option.
mailerCommand (class MailerCommand)
Same as the -mailerCommand option.
scanCommand (class ScanCommand)
Same as the -scanCommand option.
checkCommand (class CheckCommand)
Same as the -checkCommand option.
resetSaver (class ResetSaver)
Same as the -resetSaver option.
update (class Interval)
Same as the -update option.
fade (class Fade)
Same as the -fade option.
columns (class Columns)
Same as the -columns option.
rows (class Rows)
Specifies the maximum height, in lines, of the xlbiff window. The default is 20.
led (class Led)
Same as the -led option.
ledPopdown (class LedPopdown)
Same as the -ledPopdown option.
refresh (class Refresh)
Same as the -refresh option.
sound (class Sound)
Specify a command to be run in place of a bell when new mail arrives. For example, on a Sun Sparc you might use:

 *sound: /usr/demo/SOUND/play -v %d /usr/demo/SOUND/sounds/doorbell.au

The command is generated internally with sprintf, so the characters ``%d'' will be replaced with the numeric value of the volume resource.

volume (class Volume)
Same as the -volume option.


Xlbiff provides the following actions for use in event translations:
This action causes the window to vanish.
This action causes xlbiff to exit.

The default translations are

        <Button1Press>:  popdown()
        <Button3Press>:  exit()


is used to get the default host and display number.


default mail file to check.


specifying dimensions in -geometry causes badness.

The led option does not work on Suns before SunOS 4.1/X11R5.


Ed Santiago, [email protected]


Xlbiff took shape around the xgoodbye sample program in the O'Reilly X Toolkit Intrinsics Programming Manual. A lot of code was stolen from xbiff, including this man page. Thanks also to Stephen Gildea ([email protected]) for the many, many contributions that made xlbiff grow from a midnight hack to a more mature product.