XBUFFY(1)
πΈ NAME πΈ
xbuffy β yet another biff for the X Window System π
β¨ SYNOPSIS β¨
xbuffy [X toolkit options] [-help] [-version] [-horiz] [-silent] [-poll
seconds] [-header seconds] [-acmd soundfile] [-nobeep] [-nohighlight]
[-names] [-orig] [-priority priority] [-command command] [-shortnames]
[-mail <mailbox files...>] [-news <newsgroup names...>]
π DESCRIPTION π
Xbuffy is based on Xmultibiff by John Reardon. (Yes, the family tree goes way back, we respect our elders π«Ά)
Xbuffy keeps track of multiple mailboxes. You can either specify mailbox files on the command line, in a Xresources file, in a text configuration file, or set your MAILPATH environment variable (a colon separated list of files). It will display the number of new messages in each mail file in a box. You can clear the reverse video in a box by clicking on the box with Button 3. Iconic behavior honestly π
Another key feature of xbuffy is that it will use NNTP to watch newsgroups in the same way it watches mailboxes. You can also specify newsgroups on the command line, in Xresources, in a text configuration file (the same file can specify both mailboxes and newsboxes), or set your NEWSPATH environment variable using the same format as the MAILPATH environment variable. One girl, two jobs, no complaints π
By specifying certain command line options and/or Xresources, xbuffy can show the From and Subject lines in each box. It can also invoke shell commands on button clicks. Each box can be configured differently by using a boxfile. 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. Short, sweet, we love a quick exit β¨-versionβ Print the current version and exit.-pollsecs β How often the mailbox files are polled for new mail. If this is not specified, it will use theMAILCHECKenvironment variable. (default:60)-headersecs β This will display theFrom:andSubject: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 is0, 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 from xpbiff. π¦-fillβ Makes all the boxes the same size. Matching outfits for everyone, periodt π-centerβ Centers the name of the box in the box. This option turns on the fill option.-acmdsound command β This will run a command instead of ringing the bell when new mail arrives. For example, you couldcat meow >/dev/audio. This option could also be used to automatically open a mail reader when new mail arrives. Obsessed with this one π±-horizβ This will line up the boxes horizontally (default: vertical)-nobeepβ This will disable the beep when new mail arrives. Peace and quiet, lowkey self care πΈ-silentβ Ignore all beep or audio commands. (i.e. be silent)-nohighlightβ This will disable the highlighting of the box in case of new mail.-boxfilefilename β The name of a file containing configuration information for the boxes. The boxfile is an alternative way of specifying what to watch. The boxfile also allows each box to have different polltime, headertime, etc. The main character of configuration files fr fr π-origModeβ This will show all 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.-prioritypriority β Nice level at which xbuffy and its child processes will run.-commandcommand β This is the default command that is to be executed when Button 2 is pressed on a box.- X Options β Standard X windows options (e.g.
-fn,-display, etc.)
ποΈ FILES ποΈ
If nothing to look at is given at the command line, it will try to open $HOME/.xbuffyrc
π ENVIRONMENT π
The names and purpose of the some of the following environment variables were borrowed from Bash, the GNU Shell. Respect to the ancestors π«Ά
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, if nothing to look at was given and no$HOME/.xbuffyrcexists.NEWSPATHβ This is a colon separated list of newsgroups to monitor, if nothing to look at was given and no$HOME/.xbuffyrcexists.NNTPSERVERβ This is the name of the NNTP server to use for news boxes.
β X DEFAULTS β
The application class is XBuffy. Almost all the arguments above can be set in the X resource database, allowing for one-time configuration and eliminating long command lines. The environment variables described above take precedence over any X resources that are specified. Also, any command line arguments take precedence over both X resources and environment variables. Precedence hierarchy, we love a clear power ranking π
π¦ BOXFILE FORMAT π¦
The boxfile contains configuration information for each box. Any line that begins with '#' is considered a comment and is ignored. The definition of a box begins with the keyword box followed by the filename or newsgroup for that box. All subsequent lines are then used to configure that box until either another box command or the end of file. Note that these options are NOT case sensitive.
The following are settable on a per box basis by using the boxfile option (note that the boxfile may also be set in the Xresources with the resource Xbuffy.boxfile: <filename> and if nothing it given at the command line, it tries to read $HOME/.xbuffyrc).
When using a boxfile, only the box line is required. All options that are not given in the boxfile will default to the command line (or built in) value.
boxfilename β The filename or newsgroup for this box. This also marks the beginning of a box definition. π¬titleboxtitle β The title that you want for this box. This will override theshortnameorlongnameoption.mailboxβ Specify that the box is a mailbox (a file). If neithermailboxornewsboxis specified,mailboxis the default.newsboxβ Specify that the box is a newsbox (a NNTP newsgroup).checkfileβ Specify to show the kilobytes of the given file. (Useful for watching for mail in other accounts than the one running xbuffy.)origModeβ origMode will make Xbuffy try to act like Xmultibiff and count ALL messages instead of just NEW message.newModeβ newMode will make Xbuffy count only new messages (this is the default).nobeepβ This will disable the beep (or sound command) when new mail arrives in the specified mailbox to be counted.beepβ This will enable the beep (or sound) when new mail arrives in the specified mailbox to be counted.nohighlightβ This will disable the highlighting of the box in case of new mail.highlightβ This will enable the highlighting of the box in case of new mail. This is the default.shortnameβ This will cause the specified box to be prefaced with the filename.longnameβ This will cause the specified box to be prefaced with a full path name.audiocommand string β Set to the command string to be used automatically when new mail arrives.polltimesecs β Set to the time (in seconds) in between polling the box.headertimesecs β Set to the time (in seconds) to display the header when new things arrive.commandcommand string β Specifies a UNIX shell command to be executed byshwhen the middle mouse button is pushed in a box. Take care to escape characters correctly. β οΈlednum β Specifies a keyboard led to flash when new mail arrives. This is a number between1and3. (1- NumLock,2- CapsLock or3- ScrollLock.)
NOTE: This is only available on LINUX and only if compiled with --enable-led
The following resources are settable on a per application basis in the Xresources:
horizβ Set toTRUEorFALSE. Same as the-horizoption.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 xbuffy to do the same thing from both the command-line and X resources. Although, for maximum flexibility on a per-box basis, I suggest using a boxfile.
The following example will watch 2 mailboxes in a home directory:
% xbuffy -mail ~/box1 ~/box2 &
boxfile:
box ~/box1
box ~/box2
The following example will watch a mailbox and a newsgroup:
% xbuffy -mail /usr/spool/mail/you -news comp.windows.x &
boxfile:
box /usr/spool/mail/you
box comp.windows.x
newsbox
π«Ά GRATITUDE π«Ά
Thanks to John Reardon for writing the original Xmultibiff and Xmultibiff 2.0. Xbuffy is a modified version of Xmultibiff 2.0 (although the code is looking less and less similar everyday). Growth is beautiful π¦
π BUGS π
Sometimes buffy detects a change in the mailbox and reports new mail before the mail is finished being delivered. This can (will) be fixed when buffy learns hows to deal with file locking. Not her fault, she's doing her best π
There is a bug with the NNTP stuff that isn't really Buffy's fault. Most versions of the NNTP server will not dynamically update the high message number (you must disconnect from the server and re-connect to get a new high message). If your server is running one of these versions of NNTP then you will not get told of new articles in your newsboxes. The way that the server is the problem, not the girl π
π AUTHOR π
- xbuffy: Bill Pemberton,
wfp5p@virginia.EDU - xmultibiff: John Reardon, Midnight Networks Inc.,
badger@midnight.com
Okay bestie that's the whole page π this one's from the General Commands Manual, xbuffy section 1, dated 01/31/95 β the vintage is part of the charm, no cap β¨ππ¦
π¦ where this page comes from
- debian bookworm: xbuffy 3.3.bl.3.dfsg-10+b2
- debian trixie: xbuffy 3.3.bl.3.dfsg-11
- ubuntu jammy: xbuffy 3.3.bl.3.dfsg-10build1
- ubuntu noble: xbuffy 3.3.bl.3.dfsg-10build3
- ubuntu questing: xbuffy 3.3.bl.3.dfsg-11
- ubuntu resolute: xbuffy 3.3.bl.3.dfsg-12
- ubuntu stonking: xbuffy 3.3.bl.3.dfsg-12
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms