tkbiff's GUI

All of the tkbiff defaults can be changed. This page describes most of the default behavior. Some things don't need to be said - such as how scrollbars work or that buttons appear sunken when you push on them. Yes, even these things can be changed if you really want.

Checking for New Mail

tkbiff periodically checks for new mail. Pressing <Return> makes tkbiff check when it is otherwise idle. <Shift-Return> rereads the configuration file before checking - good if you're testing new configurations. Changing how long to wait before checking for new mail is described in the tkbiff API.

Announcements

The announce_new_msg procedure executes actions upon arrival of a new message. By default it plays a sound clip. (On UNIX, it also prints you have new mail from ....)

Change the action by editing the announce_new_msg procedure. For example, to suppress the you have new mail output, simply remove the line at the beginning of the procedure that produces the output.

Sounds are controlled by matching against a part of the message (usually the sender). If a match occurs, the play procedure is called. play takes a sound name and an optional argument of a volume from 0 to 100. The default volume is 50. Note that some systems may not support or may override requests for a specific volume.

If the sound name does not have a leading directory, several default directories are searched. Override the default directories in which to search for audios by defining the environment variable AUDIOPATH. (See the init procedure for an example.) The path can also be changed at configure time - an appropriate step when installing tkbiff site-wide. (See the INSTALL file.)

WindowsThe play command calls the win_audio procedure. win_audio assumes that the sound is known to the system. That is, if you can double click on the sound icon from the Windows desktop and hear it play, win_audio will be able to play it, too.
MacOSThe play command calls the mac_audio procedure. mac_audio assumes that the sound is either a system sound or that opening the sound file causes it to play. You can use a tool such as SoundApp to do this. (Just open or drag-and-drop the sound on SoundApp and select Convert.)
UNIXThe play command calls tkbiff_audio, an external program that invokes the right sound player for your particular system. On UNIX, you can see the default directories by executing the shell command tkbiff_audio -defaultpath.

On systems which understand X and remote shells, if tkbiff is running on a different host from which it is displaying, tkbiff_audio executes a remote shell back to the local host so that the sounds can be heard at the same host where the display is. (Of course, you must be able to use your remote shell (rsh, ssh, etc) without a password. See the man page for your remote shell for more info.) The variable audio(remotecmd) should contain the full path to tkbiff_audio on the remote system. This is necessary since tkbiff_audio is unlikely to be on the primitive path provided by a remote shell. If tkbiff cannot deduce it automatically, you can define audio(remotecmd) at runtime with the flag -audiorcmd or you can define it in your configuration file.

Sound generation is on by default. <s> toggles the sound off and on. (I find it pleasant to temporarily disable the sound while I'm on conference calls - that way, when things get boring, I can still learn about new mail without disturbing anyone else.)

Messages do not have to be announced. This can be done by removing any action after matching them. Similarly, it is possible to suppress particular messages from displaying on the screen. This is done by adding similar match-and-execute code in the command prep_new_msg. (This automatically suppresses announcements as well.) See the configuration file for examples.

Viewing Messages

This section describes the default keyboard bindings. If you don't like the bindings, change them by editing the configuration file. Notation: <1> means mouse button 1, <2> means mouse button 2, etc. (If all you have is one mouse button, then it's <1>.) Other keys are indicated using the key symbol name - i.e., <Space> refers to the space key.

UNIX

When unread mail exists, tkbiff displays a list of senders and subjects in the main window. Clicking <1> on a message in the main window brings up the body of the message in a message window. Clicking again on the same message in the main window makes the message window go away.

If the message is long enough, a scrollbar is provided. The keyboard can also be used scroll. <space> pages forward while <delete> and <backspace> page backwards. (The main window can also be scrolled this way.)

<1> is useful if you want to read the message. Sometimes you are pretty sure the message can be ignored but you just want to take a quick peek. Do this by clicking on the main window with <2> which brings up a message window only as long as <2> is held down.

<1> and <2> display the sender in the title bar and the subject and body in the message window itself. Holding down the shift key while clicking <1> or <2> causes the window to include To:, Cc:, Resent-from: and Date:. Usually these are of little value, but occasionally they are significant. For example, To: and Cc: allow you to quickly see if a message was sent to you personally or via a list.

Besides using <1> or <2>, message windows can be removed from the display by using the window manager's delete operation. This is convenient if you have the delete operation bound to a button in the message window's title bar, or even better, bound to a keystroke.

<3> removes a message from the main window. This is useful when you can forget about the message until such time as you read it with your regular mail reader. With no messages in the main window, <3> iconifies the main window. If your window manager can iconify by unmapping, this main window disappears entirely. The main window reappears when mail arrives.

Parts of the message may be copied to the clipboard in the usual way. On most systems, pressing <1> and dragging causes the text to be selected and copied to the clipboard.

Windows

When unread mail exists, tkbiff displays a list of senders and subjects in the main window. Clicking <1> on a message in the main window brings up the body of the message in a message window. Clicking again on the same message in the main window makes the message window go away.

If the message is long enough, a scrollbar is provided. The keyboard can also be used scroll. <space> pages forward while <delete> and <backspace> page backwards. (The main window can also be scrolled this way.)

<1> is useful if you want to read the message. Sometimes you are pretty sure the message can be ignored but you just want to take a quick peek. Do this by clicking on the main window with <Alt-1> which brings up a message window only as long as <Alt-1> is held down.

<1> and <Alt-1> display the sender in the title bar and the subject and body in the message window itself. Holding down the shift key while clicking <1> or <Alt-1> causes the window to include To:, Cc:, Resent-from: and Date:. Usually these are of little value, but occasionally they are significant. For example, To: and Cc: allow you to quickly see if a message was sent to you personally or via a list.

Besides using <1> or <Alt-1>, message windows can be removed from the display by clicking the delete window button in the message window's title bar.

<2> removes a message from the main window. This is useful when you can forget about the message until such time as you read it with your regular mail reader. With no messages in the main window, <2> iconifies the main window. If your window manager can iconify by unmapping, this main window disappears entirely. The main window reappears when mail arrives.

Parts of the message may be copied to the clipboard in the usual way. On most systems, pressing <1> and dragging causes the text to be selected and copied to the clipboard.

MacOS

When unread mail exists, tkbiff displays a list of senders and subjects in the main window. Clicking <1> on a message in the main window brings up the body of the message in a message window. Clicking again on the same message in the main window makes the message window go away.

If the message is long enough, a scrollbar is provided. The keyboard can also be used scroll. <space> pages forward while <delete> and <backspace> page backwards. (The main window can also be scrolled this way.)

<1> is useful if you want to read the message. Sometimes you are pretty sure the message can be ignored but you just want to take a quick peek. Do this by clicking on the main window with <Command-1> which brings up a message window only as long as <Command-1> is held down.

<1> and <Command-1> display the sender in the title bar and the subject and body in the message window itself. Holding down the shift key while clicking <1> or <Command-1> causes the window to include To:, Cc:, Resent-from: and Date:. Usually these are of little value, but occasionally they are significant. For example, To: and Cc: allow you to quickly see if a message was sent to you personally or via a list.

Besides using <1> or <Command-1>, message windows can be removed from the display by clicking the delete window button in the message window's title bar.

<Control-1> removes a message from the main window. This is useful when you can forget about the message until such time as you read it with your regular mail reader. With no messages in the main window, <Control-1> iconifies the main window. If your window manager can iconify by unmapping, this main window disappears entirely. The main window reappears when mail arrives.

Parts of the message may be copied to the clipboard in the usual way. On most systems, pressing <1> and dragging causes the text to be selected and copied to the clipboard.

Fonts

