---
name: "WMMail"
section: "1x"
platform: "linux"
package: "wmmail"
version: "0.63a-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/WMMail/1x"
---

# WMMail(1x)

Window Maker Mail.app

## NAME

WMMail.app - Window Maker Mail.app

## SYNOPSIS

**WMMail *\[options ...\]* *\[\<pathname\>\]***

## DESCRIPTION

**WMMail.app** is a "mail-checker" like [**xbiff**(1x)](/xbiff/1x.md). It indicates the status of the user's mailbox by showing animated XPM icons when incoming mails are detected. Additionally, it can be configured to execute a program on incoming mail and/or on mouse double-clicks, and can provide a count of emails in the user's mailbox.

**WMMail.app** is based on **asmail**, a similar applet designed for the AfterStep window manager.  However, **WMMail.app** has been re-written to be compatible with the Window Maker Dock, i.e. **WMMail.app** can be dragged and dropped on (and off) the Dock dynamically.  It also uses a different config file format, more consistent with the one used by Window Maker.

To use **WMMail.app** with the Window Maker Dock, simply drag the **WMMail.app** icon to the Window Maker Dock.

## OPTIONS

- **-help, -h**

  Prints a help message

- **-quiet, -q**

  Suppress all error messages

- **-swallowed, -s**

  Show window as well as appicon (for swallowing with AfterStep)

- **\<pathname\>**

  Full path of defaults domain to use.  If none is specified, a series of paths are searched for this file.  See the *FILES* section for more information.

## CONFIGURATION FILE

The configuration file consist of a single PropList dictionary, which in turn is composed of several PropList key-value pairs. The recognized keys is:

