---
name: "xlbiff"
section: "1x"
platform: "linux"
package: "xlbiff"
version: "4.1-7+b2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/xlbiff/1x"
---

# xlbiff(1x)

mailbox message previewer for X

## NAME

xlbiff - mailbox message previewer for X

## SYNOPSIS

**xlbiff** \[ *-option* ... \]

## DESCRIPTION

The *xlbiff* program lurks in the background, watching your mailbox file, waiting for new mail.  When mail arrives, it invokes the MH [*scan*(1)](/scan/1.md) 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.

## OPTIONS

*Xlbiff* accepts all of the standard X Toolkit command line options along with the additional options listed below:

- **-help**

  This option indicates that a brief summary of the allowed options should be printed on standard output.

- **-bottom**

  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.

- **+bottom**

  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.

- **-resetSaver**

  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.

- **+resetSaver**

  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).

- **-ledPopdown**

  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.

- **+ledPopdown**

  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)](/system/3.md) 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)](/popen/3.md)  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:

  ```
           #!/bin/sh
           NEWSIZE=`wc -c <$1`
           echo $NEWSIZE
           if [ $NEWSIZE -ne $2 ]; then
               if [ $NEWSIZE -eq 0 ]; then
                   exit 2
               else
                   exit 0
               fi
           fi
           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.

## RESOURCES

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.

## ACTIONS

*Xlbiff* provides the following actions for use in event translations:

- **popdown()**

  This action causes the window to vanish.

- **exit()**

  This action causes  *xlbiff* to exit.

The default translations are

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

## ENVIRONMENT

- **DISPLAY**

  is used to get the default host and display number.

## FILES

- /usr/spool/mail/*username*

  default mail file to check.

## SEE ALSO

*X*(1), [*scan*(1)](/scan/1.md)

## BUGS

specifying dimensions in -geometry causes badness.

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

## AUTHOR

Ed Santiago, esm@pobox.com

## ACKNOWLEDGEMENTS

*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 (gildea@expo.lcs.mit.edu) for the many, many  contributions that made *xlbiff* grow from a midnight hack to a more mature product.