To make tkbiff unobtrusive, the main window font is very small. It is occasionally useful to increase the font temporarily - such as when demoing tkbiff to several people crowded around the monitor. <f> toggles between the default font and an alternate (much larger) font. You can change the default and alternate fonts permanently by editing the variables main_font and main_font_alt and restarting tkbiff.

In contrast to the tiny font used by the main window, other tkbiff windows use more traditionally-sized fonts. These can also be changed editing the configuration file.

The fonts used by the message windows should be fixed-width. (tkbiff doesn't care but some mail messages look poor with variable-width fonts.) All other fonts (message windows, help window, etc) can be variable width.

Help

Both <?> and <h> raise and lower a help window containing a brief description of how to use tkbiff. Certain dynamic settings that would otherwise be hard to know are also reported in the help window. The help window is dynamically updated to reflect changing attributes, even if the window is displayed.

Verbose Mode

If tkbiff seems to be hanging, try running it in verbose mode. (Add -verbose to the command line, or after it begins running, press Meta-z (UNIX), Alt-z (Windows) or Command-z (MacOS).)

In verbose mode, a trace window is provided into the internals of tkbiff. This is presently ad hoc and likely to remain so. Nonetheless, it can be exceedingly useful. If tkbiff appears unusually slow, you can watch what it is doing. Or if tkbiff appears hung, you can raise the trace window and find out what tkbiff is waiting for. If the trace window is down, only the last message is available. (However, this is invariably enough.)

To send additional strings to the trace window, add calls to the configuration file that look like this:

    verbose "whatever"

tkbiff's verbose mode is so informative that tkbiff is a handy tool just to check out your IMAP or POP server when your other mail clients start misbehaving.

The verbose output can be logged to a file by using the -verbosefile command-line flag or assigning a filename to the verbosefilename variable in the configuration file. When using a file for this purpose, output is still logged to stdout or the trace window.

Esoteric Behavior

Monitoring Mail That Has Been Read

By default, tkbiff displays and announces only new mail. tkbiff also classifies mail as unread and old mail. unread means the mail has been read into a mail reader but not actually displayed to the user. (These distinctions are necessary because some users read their mail and then save it back to their spool file or mail server. At the same time, it is also useful to be able to run tkbiff on mail archives and show all of the existing mail.)

The settings may be permanently changed by editing the configuration file. The settings may be temporarily changed by pressing any of several keys, while in any tkbiff window.

<u>toggles display of unread messages.Suppressed by default.
<r>toggles display of read messages.Suppressed by default.
<n>toggles display of new messages.Displayed by default.

Main Window Behavior

By default, the main window is kept small. If more than five message arrive, a scrollbar is added. This maximum size can be changed by resizing the window. If the window is resized larger than needed, it shrinks back to the minimum size needed, but the resize request is remembered as a maximum window size. The size may be changed permanently by editing the configuration file.

Autoraise means that the main window is raised above any others when new mail arrives. By default, autoraise is on. Autoraise can be toggled on and off with <t> in any window. Autoraise can be permanently changed by editing the configuration file.

Autoscroll means that if the scrollbar is present and the last message is visible, the main window will automatically scroll so that new messages become visible. By default, autoscroll is on. Autoscroll can be toggled on and off with <a> in any window. Autoscroll can be permanently changed by editing the configuration file.

Autodeiconify means that the main window is automatically deiconified when new mail arrives. By default, autodeiconify is on. Autodeiconify can be toggled on and off with <d> in any window. Autodeiconify can be permanently changed by editing the configuration file.

Autoiconify means that the main window is automatically iconified when no mail appears in the main window. By default, autoiconify is off. Autoiconify can be toggled on and off with <i> in any window. Autoiconify can be permanently changed by editing the configuration file.

Initialization

The init procedure establishes initial defaults, such as:

These settings are not reevaluated if the configuration file is reread. If you edit this section of the configuration file, you must restart tkbiff for the new value to be used.



Go to
tkbiff homepage.
Go to tkbiff documentation.

Last edited: Thu Mar 18 12:34:04 EST 2004 by Don Libes