- **DisableBeep (Yes\|No)**

  When set to \`Yes', **WMMail** won't make an audible signal when new mail is found.

- **DoubleClickTime (Int)**

  **WMMail** will consider two clicks a double click event if they arrive in less than 'DoubleClickTime' milliseconds appart from each other.

- **DisplayMessageCount (None\|NewOnly\|TotalOnly\|NewOverTotal)**

  *None*, no message count is displayed; *NewOnly*, only the new messages count is displayed; *TotalOnly*, only the total message count is displayed; *NewOverTotal*, the message count is displayed as 'New/Total'

- **DisplayColor (Color)**

  the string name of a color with respect to the screen associated with a colormap.  An RGB Device specification is identified by the prefix \`\`rgb:'' and conforms to the following syntax: rgb:\<red\>/\<green\>/\<blue\>, where each component is of the form *hhhh* where \`h' is a single hexadecimal digit. \`h' is scaled to 4 bits, \`hh' to 8, \`hhh' to 12 and \`hhhh' to 16 bits.  The forms \`#RGB', \`#RRGGBB', \`#RRRGGGBBB' and \`#RRRRGGGGBBBB' are also accepted. An RGB intensity specification is identified by the prefix \`\`rgbi:'' and conforms to the following syntax: rgbi:\<red\>/\<green\>/\<blue\>, where each componet is a floating point value between 0.0 and 1.0, inclusive.

- **DisplayFont (Font)**

  The font used for displaying the count information. \`Font' is a standard structured format for font names string. Since it probably contains \`\*' and or \`?', you have to enclose it in double quotes.

- **ExecuteOnNew (String)**

  The program (and arguments) to excecute when new mail is found.

- **ExecuteOnClick (String)**

  The program (and arguments) to excecute when a double click event is processed.

- **DisplayLocation (Coordinates)**

  Specifies the coordinates relative to the lower left corner where the *message count* is displayed.

- **Animations (Dictionary)**

  This dictionary consists in turn of three dictionaries: *Empty*, *Old* and *New*. Each of them can have two entries: *Delay* and *Frames*. *Delay* specifies the number of tenths of seconds to stop between each frame of the animation; *Frames* is an array that lists all the pixmaps in the animation. You have to specify the full path to the pixmaps. List the pixmaps in the order you want them to be shown. If you do not want an animation, list just one icon.

- **Mailboxes (Array)**

  Specifies all the mailboxes **WMMail.app** should monitor.  Each element of the array is dictionary that varies according to the mailbox type.  See the **Mailboxes** section.  The generic keys for each mailbox are *Name* (string), the name of current mailbox; *Type* (string), the type of the mailbox; *ExecuteOnUpdate* (string), the name of the program to execute when the mailbox status is updated; *UpdateInterval* (int), the number of seconds between updates; *Options* (dictionary), options specific to each mailbox type.

## MAILBOXES

**WMMail.app** can monitor several types of mailboxes, namely *mbox*, *mh*, *maildir*, *pop3* and *imap*. Each mailbox type takes different options:

- **mbox**

  *Path* (string), the path to the mailbox. *CheckTimeStampOnly* (Yes\|No), the state of the mailbox changes according to the following rules: no mailbox or empty mailbox, no mail; smaller than last time but non-zero, old mail; read after most recent write, old mail; no read after most recent write and same size as last time, no change; bigger than last time, new mail. If *CheckTimeStampOnly* is set to \`No', the status changes according to: no mailbox or empty mailbox, no mail; no new mails, old mail; same number of new mails or fewer, no change; more new mails than last time, new mail. *MailboxHasInternalData* (Yes\|No), if set to \`Yes' it means there's an "internal data" message stored in the mailbox and it should no be taken into account when computing the total mail count in the mailbox (IMAP daemons write this kind of message for bookkeeping purposes -- and yes, everyone hates them).  This option defaults to \`No'.

- **mh**

  *Path* (string), the path to the mailbox. The status changes according to: no folder or empty folder, no mail; no new mails, old mail; same number of new mails or fewer, no change; more new mails than last time, new mail.

- **maildir**

  *Path* (string), the path to the mailbox. The state is determined in the same way as for *mboxes*.

- **pop3**

  Not yet implemented.

- **imap**

  *Hostname* (string), the IMAP server.  *Username* (string), the username on the server.  *Password* (string), the password. *Folder* (string), the name of the folder.

## EXAMPLES

Here is an example of a configuration file.

```
{
  DisableBeep = No;
  DoubleClickTime = 250;
  DisplayMessageCount = None;
  DisplayColor = "#FFFFFF";
  DisplayFont = "-*-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*";
  DisplayLocation = (0, 10);
  ExecuteOnClick = "wterm -name mail -e mutt";
  ExecuteOnNew = "play ~/GNUstep/Library/WMMail.app/Sounds/doorbell.au";
  ExecuteOnNewOnce = No;
  Animations = {
    Empty = {
      Delay = 10;
      Frames = ("~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail1.xpm");
    };
    Old = {
      Delay = 10;
      Frames = ("~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail1.xpm");
    };
    New = {
      Delay = 2;
      Frames = (
        "~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail1.xpm",
        "~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail2.xpm",
        "~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail3.xpm",
        "~/GNUstep/Library/WMMail.app/Anims/NeXT/Mail2.xpm"
      );
    };
  };
  Mailboxes = (
    {
      Name = "Home";
      Type = mbox;
      UpdateInterval = 15;
      ExecuteOnUpdate = "/usr/bin/fetchmail";
      Options = {
        CheckTimeStampOnly = No;
        Path = "$(MAIL)";
      };
    },
    {
      Name = "MH Folder";
      Type = mh;
      UpdateInterval = 60;
      ExecuteOnUpdate = "";
      Options = {
        Path = "~bryan/Mail/inbox"
      };
    },
    {
      Name = "MailDir Folder";
      Type = maildir;
      UpdateInterval = 15;
      ExecuteOnUpdate = "";
      Options = {
        Path = "~bryan/MailDir";
      };
    },
    {
      Name = "School";
      Type = imap;
      UpdateInterval = 300;
      ExecuteOnUpdate = "";
      Options = {
        Hostname = "mailserver.school.edu";
        Username = "bryan";
        Password = "secret";
        Folder = "mail/INBOX";
      };
    }
  );
}
```

## FILES

- **~/GNUstep/Defaults/WMMail**

  **WMMail.app** defaults.

- **/etc/GNUstep/Defaults/WMMail**

  System wide defaults.

- **/usr/lib/GNUstep/Apps/WMMail.app/Anims**

  **WMMail.app**'s animations are installed here.

- **/usr/lib/GNUstep/Apps/WMMail.app/Sounds**

  **WMMail.app**'s sounds are installed here.

## ENVIRONMENT

- GNUSTEP\_USER\_ROOT

  specifies the initial path for the Defaults directory. "Defaults/" is appended to this variable to determine the actual location of the databases. If the varialbe is not set, it defaults to "~/GNUstep"

- GNUSTEP\_LOCAL\_ROOT

  specifies the location of the system-wide **local** GNUstep directory (this is useful, for example, in those cases where the system-wide location is really a network wide location). If this variable is empty, GNUSTEP\_SYSTEM\_ROOT is looked for.

- GNUSTEP\_SYSTEM\_ROOT

  specifies the location of the system-wide GNUstep directory. If this variable is empty, it defaults to /etc/GNUstep

## BUGS

POP3 is not supported (yet).

ExecuteOnNewOnce (previously AlwaysNewMailExecute) is broken.

ExecuteOnUpdate is broken.

With some weird, old combination of OS and X Window, e.g. Solaris with X11R5, SunOS with OpenWindows, etc., the WMMail application icon may not show up when the program is run. If this is the case for you, add the following line to your ~/GNUstep/Defaults/WMWindowAttributes: WMMail = { EmulateAppIcon = Yes; };

## VERSION

This man page is up-to-date for version 0.62 of **WMMail.app**.

## AUTHORS

**WMMail.app** is based on **asmail** for the AfterStep window manager (C) 1996, 1997, 1998 by Per Liden \<per@rsn.hk-r.se\> (http://www.rby.hk-r.se/~pt96pli/)

All modifications made to **asmail** to make it work with Window Maker and further development, (C) 1997, 1998, 1999 by Bryan Chan \<bryan.chan@utoronto.ca\>. **WMMail.app** is licensed through the GNU General Public License. Read COPYING for the complete license.

The NeXT-lookalike XPM icons are acquired from an **asmail** hack by Jon Leffert \<jbleffer@midway.uchicago.edu\>.

The notification sounds are acquired from xbiff++, an enhanced xbiff by Mike Wagner \<wagner@cadillac.siemens.com\> and Jamie Zawinski \<jwz@netscape.com\>.

**WMMail.app** also contains code from:

- **Window Maker (http://windowmaker.org/)**

  Alfredo K. Kojima (kojima@windowmaker.org)

- **Malaprop (http://www.sorted.org/~pete/wmaker)**

  Peter Bentley (pete@sorted.org)

- **GNU CC (http://fsf.varesearch.com/software/gcc)**

  Free Software Foundation, Inc.

This manpage was written by Marcelo Magallon \<mmagallo@debian.org\> for the Debian Project.  This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
