summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alpine/mailpart.c9
-rw-r--r--doc/alpine.12
-rw-r--r--doc/tech-notes/tech-notes.txt12464
-rw-r--r--pico/browse.c41
-rw-r--r--pico/efunc.h6
-rw-r--r--pico/osdep/spell.c4
-rw-r--r--pico/search.c238
-rw-r--r--pith/filter.c4
-rw-r--r--pith/pine.hlp8
9 files changed, 12715 insertions, 61 deletions
diff --git a/alpine/mailpart.c b/alpine/mailpart.c
index b3b355a9..56ee8afa 100644
--- a/alpine/mailpart.c
+++ b/alpine/mailpart.c
@@ -2137,6 +2137,15 @@ display_attachment(long int msgno, ATTACH_S *a, int flags)
? a->body->subtype : "unk");
}
+ /* We are creating a temporary name. This is just a prefix. If you
+ * need the original name, use the save command, so if the prefix
+ * is too long, shorten it.
+ */
+ if (strlen(prefix) > 9){
+ prefix[9] = '-';
+ prefix[10] = '\0';
+ }
+
filename = temp_nam_ext(NULL, prefix, ext);
if(!filename){
diff --git a/doc/alpine.1 b/doc/alpine.1
index 61b2de5e..c295a453 100644
--- a/doc/alpine.1
+++ b/doc/alpine.1
@@ -295,6 +295,8 @@ uses the following environment variables:
.br
~/.pinerc Personal alpine config file.
.br
+~/.pine-crash Debug information useful to debug a crash.
+.br
~/.newsrc News subscription/state file.
.br
~/.mailcap Personal mail capabilities file.
diff --git a/doc/tech-notes/tech-notes.txt b/doc/tech-notes/tech-notes.txt
new file mode 100644
index 00000000..7b4a9664
--- /dev/null
+++ b/doc/tech-notes/tech-notes.txt
@@ -0,0 +1,12464 @@
+
+ Alpine Technical Notes
+
+ Version 2.19.5, February 2014
+
+Table of Contents
+
+ Introduction
+
+ * Design Goals
+ * Alpine Components
+
+ Background Details
+
+ * Domain Names
+ * RFC 2822 Compliance
+ * SMTP and Sendmail
+ * Internet Message Access Protocol (IMAP)
+ * Multipurpose Internet Mail Extensions (MIME)
+ * Folder Collections
+
+ Building and Installation
+
+ * Compile-time Options
+ * Including LDAP Functionality
+ * Including Kerberos 5 Functionality
+ * Other Alpine Compile-time Options
+ * IMAPd Compile-time Options
+ * Building the Alpine Programs
+ * Installing Alpine and Pico on UNIX Platforms
+ * Installing PC-Alpine
+ * Installing IMAPd
+ * Support Files and Environment Variables: UNIX Alpine
+ * Support Files, Environment Variables, and Registry Values:
+ PC-Alpine
+
+ Command Line Arguments
+
+ * Alpine
+ * Pico
+ * Pilot
+
+ Configuration and Preferences
+
+ * Alpine Configuration
+ * General Configuration Variables
+ * Configuration Features
+ * Hidden Config Variables and Features
+ * Retired Variables
+ * Tokens for Index and Replying
+ * Conditional Inclusion of Text for Reply-Leadin, Signatures, and
+ Templates
+ * Per Server Directory Configuration
+ * Color Configuration
+ * Index Line Color Configuration
+ * Role Configuration
+ * Filtering Configuration
+ * Scoring Configuration
+ * Other Rules Configuration
+ * Search Rules Configuration
+ * Patterns
+ * Configuring News
+ Configuration Notes
+ + Alpine in Function Key Mode
+ + Domain Settings
+ + Syntax for Collections
+ + Syntax for Folder Names
+ + Server Name Syntax
+ + Folder Namespaces
+ + What is a Mail Drop?
+ + Sorting a Folder
+ + Alternate Editor
+ + Signatures and Signature Placement
+ + Feature List Variable
+ + Configuration Inheritance
+ + Using Environment Variables
+ + SMTP Servers
+ + MIME.Types file
+ + Color Details
+ + S/MIME Overview
+ + Additional Notes on PC-Alpine
+
+ Behind the Scenes
+
+ * Address Books
+ * Remote Configuration
+ * Checkpointing
+ * Debug Files
+ * INBOX and Special Folders
+ * Internal Help Files
+ * International Character Sets
+ * Interrupted and Postponed Messages
+ * Message Status
+ * MIME: Reading a Message
+ * MIME: Sending a Message
+ * New Mail Notification
+ * NFS
+ * Printers and Printing
+ * Save and Export
+ * Sent Mail
+ * Spell Checker
+ * Terminal Emulation and Key Mapping
+
+ Introduction
+
+Design Goals
+
+ Throughout _Alpine_ development, we have had to strike a balance
+ between the need to include features which advanced users require and
+ the need to keep things simple for beginning users. To strike this
+ balance, we have tried to adhere to these design principles:
+
+ - The model presented to the user has to be simple and clear.
+ Underlying system operation is hidden as much as possible.
+ - It's better to have a few easily understood commands that can
+ be repeated than to have some more sophisticated command that
+ will do the job all at once.
+ - Whenever the user has to select a command, file name, address,
+ etc., the user should be given (or can get) a menu from which to
+ make the selection. Menus need to be complete, small, organized
+ and well thought out.
+ - _Alpine_ must provide immediate feedback for the user with
+ each operation.
+ - _Alpine_ must be very tolerant of user errors. Any time a user
+ is about to perform an irreversible act (send a message, expunge
+ messages from a folder), _Alpine_ should ask for confirmation.
+ - Users should be able to learn by exploration without fear of
+ doing anything wrong. This is an important feature so the user
+ can get started quickly without reading any manuals and so fewer
+ manuals are required.
+ - The core set of _Alpine_ functions should be kept to a minimum
+ so new users don't feel "lost" in seemingly extraneous commands
+ and concepts.
+
+ Just as there were goals relating to the look and feel of _Alpine_,
+ there were equally important goals having to do with _Alpine_'s
+ structure-the things that users never see but still rely on every time
+ they use _Alpine_. While _Alpine_ can be used as a stand-alone mail
+ user agent, one of its strongest assets is its use of the Internet
+ Message Access Protocol (IMAP) for accessing remote email folders. In
+ addition, _Pine_ (the predecessor of _Alpine_) was one of the first
+ programs to support the Multipurpose Internet Mail Extensions (MIME)
+ specification. With MIME, _Alpine_ users can reliably send any binary
+ file to any other person on the Internet who uses a MIME compliant
+ email program.
+
+ The decision to use IMAP and MIME reflects the importance of
+ interoperability, standardization and robustness in _Alpine_. As you
+ work with _Alpine_ more, you will see other features which reflect the
+ same values. For example, _Alpine_ enforces strict compliance with RFC
+ 2822, implements a strong mail folder locking mechanism and verifies a
+ process before overwriting any files (e.g. addressbook, expunging
+ messages).
+
+Alpine Components
+
+ If you have picked up the _Alpine_ distribution, then you already know
+ that _Alpine_ comes in a few different pieces. They are:
+
+ _Alpine_
+ The main code from which the _Alpine_ program is compiled.
+ _Pico_
+ _Pico_ is the name for the _Alpine_ composer. The _Pico_ code is
+ used in two ways: (1) it is compiled on its own to be a
+ stand-alone editor and, (2) it is compiled as a library for
+ _Alpine_ to support composition of messages within _Alpine_.
+ _Pico_ is _Alpine_'s internal editor invoked when users need to
+ fill in header lines or type the text of an email message.
+ _Imap_
+ An API for IMAP. Includes the C-Client library, which is
+ compiled into _Alpine_, and the IMAP server _IMAPd_. C-Client
+ implements the IMAP protocol and also negotiates all access
+ between _Alpine_ and the mail folders it operates on, even if
+ the folders are local. The C-Client routines are used for email
+ folder parsing and interpreting MIME messages. _IMAPd_ is a
+ separate server that handles IMAP connections from any
+ IMAP-compliant email program. When _Alpine_ accesses a remote
+ mailbox, the _Alpine_ program is the IMAP client and the _IMAPd_
+ program is the IMAP server. Of course, _Alpine_ can use any
+ IMAP-compliant IMAP server, not just _IMAPd_.
+
+ Background Details
+
+Domain Names
+
+ Domain names are used to uniquely name each host on the Internet. A
+ domain name has a number of parts separated by periods. Each label
+ represents a level in the hierarchy. An example of a name is:
+
+ olive.cac.washington.edu
+
+ In this domain name the top-level label is _edu_, indicating it is at
+ an educational institution, the second-level label is _washington_,
+ indicating the University of Washington. _cac_ is a specific department
+ within the University of Washington, and _olive_ is the host name. The
+ top-level names are assigned by Internet organizations, and other names
+ are assigned at the appropriate level. The Domain Name Service, DNS, is
+ the distributed database used to look up these names.
+
+ _Alpine_ relies on domain names in multiple places. A domain name is
+ embedded into the message-id line generated for each piece of email. A
+ domain name is needed to contact an IMAP server to get access to remote
+ INBOXes and folders. Most importantly, domain names are needed to
+ construct the From: line of your outgoing messages so that people on
+ the Internet will be able to get email back to you.
+
+ On UNIX systems, you can set the domain via the user-domain variable in
+ the _Alpine_ configuration file, or rely on the file /etc/hosts which
+ usually sets the name of the local host. While _Alpine_ can often
+ deliver email without the domain name being properly configured, it is
+ best to have this set correctly. Problems can usually be solved by
+ adjusting the system's entry in the /etc/hosts file. The
+ fully-qualified name should be listed before any abbreviations. For
+ example,
+
+ 128.95.112.99 olive.cac.washington.edu olive
+
+ is preferred over
+
+ 128.95.112.99 olive olive.cac.washington.edu
+
+ On PCs, the task of configuring the domain name is a bit different.
+ Often times PCs do not have domain names-they have _IP addresses_. IP
+ addresses are the numbers which uniquely identify a computer on the
+ network. The way you configure your IP address depends on the
+ networking software which you use on the PC. You can refer to the
+ documentation which came with your networking software or see the PC
+ specific installation notes for help configuring the IP address with
+ your network software.
+
+ With PCs, it is vital that users set the variable user-domain in the
+ _Alpine_ configuration file (PINERC).
+
+ Details on configuring _Alpine_ with correct domain names can be found
+ in the Domain Settings section of this document.
+ __________________________________________________________________
+
+RFC 2822 Compliance
+
+ _Alpine_ tries to adhere to RFC 2822 fairly strictly.
+
+ As far as outgoing email is concerned, _Alpine_ fully-qualifies
+ addresses whenever possible. They are even displayed in fully-qualified
+ form on the terminal as the user composes a message. This makes
+ addresses more clear and gives a hint to the user that the network
+ extends beyond the local organization. _Alpine_ implements
+ fully-qualified domain names by tacking on the local domain to all
+ unqualified addresses which a user types in. Any address which does not
+ contain an "@" is considered unqualified.
+
+ The format for addresses allows for spaces and special characters in
+ the full name of an address. For this reason, commas are required to
+ separate addresses. If any special characters as defined in RFC 2822
+ appear in the full name, quotes are required around the address.
+ _Alpine_ will insert the quotes automatically if needed. The common
+ cases where this happens are with periods after initials and
+ parentheses.
+
+ _Alpine_ expects dates to be in the standard RFC 822 format which is
+ something like:
+ [www, ] dd mmm yy hh:mm[:ss] [timezone]
+
+ It will attempt to parse dates that are not in this format. When an
+ unparsable date is encountered it is shown as question marks in the
+ FOLDER INDEX screen.
+ __________________________________________________________________
+
+SMTP and Sendmail
+
+ _Alpine_ is a _user agent_ not a _message transfer agent_ (MTA). In
+ plain English, that means _Alpine_ does not know how to interact with
+ other computers on the Internet to deliver or receive email. What
+ _Alpine_ does know how to do is help users read, organize and create
+ email. The "dirty work" of delivering and accepting email is handled by
+ other programs.
+
+ All outgoing email is delivered to an SMTP server or to a mail transfer
+ agent. A common mail transfer agent is sendmail. The usual method of
+ delivery used by _Alpine_ is to use either a local or a remote SMTP
+ server.
+
+ The selection of which MTA to use depends on the settings of
+ smtp-server, sendmail-path, and compile-time options. The first MTA
+ specified in the following list is used:
+ 1. _sendmail-path_ in /usr/local/lib/pine.conf.fixed
+ 2. _smtp-server_ in /usr/local/pine.conf.fixed
+ 3. _sendmail-path_ specified on the command line.
+ 4. _smtp-server_ specified on the command line.
+ 5. _sendmail-path_ in the user's .pinerc file.
+ 6. _smtp-server_ in the user's .pinerc file.
+ 7. _sendmail-path_ in /usr/local/lib/pine.conf
+ 8. _smtp-server_ in /usr/local/pine.conf
+ 9. DF_SENDMAIL_PATH defined at compile time.
+ 10. SENDMAIL and SENDMAILFLAGS defined at compile time.
+
+ If the _sendmail-path_ form is used, a child process is forked, and the
+ specified command is executed with the message passed on standard
+ input. Standard output is then passed back and displayed for the user.
+ _NOTE: The program MUST read the message to be posted on standard input,
+ AND operate in the style of sendmail's "-t" option. This method is not
+ recommended unless there are special reasons you want to do this._
+
+ If an _smtp-server_ is specified, _Alpine_ operates as an SMTP client.
+ SMTP stands for _Simple Mail Transfer Protocol_; it specifies the rules
+ by which computers on the Internet pass email to one another. In this
+ case, _Alpine_ passes outgoing email messages to a designated SMTP
+ server instead of to a mail transfer program on the local machine. A
+ program on the server then takes care of delivering the message. To
+ make _Alpine_ operate as an SMTP client, the smtp-server variable must
+ be set to the IP address or host name of the SMTP server within your
+ organization. This variable accepts a comma separated list of servers,
+ so you can specify multiple alternate SMTP servers. _PC-Alpine_ only
+ runs as an SMTP client so the _smtp-server_ option is mandatory.
+
+ For UNIX _Alpine_, if neither _smtp-server_ or _sendmail-path_ is set,
+ the default sendmail program is invoked with the "-bs -odb -oem" flags,
+ and the message is sent using the SMTP protocol.
+ __________________________________________________________________
+
+Internet Message Access Protocol (IMAP)
+
+ IMAP is a remote access protocol for message stores. _Alpine_ uses IMAP
+ to get at messages and folders which reside on remote machines. With
+ IMAP, messages are kept on the server. An IMAP client (such as
+ _Alpine_) can request specific messages, headers, message structures,
+ message parts, etc. The client can also issue commands which delete
+ messages from folders on the server. IMAP's closest kin is POP, the
+ Post Office Protocol, which works by transferring an entire mailbox to
+ the client where all the mail is kept. For a comparison of IMAP and
+ POP, see the paper "Comparing Two Approaches to Remote Mailbox Access:
+ IMAP vs. POP" by Terry Gray. A more detailed exploration of message
+ access may be found in the paper " Message Access Paradigms and
+ Protocols."
+
+ IMAP Features:
+ * Allows access to mail folders from more than one client computer.
+ * Works well over low-bandwidth lines because information is sent in
+ small pieces as needed by the user. For example, only header
+ information is sent to build index lists, and if someone sends a
+ large audio file via MIME, you can choose when (or if) you want to
+ get that part of the message.
+ * Email can be delivered and stored on a well-maintained and reliable
+ server which is "always-up".
+ * Folders can be accessed and manipulated from anywhere on the
+ Internet.
+ * Users can get to messages stored in different folders within the
+ same _Alpine_ session.
+ * Allows use of IMAP server for searching and parsing.
+ * The latest revision of IMAP (IMAP4) also provides for disconnected
+ operation, including resynchronization of message state between
+ mail servers and message caches on clients. _Alpine_ does not
+ support this capability, however.
+
+ IMAP4rev1 is described in RFC 3501. Further information about IMAP may
+ be obtained from the University of Washington's IMAP Information
+ Center.
+
+ _Alpine_ is an IMAP4rev1 client.
+ __________________________________________________________________
+
+Multipurpose Internet Mail Extensions (MIME)
+
+ MIME is a way of encoding a multipart message structure into a standard
+ Internet email message. The parts may be nested and may be of seven
+ different types: Text, Audio, Image, Video, Message, Application and
+ Multipart (nested). The MIME specification allows email programs such
+ as _Alpine_ to reliably and simply exchange binary data (images,
+ spreadsheets, etc.). MIME includes support for international character
+ sets, tagging each part of a message with the character set it is
+ written in, and providing 7-bit encoding of 8-bit character sets.
+
+ The MIME standard was officially published in June of 1992 as RFC 1341
+ and subsequently revised in RFC 2045 when it became a full Internet
+ Standard. _Pine_ 3.0 was one of the first email programs to Implement
+ MIME. Now, there are dozens of commercial and freely available
+ MIME-capable email programs. In addition, MIME is being added to
+ newsreaders so MIME messages can be posted and read in USENET
+ newsgroups.
+
+ The MIME standard also includes support for non-ASCII text in message
+ headers through the extensions described in RFC 1342 and subsequently
+ revised in RFC 2047.
+
+ An actual MIME message looks something like this:
+Date: Tue, 12 Mar 1996 15:39:35 -0800 (PST)
+From: David L Miller <dlm@cac.washington.edu>
+To: David L Miller <dlm@cac.washington.edu>
+Subject: =?iso-8859-1?Q?Test_MIME_message_with_RFC-1522_headers_=28=E1?= =?is
+o-8859-1?Q?=E2=E3=29?=
+Message-Id: <Pine.ULT.3.92.960312150851.21583I-101000@shiva2.cac.washington.edu>
+Mime-Version: 1.0
+Content-Type: MULTIPART/MIXED; BOUNDARY="0-1737669234-826673975=:21583"
+Content-Id: <Pine.ULT.3.92.960312153928.21583O@shiva2.cac.washington.edu>
+
+ This message is in MIME format. The first part should be readable text,
+ while the remaining parts are likely unreadable without MIME-aware tools.
+ Send mail to mime@docserver.cac.washington.edu for more info.
+
+--0-1737669234-826673975=:21583
+Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+Content-ID: <Pine.ULT.3.92.960312153104.21583L@shiva2.cac.washington.edu>
+
+The text of the message would go here. It is readable if
+one doesn't mind wading around a little bit of the MIME
+formatting. After this is a binary file in base 64
+encoding.
+
+|\ | |\/| David L. Miller dlm@cac.washington.edu (206) 685-6240
+|/ |_ | | Software Engineer, Pine Development Team (206) 685-4045 (FAX)
+University of Washington, Networks & Distributed Computing, JE-20
+4545 15th Ave NE, Seattle WA 98105, USA
+
+--0-1737669234-826673975=:21583
+Content-Type: APPLICATION/ZIP; NAME="test.zip"
+Content-Transfer-Encoding: BASE64
+Content-ID: <Pine.ULT.3.92.960312153638.21583N@shiva2.cac.washington.edu>
+Content-Description: Test Attachment
+
+UEsDBBQAAAAIAGh8bCBbZKT4ygIAAHgFAAAEAAAAdGVzdIVUX2vbMBB/16c4
+9rSBNyjsYX1UHSUROLInycv2qNhKI5ZYxlLa5dvvpDRLw6CFgJF09/t3Rxo3
+WDBDD43rPJjJQpxMbw9m+h3AbyHuLLSDe7JTcPGUbtYm7NzwGP3wBYQnnT8c
+7NQ5s4djsC8t4QbmYE6wsfjpLTy7uPPHCOPk/ATPk4vRDmS008GF4PzwPich
+zY3m4LfxOQlPNy4GcEO3P/a2h2j/xGyp9ONpco+7CHf33+4/393ff4XNibzL
+c1UVfXJXQIdIBRx877b4TYy9C3Fym2NEyzsX/pNDet8dD3aIJiagLbo2wwnG
+4zT6cK66ZLK1NhH9J4tcZQEy7OxkNyd4nMwQbV9glP7JZb87E3O32fgnm7We
+XQ8+us4SM47WTCkgMPt9enc2ZAW5c+Pj7o32l0IXXk/r8pSRE3A4jqOfIqqF
+G+PFlSdRDOaQduXNESTwtDcYfJ8191gWXUjYmOJ43Oxdh11JTzRuSPcY37+B
+vNqmf0O5RB1G27mt64rLCp4X8pW1L6BvxunCeYHNk3F7s9lb+GAwyvAhOyNE
+Lxm0gv9gUnH9C+o5rKlacrHQtYAZV2VF+UoBrSp8kJIKzZkqgP1sJFMKagl8
+1VSczQqy5noJki2onIGuQS+5AlXPNfaxArgoq3aGwJDq6lZDxVdcU82RKMG/
+4JArTVKzYrJc4pE+8CoJpGIGc65FIp8jO4WGSs3LtqISmlY2tUKyVMUFETWw
+H0xoUMvE8KbXB4aC6EPFzrDiF6iGlZxWBeFixiUrdXJb1kKx7y2C4hPM6Iou
+WI4hdVyO6yXVqkZqiXmottLJ9lzWK1LVKttqk8oZ1TS1NrJGS5jqeslQI0aK
+ieCvzNlgNZJqiccCc5WafLxmKdii4gsmSvYpISkteamzkRwXJiG5SoUpcERK
+8xIE8QQ7o+eh5WAUy1qYRP8rioip/maI+OfyF1BLAQIUAxQAAAAIAGh8bCBb
+ZKT4ygIAAHgFAAAEAAAAAAAAAAEAAACkgQAAAAB0ZXN0UEsFBgAAAAABAAEA
+MgAAAOwCAAAAAA==
+--0-1737669234-826673975=:21583--
+
+
+ For details about _Alpine_'s implementation of MIME, see the two MIME
+ sections "MIME: Reading a Message" and "MIME: Sending a Message" later
+ in this document.
+ __________________________________________________________________
+
+Folder Collections
+
+ Folder Collections are _Alpine_'s way of dealing with more than a
+ single group of folders.
+
+ For a more complete description of Folder Collections, see the section
+ on "Syntax for Collections."
+
+ The _Alpine_ distribution is designed to require as little
+ configuration and effort at compile time as possible. Still, there are
+ some _Alpine_ behaviors which are set at the time you compile _Alpine_.
+ For each of these, there is a reasonable (our opinion) default built
+ into the code, so most systems administrators will have no need for
+ these steps.
+
+ Building and Installation
+
+Compile-time Options
+
+ _Alpine_'s UNIX build environment is based on Autotools (the GNU Build
+ System). Once you've unpacked the source distribution find the file
+ configure in the top-level directory. You may look at the many options
+ available by typing
+
+ ./configure --help
+
+ or you could just try building with the command
+
+ ./configure
+
+ followed by
+
+ make
+
+ Note, while the UW IMAP Toolkit (whose c-client library _Alpine_ uses
+ for mailbox access) build is not based on Autotools, _Alpine_'s
+ configure script should set an appropriate make target and compilation
+ options for most systems.
+
+ Some of the following can only be set when you build. Others, however,
+ can be overridden by command-line flags to _Alpine_ or settings in
+ _Alpine_'s user or system configuration files. Some of the options which
+ can be set when building:
+
+ Including LDAP Functionality
+
+ By default, the configure script will attempt to find the LDAP library
+ support for you. If you are having trouble with LDAP take a look at the
+ configure options
+ --with-ldap-dir=DIR
+ Specify the root of the LDAP lib/include path.
+ --with-ldap-include-dir=DIR
+ Specify the LDAP include path.
+ --with-ldap-lib-dir=DIR
+ Specify the LDAP library path.
+ --without-ldap
+ Disable LDAP support.
+
+ _Alpine_ uses LDAPv3 protocol. When using the LDAPv3 protocol, the
+ results are assumed to be in the UTF-8 character set, which _Alpine_
+ handles well. If the LDAP server returns non-ascii data which is not
+ encoded as UTF-8 you will probably run into problems.
+
+ Including Kerberos 5 Functionality
+
+ This works analogously to the LDAP build. By default, the configure
+ script will attempt to find the Kerberos library support for you. If
+ you are having trouble with Kerberos take a look at the configure
+ options
+ --with-krb5-dir=DIR
+ Specify the root of the Kerberos lib/include path.
+ --with-krb5-include-dir=DIR
+ Specify the Kerberos include path.
+ --with-krb5-lib-dir=DIR
+ Specify the Kerberos library path.
+ --without-krb5
+ Disable Kerberos support.
+
+ Other Alpine Compile-time Options
+
+ --disable-nls
+ Do not use Native Language Support. NLS refers to the use of GNU
+ gettext utilities to localize a program, in the sense that
+ English is translated to some other language. At the time this
+ was written the low-level support for NSL is included in _Alpine_
+ but no translations have been done. If there is no translation
+ available, that means that disabling NLS will make no
+ difference. If you have trouble building which is due to gettext
+ or libintl you could try this option, or one of the following.
+ --with-libintl-prefix[=DIR]
+ --without-libintl-prefix
+ --with-ssl-dir=DIR
+ Specify the root of the SSL lib/include path (OpenSSL).
+ --with-ssl-include-dir=DIR
+ Specify the SSL include path.
+ --with-ssl-lib-dir=DIR
+ Specify the SSL library path.
+ --with-ssl-certs-dir=DIR
+ Specify the path to the SSL certificates directory.
+ --without-ssl
+ Disable SSL support.
+ --without-pthread
+ Do not test for nor build with POSIX thread support, which is
+ used only for the Busy-Cue in the status line at this time.
+ --without-smime
+ Disable S/MIME support.
+ --disable-debug
+ Never create debug files.
+ --with-smtp-msa=PATH
+ Local Mail Submission Agent (sendmail, by default).
+ --with-smtp-msa-flags=FLAGS
+ MSA flags for SMTP on stdin/stdout (-bs -odb -oem).
+
+ There are many more options which you can see using the
+
+ ./configure --help
+
+ command.
+
+ IMAPd Compile-time Options
+
+ There are no options or settings required for the version of _IMAPd_
+ distributed with _Alpine_. If you need to be doing more complex
+ modifications to IMAP, then you should pick up the IMAP development
+ package and work with that code. The developer's version of IMAP is
+ available for anonymous ftp from ftp.cac.washington.edu in the
+ directory mail. The file is called imap.tar.Z. Unless it has changed
+ since _Alpine_ was released, the directory imap in the _Alpine_
+ distribution is the IMAP development package.
+
+ The c-client library has not been converted to use the GNU Build
+ System's autotools. The _Alpine_ configure script will try to correctly
+ guess the arguments needed for the c-client make command and will build
+ the library, but if you need to change anything you should take a look
+ at imap/docs/BUILD for more detailed instructions.
+ __________________________________________________________________
+
+Building the Alpine Programs
+
+ You may have already compiled _Alpine_ and tried it out. If so, great!
+ If not, you should be able to do it without too much trouble by
+ following these step-by-step instructions:
+
+ 1. Make sure you're in the root of the _Alpine_ source. When you type
+ ls you should see the following files and directories (or something
+ close to it):
+aclocal.m4 config.sub imap Makefile.am packages web
+alpine configure include Makefile.in pico
+build.bat configure.ac install-sh mapi pith
+build.cmd contrib LICENSE missing po
+config.guess depcomp ltmain.sh mkinstalldirs README
+config.rpath doc m4 NOTICE VERSION
+
+ 2. Give the command ./configure Configure should grind away for a few
+ minutes.
+ 3. When configure is complete, give the command make. If make stops
+ and asks
+
+ Do you want to build with IPv6 anyway? Type y or n please:
+ you should answer with a 'y'. The compiler should grind away for a
+ few minutes. The _Alpine_ binary will end up in .../alpine/alpine
+ and the Pico and Pilot binaries in .../pico/pico and
+ .../pico/pilot. Other binaries you may be interested in are
+ .../alpine/rpdump and .../alpine/rpload and c-client binaries in
+ the directories .../imap/imapd, .../imap/ipopd, .../imap/mailutil,
+ and so on.
+ 4. If you need to try again, make sure you're getting a clean start by
+ giving the command make clean.
+ __________________________________________________________________
+
+Installing Alpine and Pico on UNIX Platforms
+
+ Installing _Alpine_ and _Pico_ is simple. You take the program files
+ which you have just transferred or built and you move them to the
+ correct directory on your system. Most often the binaries go in
+ /usr/local/bin though sometimes they are placed in /usr/bin. All the
+ help text is compiled into _Alpine_ so there are no _required_
+ auxiliary files. Instead of copying the binaries manually, you may use
+ make install to install them.
+
+ There are three optional auxiliary files: /usr/local/lib/pine.info,
+ /usr/local/lib/pine.conf, and /usr/local/lib/pine.conf.fixed. The file
+ pine.info contains text on how to get further help on the local system.
+ It is part of the help text for the main menu and should probably refer
+ to the local help desk or the system administrator. If this file
+ doesn't exist a generic version which suggests ``talking to the
+ computer support staff at your site'' is shown. The file pine.conf is
+ used to set system-wide default configurations for _Alpine_. The file
+ pine.conf.fixed is also used to set system-wide default configurations
+ for _Alpine_. The difference between these two files is that
+ configuration variables set in the pine.conf.fixed file may not
+ normally be over-ridden by a user. See the section on Alpine
+ Configuration later in this document for details about the pine.conf
+ and pine.conf.fixed files.
+ __________________________________________________________________
+
+Installing PC-Alpine
+
+ The PC-Alpine distribution comes as a .zip file. To install, unzip the
+ files to a directory where you would like the program to reside. Modern
+ Windows versions come with the capability of unzipping .zip files.
+ Failing that, you can use one of the many .zip file extractors out
+ there. Following current Windows conventions, a common directory into
+ which the files could be extracted would be C:\Program
+ Files\PC-Alpine\.
+
+ Having extracted PC-Alpine's .zip file to the directory of choice, you
+ can now run that directory's alpine.exe, which is the actual PC-Alpine
+ program. For convenience, you could place shortcuts to it on the task
+ bar, start menu, etc.
+
+ Upon first running PC-Alpine, you may be asked where you would like to
+ access your Configuration file (called the _pinerc_). This is useful in
+ accessing already existing configuration files, and it does not matter
+ where this file gets created. If you are connecting to an IMAP server
+ to access your email, it is also possible to store this Configuration
+ data on that server, which facilitates accessing the same configuration
+ from multiple machines (in fact, your configuration may have already
+ been set up this way for use with other _Alpine_ programs).
+
+ After having established the location of the configuration file, it may
+ be necessary to specify a few configuration settings before reading or
+ sending mail. You may be prompted for the following (which may also be
+ edited from the (S)etup (C)onfig screen from the Main Menu):
+
+ Folder to open as inbox (or _inbox-path_) - This can be an inbox
+ residing on an IMAP or POP3 server, or one residing locally. An example
+ of an INBOX for an IMAP server is: {server.example.com}INBOX.
+
+ User-id, Personal name, and host/domain, which are to be used as your
+ email address.
+
+ SMTP server to forward message - You must enter your SMTP server
+ before you can send any messages.
+
+ At this point, you will be able to read and send email messages. There
+ are, however, many more preferences that you can set in the
+ Configuration screen.
+ __________________________________________________________________
+
+Installing IMAPd
+
+ When the _Alpine_ distribution is built on a UNIX system, the IMAP
+ server binary, imapd, is compiled. Installing imapd requires placing
+ the binary in the appropriate directory, usually /usr/etc, and adding
+ entries to /etc/services and /etc/inetd.conf or their counterparts.
+
+ Instead of including installation instructions here we'll just include
+ a pointer to detailed instructions in the c-client distribution. Please
+ take a look at the file imap/docs/BUILD in the source tree.
+ __________________________________________________________________
+
+Support Files and Environment Variables: UNIX Alpine
+
+ This section lists the various files which _Alpine_ uses which are not
+ email folders. All of these are the default names of files, they may
+ vary based on _Alpine_'s configuration.
+ /usr/local/lib/pine.conf
+ Pine's global configuration file.
+ /usr/local/lib/pine.conf.fixed
+ Non-overridable global configuration file.
+ /usr/local/lib/pine.info
+ Local pointer to system administrator.
+ ~/.pinerc
+ Personal configuration file for each user.
+ ~/.pinercex
+ Personal exceptions configuration file for each user.
+ ~/.addressbook
+ Personal addressbook
+ ~/.newsrc
+ Personal USENET subscription list. This is shared with other
+ newsreading programs.
+ ~/.pine-debugX
+ The files created for debugging _Alpine_ problems. By default,
+ there are 4 .pine-debug files kept at any time.
+ ~/.signature
+ A signature file which will be included in all outgoing email
+ messages.
+ ~/.pine-interrupted-mail
+ The text of a message which was interrupted by some unexpected
+ error which _Alpine_ detected.
+ ~/mail/postponed-msgs
+ A folder of messages which the user chose to postpone.
+ /etc/mailcap
+ System-wide mail capabilities file. Only used if $MAILCAPS not
+ set.
+ ~/.mailcap
+ Personal mail capabilities file. Combines with system-wide
+ mailcap. Only used if $MAILCAPS not set.
+
+ The location of the following support files may be controlled by
+ variables in the personal or global _Alpine_ configuration file:
+ signature, addressbook and its index file, postponed messages, and
+ newsrc.
+
+ Unix _Alpine_ uses the following environment variables:
+ TERM
+ Tells _Alpine_ what kind of terminal is being used.
+ DISPLAY
+ Determines if _Alpine_ will try to display IMAGE attachments.
+ TMPDIR, TMP, or TEMP
+ Specifies location of temporary storage area, first one set wins
+ SHELL
+ If not set, default is /bin/sh
+ MAILCAPS
+ A semicolon delimited list of path names to mailcap files.
+ __________________________________________________________________
+
+Support Files, Environment Variables, and Registry Settings: PC-Alpine
+
+ This section lists the various files which _PC-Alpine_ uses which are
+ not normal mail folders. All of these are the default names of files,
+ they may vary based on _Alpine_'s configuration.
+
+ $PINERC or <PineRC registry value> or $HOME\PINE\PINERC or <PINE.EXE
+ dir>\PINERC
+ Path to (required) personal configuration file.
+ $PINERCEX or $HOME\PINE\PINERCEX or <PINE.EXE dir>\PINERCEX
+ Path to personal exceptions configuration file.
+ $PINECONF
+ Path of optional global configuration file.
+ <PINERC directory>\ADDRBOOK
+ Personal addressbook
+ <PINERC directory>\PINEDEBG.TXT
+ Location of _Alpine_ debug file.
+ <PINERC directory>\MAILCAP and/or <PINE.EXE dir>\MAILCAP
+ These paths are only used if $MAILCAPS not set.
+ $HOME\NEWSRC or <PINERC directory>\NEWSRC
+ Personal USENET subscription list. This may be shared with other
+ newsreading programs.
+ $HOME\MAIL\INTRUPTD
+ The text of a message which was interrupted by some unexpected
+ error which _Alpine_ detected.
+ $HOME\MAIL\POSTPOND
+ A folder of messages which the user chose to postpone.
+
+ Registry Values:
+ HKEY_LOCAL_MACHINE\Software\University of Washington\Alpine\1.0
+ _Pinedir_: The directory that contains the _Alpine_ executable.
+ _PineEXE_: The name of the _Alpine_ executable (most commonly
+ "alpine.exe").
+ HKEY_CURRENT_USER\Software\University of Washington\Alpine\1.0
+ _PineRC_: The path that points to the default pinerc to use.
+ HKEY_LOCAL_MACHINE\Software\Clients\Mail\Alpine
+ _DLLPath_: The path that points to _Alpine_'s pmapi32.dll.
+ HKLM\Software\Clients\Mail\Alpine\shell\open\command
+ _(Default)_: When set as the default mailer, this is the command
+ that is run by external programs.
+ HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\DefaultIcon
+ _(Default)_: This points to the icon to display in relation to
+ _Alpine_'s mailto URL rendering.
+ HKLM\Software\Clients\Mail\Alpine\Protocols\Mailto\shell\open\command
+ _(Default)_: This value is the command that gets run by external
+ programs when a mailto URL is run with _PC-Alpine_ set as the
+ default mailer.
+ HKLM\Software\Clients\News\Alpine\shell\open\command
+ _(Default)_: When set as the default newsreader, this is the
+ command that is run by external programs.
+ HKLM\Software\Clients\News\Alpine\Protocols\news\DefaultIcon
+ _(Default)_: This points to the icon to display in relation to
+ _Alpine_'s news URL rendering.
+ HKLM\Software\Clients\News\Alpine\Protocols\news\shell\open\command
+ _(Default)_: This value is the command that gets run by external
+ programs when a news URL is run with _Alpine_ set as the default
+ newsreader.
+ HKLM\Software\Clients\News\Alpine\Protocols\nntp\DefaultIcon
+ _(Default)_: This points to the icon to display in relation to
+ _Alpine_'s nntp URL rendering.
+ HKLM\Software\Clients\News\Alpine\Protocols\nntp\shell\open\command
+ _(Default)_: This value is the command that gets run by external
+ programs when a nntp URL is run with _Alpine_ set as the default
+ newsreader.
+
+ _Alpine_'s personal configuration file may be in the same directory as
+ the executable, or if that is inconvenient because the executable is on
+ a shared or read-only drive, then it can be in a file named by the
+ $PINERC environment variable, or in $HOME\ALPINE\PINERC, where if not
+ set, $HOME defaults to the root of the current working drive.
+
+ Most of the other support files key off of the location of the PINERC
+ file. However, in the case of the NEWSRC file, the path $HOME\NEWSRC is
+ checked first. Also, the postponed messages and interrupted message
+ folders are placed in the default folder collection, normally in the
+ directory $HOME\MAIL.
+
+ The location of the following support files may be controlled by
+ variables in the personal or global _Alpine_ configuration file:
+ signature, addressbook (and its index file), postponed messages, and
+ newsrc.
+
+ _PC-Alpine_ uses the following environment variables:
+ PINERC
+ Overrides default path to pinerc file.
+ PINERCEX
+ Overrides default path to personal exceptions configuration
+ file.
+ PINECONF
+ Optional path to global _Alpine_ config file.
+ HOME
+ If not set, _Alpine_ uses the root of the current drive, e.g. C:
+ TMPDIR, TMP, or TEMP
+ Specifies location of temporary storage area, first one set wins
+ COMSPEC
+ Specifies shell for external commands.
+ MAILCAPS
+ A semicolon delimited list of path names to mailcap files.
+
+ Command Line Arguments
+
+Alpine
+
+ _Alpine_ and _PC-Alpine_ can accept quite a few command-line arguments.
+ Many of these arguments overlap with variables in the _Alpine_
+ configuration file. If there is a difference, then a flag set in the
+ command line takes precedence. Both _Alpine_ and _PC-Alpine_ expect
+ command line arguments (other than addresses) to be preceded by the "-"
+ (dash) as normally used by UNIX programs.
+
+ _[addresses]_
+ Send-to: If you give _Alpine_ an argument or arguments which do
+ not begin with a dash, _Alpine_ treats them as email addresses.
+ _Alpine_ will startup in the composer with a message started to
+ the addresses specified. Once the message is sent, the _Alpine_
+ session closes. Standard input redirection is allowed. Separate
+ multiple addresses with a space between them. Addresses are
+ placed in the "To" field only.
+ < _file_
+ _Alpine_ will startup in the composer with _file_ read into the
+ body of the message. Once the message is sent, the _Alpine_
+ session closes.
+ -attach _file_
+ Go directly into composer with given file attached.
+ -attachlist _file-list_
+ Go directly into composer with given files attached. This must
+ be the last option on the command line.
+ -attach_and_delete _file_
+ Go directly into composer with given file attached, delete when
+ finished.
+ -aux _local_directory_
+ _PC-Alpine_ only. This tells _PC-Alpine_ the local directory to
+ use for storing auxiliary files, like debug files, address
+ books, and signature files. The pinerc may be local or remote.
+ -nosplash
+ _PC-Alpine_ only. This tells _PC-Alpine_ to not display the
+ splash screen upon startup. This may be helpful for certain
+ troubleshooting or terminal server scenarios.
+ -bail
+ If the personal configuration file doesn't already exist, exit.
+ This might be useful if the configuration file is accessed using
+ some remote filesystem protocol. If the remote mount is missing
+ this will cause _Alpine_ to quit instead of creating a new
+ pinerc.
+ -c _n_
+ When used with the -f option, apply the _n_th context. This is
+ used when there are multiple folder collections (contexts) and
+ you want to open a folder not in the primary collection.
+ -conf
+ Configuration: Prints a sample system configuration file to the
+ screen or standard output. To generate an initial system
+ configuration file, execute
+ alpine -conf > /usr/local/lib/pine.conf
+
+ To generate a system configuration file using settings from an
+ old system configuration file, execute
+ alpine -P old-pine.conf -conf > /usr/local/lib/pine.conf
+
+ A system configuration file is not required.
+ -convert_sigs _-p pinerc_
+ Convert signatures contained in signature files into literal
+ signatures.
+ -copy_abook _<local_abook_file> <remote_abook_folder>_
+ Copy an address book file to a remote address book folder. If
+ the remote folder doesn't exist, it will be created. If it
+ exists but the first message in the folder isn't a remote
+ address book header message, the copy will be aborted. This flag
+ will not usually be used by a user. Instead, the user will
+ create a remote address book from within _Alpine_ and copy
+ entries from the local address book by using aggregate Save in
+ the address book screen.
+ -copy_pinerc _<local_pinerc_file> <remote_pinerc_folder>_
+ Copy a pinerc configuration file to a remote pinerc folder. If
+ the remote folder doesn't exist, it will be created. If it
+ exists but the first message in the folder isn't a remote pinerc
+ header message, the copy will be aborted. This flag may be
+ useful to users who already have a local pinerc file and would
+ like to convert it to a remote pinerc folder and use that
+ instead. This gives a way to bootstrap that conversion without
+ having to manually reset all of the variables in the remote
+ pinerc folder.
+ -d _debug-level_
+ Debug Level: Sets the level of debugging information written by
+ _Alpine_. _Debug-level_ can be set to any integer 0-9. A debug
+ level of 0 turns off debugging for the session. (Actually there
+ are some levels higher than 9, but you probably don't want to
+ see them. Sensitive authentication information is hidden at
+ levels less than 10.)
+ -d _keywords_
+ You may use a more detailed version of the debugging flag to set
+ the debug level in separate parts of _Alpine_. The possibilities
+ are flush, timestamp, imap=0..4, tcp, numfiles=0..31, and
+ verbose=0..9. _Flush_ causes debugging information to be flushed
+ immediately to the debug file as it is written. _Verbose_ is the
+ general debugging verbosity level. _Timestamp_ causes timestamps
+ to be added to the debug file, which is useful when you are
+ trying to figure out what is responsible for delays. _Numfiles_
+ sets the number of debug files saved. _Imap_ sets the debug
+ level for the debugging statements related to the conversation
+ with the IMAP server, and more generally, for the debugging
+ related to _Alpine_'s interaction with the C-Client library. If
+ _imap_ is set higher than 4, sensitive authentication information
+ will be included in the debug file. _Tcp_ adds more TCP/IP
+ debugging information.
+ -f _folder_
+ Startup folder: _Alpine_ will open this folder in place of the
+ standard INBOX.
+ -F _file_
+ Open named text file for viewing and forwarding.
+ -h
+ Help: Prints the list of available command-line arguments to the
+ screen.
+ -i
+ _Alpine_ will start up in the FOLDER INDEX screen instead of the
+ MAIN MENU.
+ Configuration equivalent: _initial-keystroke-list=i_.
+ -I _a,b,c,..._
+ Initial Keystrokes: _Alpine_ will execute this comma-separated
+ sequence of commands upon startup. This allows users to get
+ _Alpine_ to start in any of its menus/screens. You cannot include
+ any input to the composer in the initial keystrokes. The key
+ <Return> is represented by a ``CR'' in the keystroke list; the
+ spacebar is designated by the letters ``SPACE''. Control keys
+ are two character sequences beginning with ``^'', such as
+ ``^I''. A tab character is ``TAB''. Function keys are ``F1'' -
+ ``F12'' and the arrow keys are ``UP'', ``DOWN'', ``LEFT'', and
+ ``RIGHT''. A restriction is that you can't mix function keys and
+ character keys in this list even though you can, in some cases,
+ mix them when running _Alpine_. A user can always use only
+ _character_ keys in the startup list even if he or she is using
+ _function_ keys normally, or vice versa. If an element in this
+ list is a string of characters surrounded by double quotes (")
+ then it will be expanded into the individual characters in the
+ string, excluding the double quotes.
+ Configuration equivalent: _initial-keystroke-list_
+ -install
+ For _PC-Alpine_ only, this option prompts for some basic setup
+ information, then exits.
+ -k
+ Function-Key Mode: When invoked in this way, _Alpine_ expects
+ the input of commands to be function-keys. Otherwise, commands
+ are linked to the regular character keys.
+ Configuration equivalent: _use-function-keys_ included in
+ _feature-list_.
+ -n _n_
+ Message-Number: When specified, _Alpine_ starts up in the FOLDER
+ INDEX screen with the current message being the specified
+ message number.
+ -nowrite_password_cache
+ This tells _Alpine_ to use the local password cache if there is
+ one, but to never offer writing new passwords to the cache.
+ -o _folder_
+ Opens the INBOX (or a folder specified via the -f argument)
+ ReadOnly.
+ -p _pinerc_
+ Uses the named file as the personal configuration file instead
+ of _~/.pinerc_ or the default PINERC search sequence _PC-Alpine_
+ uses. Pinerc may be either a local file or a remote
+ configuration folder.
+ -P _pinerc_
+ Uses the named file as the system wide configuration file
+ instead of _/usr/local/lib/pine.conf_ on UNIX, or nothing on
+ _PC-Alpine_. Pinerc may be either a local file or a remote
+ configuration folder.
+ -passfile _passfile_
+ This tells _Alpine_ what file should be used as the password
+ file. This should be a fully-qualified filename.
+ -pinerc _file_
+ Output fresh pinerc configuration to _file_, preserving the
+ settings of variables that the user has made. Use _file_ set to
+ ``-'' to make output go to standard out.
+ -r
+ Restricted Mode: For UNIX _Alpine_ only. _Alpine_ in restricted
+ mode can only send email to itself. Save and export are limited.
+ -registry _cmd_
+ For _PC-Alpine_ only, this option affects the values of
+ _Alpine_'s registry entries. Possible values for _cmd_ are set,
+ noset, clear, clearsilent, and dump. _Set_ will always reset
+ _Alpine_'s registry entries according to its current settings.
+ _NoSet_ will never set any values in the registry, but it will
+ still use the values already set in the registry. _Clear_ will
+ clear the registry values. _Clearsilent_ will silently clear the
+ registry values. _Dump_ will display the values of current
+ registry settings. Note that the dump command is currently
+ disabled. Without the -registry option, _PC-Alpine_ will write
+ values into the registry only if there currently aren't any
+ values set.
+ -sort _key_
+ Sort-Key: Specifies the order messages will be displayed in for
+ the FOLDER INDEX screen. _Key_ can have the following values:
+ arrival, date, subject, orderedsubj, thread, from, size, score,
+ to, cc, arrival/reverse, date/reverse, subject/reverse,
+ orderedsubj/reverse, thread/reverse, from/reverse, size/reverse,
+ score/reverse, to/reverse, and cc/reverse. The default value is
+ "arrival". The _key_ value reverse is equivalent to
+ arrival/reverse.
+ Configuration equivalent: _sort-key_.
+ -supported
+ Some options may or may not be supported depending on how
+ _Alpine_ was compiled. This is a way to determine which options
+ are supported in the particular copy of _Alpine_ you are using.
+ -install
+ For _PC-Alpine_ only, this option removes references to Alpine
+ in Windows settings. The registry settings are removed and the
+ password cache is cleared.
+ -url _url_
+ Open the given URL.
+ -v
+ Version: Print version information to the screen.
+ -version
+ Version: Print version information to the screen.
+ -x _exceptions_config_
+ Configuration settings in the exceptions config override your
+ normal default settings. _Exceptions_config_ may be either a
+ local file or a remote pinerc folder.
+ -z
+ Enable Suspend: When run with this flag, the key sequence ctrl-z
+ will suspend the _Alpine_ session.
+ Configuration equivalent: _enable-suspend_ included in
+ _feature-list_.
+ -_option_=_value_
+ Assign _value_ to the config option _option_. For example,
+ _-signature-file=sig1_ or _-feature-list=signature-at-bottom_.
+ (Note: feature-list values are additive and features may be
+ preceded with no- to turn them off).
+
+Pico
+
+ The following command line options are supported in _Pico_:
+
+ +_n_
+ Causes _Pico_ to be started with the cursor located _n_ lines
+ into the file. (Note: no space between "+" sign and number)
+
+ -a
+ Display all files and directories, including those beginning
+ with a period (.).
+
+ -b
+ Enable the option to Replace text matches found using the "Where
+ is" command. This now does nothing. Instead, the option is
+ always turned on (as if the -b flag had been specified).
+
+ -d
+ Rebind the "delete" key so the character the cursor is on is
+ rubbed out rather than the character to its left.
+
+ -e
+ Enable file name completion.
+
+ -f
+ Use function keys for commands. _This option supported only in
+ conjunction with UW Enhanced NCSA telnet._
+
+ -g
+ Enable "Show Cursor" mode in file browser. Cause cursor to be
+ positioned before the current selection rather than placed at
+ the lower left of the display.
+
+ -k
+ Causes "Cut Text" command to remove characters from the cursor
+ position to the end of the line rather than remove the entire
+ line.
+
+ -m
+ Enable mouse functionality. This only works when _Pico_ is run
+ from within an X Window System "xterm" window.
+
+ -n_n_
+ The -n_n_ option enables new mail notification. The _n_ argument
+ is optional, and specifies how often, in seconds, your mailbox
+ is checked for new mail. For example, -n60 causes _Pico_ to
+ check for new mail once every minute. The default interval is
+ 180 seconds, while the minimum allowed is 30. (Note: no space
+ between "n" and the number)
+
+ -o _dir_
+ Sets operating directory. Only files within this directory are
+ accessible. Likewise, the file browser is limited to the
+ specified directory subtree.
+
+ -p
+ Preserve the "start" and "stop" characters, typically Ctrl-Q and
+ Ctrl-S, which are sometimes used in communications paths to
+ control data flow between devices that operate at different
+ speeds.
+
+ -q
+ TermdefWins. Termcap or terminfo escape sequences are used in
+ preference to default escape sequences.
+
+ -Q _quotestr_
+ Set the quote string. Especially useful when composing email,
+ setting this allows the quote string to be checked for when
+ Justifying paragraphs. A common quote string is "> ".
+
+ -r_n_
+ Sets column used to limit the "Justify" command's right margin.
+
+ -t
+ Enable "tool" mode. Intended for when _Pico_ is used as the
+ editor within other tools (e.g., Elm, Pnews). _Pico_ will not
+ prompt for save on exit, and will not rename the buffer during
+ the "Write Out" command.
+
+ -v
+ View the file only, disallowing any editing.
+
+ -version
+ Print version information.
+
+ -w
+ Disable word wrap (thus allow editing of long lines).
+
+ _Note: Pico will break any lines over 255 characters when
+ reading a file, regardless of word wrapping._
+
+ -x
+ Disable keymenu at the bottom of the screen.
+
+ -z
+ Enable ^Z suspension of _Pico_.
+
+Pilot
+
+ The following command line options are supported in _Pilot_:
+
+ -a
+ Display all files including those beginning with a period (.).
+
+ -f
+ Use function keys for commands. _This option supported only in
+ conjunction with UW Enhanced NCSA telnet._
+
+ -g
+ Enable "Show Cursor" mode. Cause cursor to be positioned before
+ the current selection rather than placed at the lower left of
+ the display.
+
+ -m
+ Enable mouse functionality. This only works when _Pilot_ is run
+ from within an X Window System "xterm" window.
+
+ -n_n_
+ The -n_n_ option enables new mail notification. The _n_ argument
+ is optional, and specifies how often, in seconds, your mailbox
+ is checked for new mail. For example, -n60 causes _Pilot_ to
+ check for new mail once every minute. The default interval is
+ 180 seconds, while the minimum allowed is 30. (Note: no space
+ between "n" and the number)
+
+ -o _dir_
+ Sets operating directory. Only files within the specified
+ directory are accessible and browsing is limited to the
+ specified directory subtree.
+
+ -v
+ Enable single vertical column display.
+
+ -x
+ Disable keymenu at the bottom of the screen.
+
+ -z
+ Enable ^Z suspension of _Pilot_.
+
+ Configuration and Preferences
+
+Alpine Configuration
+
+ There is very little in _Alpine_ which _requires_ compile-time
+ configuration. In most cases, the compiled-in preferences will suit
+ users and administrators just fine. When running _Alpine_ on a UNIX
+ system, the default built-in configuration can be changed by setting
+ variables in the system configuration files, /usr/local/lib/pine.conf
+ or /usr/local/lib/pine.conf.fixed. (Actually, these files can be
+ changed using the configure arguments --with-system-pinerc=VALUE or
+ --with-system-fixed-pinerc=VALUE.) The location of the pine.conf file
+ can be changed with the -P command line argument. Both _Alpine_ and
+ _PC-Alpine_ also use personal (user-based) configuration files. On UNIX
+ machines, the personal configuration file is the file ~/.pinerc. For
+ _PC-Alpine_ systems, the personal configuration file is in $PINERC or
+ <PineRC registry value> or ${HOME}\ALPINE\PINERC or <ALPINE.EXE
+ dir>\PINERC. Or the personal configuration file can be specified with
+ the -p command line argument.
+
+ All of these configuration files, other than the fixed system config
+ pine.conf.fixed on UNIX systems, may optionally be remote configuration
+ files instead of local files. This is discussed further in the
+ following section and in Remote Configuration.
+
+ After the personal configuration, _Alpine_ may optionally use a
+ personal exceptions configuration file which is specified with the
+ command line option "-x exceptions_config". "Exceptions_config" may
+ also be either a local file or a remote configuration folder. For Unix
+ _Alpine_, if you don't have a "-x" command line option, _Alpine_ will
+ look for the file ".pinercex" in the same local directory that the
+ regular config file is located in. If the regular config file is remote
+ then Unix _Alpine_ looks in the home directory for ".pinercex".
+
+ For _PC-Alpine_, if you don't have a "-x" command line option,
+ _PC-Alpine_ will use the value of the environment variable $PINERCEX. If
+ that is not set, _PC-Alpine_ will look for the local file "PINERCEX" in
+ the same local directory that the regular config file is located in. If
+ the regular config file is remote then _PC-Alpine_ looks in the local
+ directory specfied by the "-aux local_directory" command line argument,
+ or the directory ${HOME}\ALPINE, or in <ALPINE.EXE directory>.
+
+ The syntax of a non-list configuration variable is this:
+
+ <variable> = <value>
+
+ If the value is absent then the variable is unset. To set a variable to
+ the empty value two double quotes (""). This is equivalent to an absent
+ value except that it overrides any system-wide default value that may
+ be set. Quotes may be used around any value. All values are strings and
+ end at the end of the line or the closing quote. Leading and trailing
+ space is ignored unless it is included in the quotes. There is one
+ variable, _use-only-domain-name_, for which the only appropriate values
+ are _yes_ and _no_. That's because it is a variable from the early days
+ of _Alpine_ before features existed.
+
+ There is also a second type of variable, lists. A list is a
+ comma-separated list of values. The syntax for a list is:
+
+ <variable> = <value> [, <value> , ... ]
+
+ A list can be continued on subsequent lines by beginning the line with
+ white-space. Both the per-user and global configuration files may
+ contain comments which are lines beginning with a #.
+
+ For UNIX _Alpine_, there are five ways in which each variable can be
+ set. In decreasing order of precedence they are:
+ 1. the system-wide _fixed_ configuration file
+ 2. a command line argument
+ 3. the personal exceptions file
+ 4. the personal configuration file
+ 5. the system-wide configuration file.
+
+ If the variable is not set in any of those places, there is a default
+ setting in the source code.
+
+ So, system-wide fixed settings always take precedence over command line
+ flags, which take precedence over per-user exception settings, which
+ take precedence over per-user settings, which take precedence over
+ system-wide configuration settings. _PC-Alpine_ has the same list,
+ except that it does not use a system-wide _fixed_ configuration file.
+ This can be modified slightly by using inheritance, which is covered
+ below.
+
+ You may get a sample/fresh copy of the system configuration file by
+ running _alpine -conf_. The result will be printed on the standard
+ output with very short comments describing each variable. (The online
+ help in the Setup screens provides much longer comments.) If you need
+ to fix some of the configuration variables, you would use the same
+ template for the fixed configuration file as for the regular
+ system-wide configuration file. (If it isn't clear, the purpose of the
+ fixed configuration file is to allow system administrators to restrict
+ the configurability of _Alpine_. It is by no means a bullet-proof
+ method.) _Alpine_ will automatically create the personal configuration
+ file the first time it is run, so there is no need to generate a
+ sample. _Alpine_ reads and writes the personal configuration file
+ occasionally during normal operation. Users will not normally look at
+ their personal configuration file, but will use the Setup screens from
+ within _Alpine_ to set the values in this file. If a user does add
+ additional comments to the personal configuration file they will be
+ retained.
+
+ References to environment variables may be included in the _Alpine_
+ configuration files. The format is $variable or ${variable}. The
+ character ~ will be expanded to the $HOME environment variable. For a
+ more complete explanation of how environment variables work, see the
+ section Using Environment Variables.
+
+ When environment variables are used for _Alpine_ settings which take
+ lists, you must have an environment variable set for each member of the
+ list. That is, _Alpine_ won't properly recognize an environment
+ variable which is set equal to a comma-delimited list. It is OK to
+ reference unset environment variables in the _Alpine_ configuration
+ file, which will expand to nothing.
+
+ Remote and Local Configuration
+
+ There are two types of storage for configuration information. _Local_
+ configuration files are used by default. These are just regular files
+ on the UNIX system or on the PC. _Remote_ configuration folders are
+ stored on an IMAP server. The advantage of using a remote configuration
+ is that the same information may be accessed from multiple platforms.
+ For example, if you use one computer at work and another at home, the
+ same configuration could be used from both places. A configuration
+ change from one place would be seen in both places. Technical
+ information about remote configuration is in Remote Configuration.
+
+ Generic and Exceptional Configuration
+
+ If you use _Alpine_ from more than one platform it may be convenient to
+ split your configuration information into two pieces, a generic piece
+ and exceptions which apply to a particular platform. For example,
+ suppose you use _Alpine_ from home and from work. Most of your
+ configuration settings are probably the same in both locations, so
+ those settings belong in the generic settings configuration. However,
+ you may use a different SMTP server and INBOX from home than you do
+ from work. The "smtp-server" and "inbox-path" variables could be part
+ of your exceptional configuration so that they could be different in
+ the two places.
+
+ You can use the command line option "-x config" to split your
+ configuration into generic and exceptional pieces. Config may be either
+ local or remote.
+
+ For most people, splitting the configuration information into two
+ pieces is only going to be useful if the generic information is
+ accessed remotely. If you already have a local pinerc file with
+ settings you like you may find that the command Setup/RemoteConfigSetup
+ will be useful in helping you convert to a remote configuration. The
+ command line flag copy_pinerc may also be useful.
+
+ Configuration Inheritance
+
+ Configuration inheritance is a power user feature. It is confusing and
+ not completely supported by the configuration user interface.
+
+ For configuration variables which are lists, like "smtp-server" or
+ "incoming-folders", the inheritance mechanism makes it possible to
+ _combine_ the values of options from different configuration locations
+ instead of _replacing_ the value. Configuration Inheritance has more
+ information about how inheritance is used.
+ __________________________________________________________________
+
+General Configuration Variables
+
+ The following is a list of all _Alpine_ configuration variables, in
+ alphabetical order. Note that not all variables apply to all versions
+ of _Alpine_ and that some variables are only applicable in a system
+ configuration file and some are only applicable in a personal
+ configuration file. These are configuration _variables_. Configuration
+ Features are in a separate section.
+
+ _addrbook-sort-rule_
+ This variable sets up the default address book sorting.
+ Currently, _Alpine_ will accept the values _dont-sort_,
+ _fullname-with-lists-last_, _fullname_,
+ _nickname-with-lists-last_, and _nickname_. The default is to sort
+ by fullname with lists last. If you use an address book from
+ more than one computer and those computers sort the address book
+ differently then the sort order will be the order where the last
+ change to the address book was made. There are two reasons the
+ sorting might be different on different systems. First, the
+ addrbook-sort-rule may be set differently in the two places.
+ Second, the collation rules on the two computers may be
+ different. For example, one system might ignore special
+ characters while the other doesn't or one may sort upper and
+ lower case letters together while the other doesn't. In any
+ case, the order you see is the order on the system where the
+ last change was made, for example by an address book edit or a
+ Take Address command.
+ This option is displayed as "Addressbook Sort Rule".
+ _address-book_
+ A list of personal address books. Each entry in the list is an
+ optional nickname followed by a pathname or file name relative
+ to the home directory. The nickname is separated from the rest
+ of the line with whitespace. Instead of a local pathname or file
+ name, a remote folder name can be given. This causes the address
+ book to be a Remote address book. Remote folder syntax is
+ discussed in Syntax for Remote Folders. This list of address
+ books will be combined with the global-address-book list to
+ arrive at the complete set of address books.
+ _addressbook-formats_
+ This option specifies the format that address books are
+ displayed in. By default, address books are displayed with the
+ nicknames in the first column, the fullnames in the second
+ column, and addresses in the third column. The system figures
+ out reasonable defaults for the widths of the columns. An
+ address book may be given a different format by listing special
+ tokens in the order you want them to display. The possible
+ tokens are NICKNAME, FULLNAME, ADDRESS, FCC, and COMMENT. More
+ details are included in the online help for this variable.
+ _alt-addresses_
+ This option provides a place for you to list alternate email
+ addresses you may have. Each address in the list should be the
+ actual email address part of an address, without the full name
+ field or the angle brackets. For example:
+
+ user@example.com
+ The matching is case-insensitive, so this would match any of
+ User@example.com, user@Example.Com, or USER@EXAMPLE.COM as well.
+ If set, the option affects the behavior of the Reply command and
+ the "+" symbol in the MESSAGE INDEX, which denotes that a
+ message has been addressed specifically to you.
+ In the default INDEX display the personal name (or email
+ address) of the person listed in the message's "From:" header
+ field is usually displayed except when that address is yours or
+ one of your alternate addresses. In that case you will usually
+ see the name of the first person specified in the message's
+ "To:" header field with the prefix "To: " prepended.
+ With respect to Reply, the reply-to-all option will exclude
+ addresses listed here.
+ The feature copy-to-address-to-from-if-it-is-us is somewhat
+ related to this option.
+ In addition to a list of actual addresses, you may use regular
+ expressions (as used with egrep with the ignore case flag) to
+ describe the addresses you want to match. _Alpine_ will somewhat
+ arbitrarily interpret your entry as a regular expression if it
+ contains any of the characters *, |, +, ?, {, [, ^, $, or \.
+ Otherwise, it will be treated literally. The feature
+ disable-regular-expression-matching-for-alternate-addresses may
+ be used to turn off regular expression processing regardless of
+ whether or not special characters appear in the entry.
+ A description of how regular expressions work is beyond the
+ scope of this help text, but some examples follow.
+ The entry
+
+ .*@example.com
+ in the alt-addresses list would mean that any address with a
+ domain name of example.com (such as fred@example.com or
+ wilma@example.com) will be considered one of your alternate
+ addresses. Strictly speaking, the dot in example.com ought to be
+ escaped with a backslash, as in example\.com, and a dollar sign
+ anchor ought to come at the end of the expression to prevent a
+ match of example.com.org. Complicating things further, the
+ dollar sign is special in the _Alpine_ configuration (it
+ signifies environment variable expansion) so the dollar sign
+ should be doubled or backslash escaped for _Alpine_'s sake.
+ Quotes around the whole expression will not escape the dollar
+ sign successfully. So this example should look like
+
+ .*@example\.com$$
+ The entry
+
+ ^fred[0-9]*@example.com$$
+ would match fred3@example.com or fred17@example.com as well as
+ fred@example.com.
+ You could match all addresses that look like
+ fred+stuff@example.com for any value of stuff with the entry
+
+ ^fred\+.*@example.com$$
+ Notice that you have to escape the plus sign with a backslash
+ because plus is a special character in regular expressions. If
+ you wanted to match plain fred as well as fred+stuff the
+ expression
+
+ ^fred(()|\+.*)@example.com$$
+ would do it, but it would be easier to just add fred@example.com
+ as a separate entry.
+ One more example, a match of all first-level subdomains, is
+ given by
+
+ ^fred@[[:alnum:]_-]*\.example\.com$$
+ Because the regular expression matching is based on an old
+ library (hs_regex) the regular expressions might not work
+ exactly as you expect, but they should be close.
+ This option is displayed as "Alternate Addresses".
+ _bugs-additional-data_
+ System-wide configuration files only. Program/Script used by
+ _Report Bug_ command. Output from the program/script is captured
+ and attached to the bug report.
+ _bugs-fullname_, _bugs-address_, _local-fullname_, _local-address_,
+ _suggest-fullname_, and _suggest-address_
+ System-wide configuration files only. These are used by the bug
+ report commands which can be accessed from some of the Help
+ screens.
+ _busy-cue-rate_
+ When _Alpine_ is delayed for some reason it usually shows that
+ something is happening with a small animated display in the
+ status message line near the bottom of the screen. This option
+ sets how frequently the characters (for example, a spinning bar)
+ in the active status message lines are updated. At most, it can
+ be set to be udpated 20 times per second.
+ Setting this value to zero will prevent display of the
+ animations altogether.
+ The option busy-cue-spinner-only can be used to remove the
+ randomness from this animated display.
+ _character-set_
+ This is now obsolete, replaced by three separate variables:
+ _display-character-set_, _keyboard-character-set_, and
+ _posting-character-set_. See the section on International
+ Character Sets for more details.
+ _color-style_
+ UNIX _Alpine_ only (color is automatically on with _PC-Alpine_).
+ If the terminal or terminal emulator you are using is capable of
+ displaying colors, this variable controls whether or not color
+ will be used in _Alpine_. If you turn color on and things are
+ set up correctly, you should see color appear on the screen
+ immmediately. Modern terminal emulators are usually capable of
+ displaying colors.
+ This variable may be set to any of the following values:
+
+ no-color
+ Don't use color.
+
+ use-termdef
+ In order to decide if your terminal is capable of color,
+ _Alpine_ looks in the terminal capabilities database,
+ TERMINFO or TERMCAP, depending on how _Alpine_ was
+ compiled. This is a good option to choose if you switch
+ between a color and a non-color terminal with the same
+ _Alpine_ configuration. _Alpine_ will know to use color on
+ the color terminal because it is described in the termcap
+ entry, and _Alpine_ will know to use black and white on
+ the non-color terminal. Color Details has more information
+ about configuring a termcap entry for color. This is
+ usually something a system administrator does.
+
+ force-ansi-8color
+ Because setting up a termcap entry is confusing and
+ because the terminal capabilities database is often not
+ correctly configured for color, this choice and the next
+ may be easier for you to use. If your terminal emulator
+ responds to ANSI color escape sequences, which many do,
+ this option will cause _Alpine_ to believe your terminal
+ will respond to the escape sequences which produce eight
+ different foreground and background colors. The escape
+ sequences used to set the foreground colors are
+
+ ESC [ 3 <color_number> m
+
+ where the color_number is an ASCII digit between 0 and 7.
+ The numbers 0 through 7 should correspond to the colors
+ black, red, green, yellow, blue, magenta, cyan, and white.
+ Some terminal emulators use a pre-ANSI scheme which swaps
+ the colors blue and red and the colors yellow and cyan.
+ This will cause the default colors to be different, but
+ other than that things should work fine. There is also a
+ 9th color available, the last one shown, which is the
+ default color from the terminal emulator. When used as a
+ background color some people refer to this color as
+ "transparent", which is why the letters "TRAN" are shown
+ in the color swatch of the SETUP COLOR screen. The
+ foreground transparent color is shown as the color of the
+ "TRAN" text. (The transparent color will not work
+ correctly in a PC-Alpine configuration.) The escape
+ sequences used to set the background colors are the same
+ as for the foreground colors except a "4" replaces the
+ "3".
+
+ Note: With the Tera Term terminal emulator this setting
+ works well. You should also have the Tera Term "Full
+ color" option turned OFF. You may find the "Full color"
+ option in Tera Term's "Setup" menu, in the "Window"
+ submenu.
+
+ force-ansi-16color
+ Many terminal emulators know about the same eight colors
+ above plus eight more. This option attempts to use all 16
+ colors. The same escape sequences as for the eight-color
+ terminal are used for the first eight colors. The escape
+ sequences used to set foreground colors 8-15 are the same
+ as for 0-7 except the "3" is replaced with a "9". The
+ background color sequences for colors 8-15 are the same as
+ for 0-7 except the "4" is replaced with "10". You can tell
+ if the 16 colors are working by turning on this option and
+ then going into one of the color configuration screens,
+ for example, the configuration screen for Normal Color. If
+ you see 16 different colors to select from (plus a 17th
+ for the transparent color), it's working.
+
+ force-xterm-256color
+ Some versions of xterm (and some other terminal emulators)
+ have support for 256 colors. The escape sequences used to
+ set the foreground colors are
+
+ ESC [ 38 ; 5 ; <color_number> m
+
+ where the color_number is an ASCII digit between 0 and
+ 255. Background colors are the same with the 38 replaced
+ with a 48. The numbers 0 through 15 are probably similar
+ to the 16 color version above, then comes a 6x6x6 color
+ cube, followed by 24 colors of gray. The terminal default
+ (transparent) color is the 257th color at the bottom. Some
+ terminal emulators will misinterpret these escape
+ sequences causing the terminal to blink or overstrike
+ characters or to do something else undesirable.
+
+ The PuTTY terminal emulator has an option called "Allow
+ terminal to use xterm 256-colour mode" which allows PuTTY
+ to work well with this 256-color setting.
+
+ There are two other possible color values which may be useful in
+ some situations. In the color configuration screens there will
+ sometimes be a color which has the label "NORM" inside its color
+ swatch. If this is selected the corresponding foreground or
+ background Normal Color will be used. Another similar color is
+ the one that has the label "NONE" inside its color swatch. The
+ meaning of this setting is that no color changing will be done.
+ This NONE color is only useful in contexts where _Alpine_ is
+ already coloring the text some color other than the Normal
+ Color. For example, if the Reverse Color is set then the current
+ line in the MESSAGE INDEX will be colored. If one of the index
+ symbols (for example, the Index-to-me Symbol) has the NONE color
+ as its background then the symbol's foreground color will be
+ used to draw the actual text but the background color will be
+ the same as whatever the background color already was. The color
+ values which end up in the configuration file for these special
+ values are the 11-character words "norm-padded", "none-padded",
+ and "transparent".
+ The normal default is "no-color".
+ Once you've turned on color you may set the colors of many
+ objects on the screen individually. The Color Configuration
+ section has more information, or you may just try it by running
+ the "Setup" command and typing "K" for Kolor to enter the color
+ configuration screen (Kolor instead of Color because C means
+ Config). Most categories of color which _Alpine_ supports are
+ configurable there. Index line color is configured separately.
+ _composer-word-separators_
+ This option affects how a "word" is defined in the composer. The
+ definition of a word is used when using the Forward Word and
+ Backward Word commands in the composer, as well as when using
+ the spell checker. Whitespace is always considered a word
+ separator. Punctuation (like question marks, periods, commas,
+ and so on) is always a word separator if it comes at the end of
+ a word. By default, a punctuation character which is in the
+ middle of a word does not break up that word as long as the
+ character before and the character after it are both
+ alphanumeric. If you add a character to this option it will be
+ considered a word separator even when it occurs in the middle of
+ an alphanumeric word. For example, if you want to skip through
+ each part of an address instead of skipping the whole address at
+ once you might want to include"@" and "." in this list. If you
+ want the word-skipper to stop on each part of a UNIX filename
+ you could add "/" to the list. The equal sign and dash are other
+ possibilities you might find helpful.
+ _composer-wrap-column_
+ This option specifies an aspect of _Alpine_'s Composer. This
+ gives the maximum width that auto-wrapped lines will have. It's
+ also the maximum width of lines justified using the ^J Justify
+ command. The normal default is _74_. The largest allowed setting
+ is normally _80_ in order to prevent very long lines from being
+ sent in outgoing mail. When the mail is actually sent, trailing
+ spaces will be stripped off of each line.
+ _current-indexline-style_
+ current-indexline-style.
+ _customized-hdrs_
+ You may add your own custom headers to outgoing messages. Each
+ header you specify here must include the header tag (Reply-To:,
+ Approved:, etc.) and may optionally include a value for that
+ header. If you want to see these custom headers each time you
+ compose a message, you must add them to your
+ default-composer-hdrs list, otherwise they become part of the
+ rich header set which you only see when you press the rich
+ header command. (If you are looking for a way to change which
+ headers are _displayed_ when you view a message, take a look at
+ the viewer-hdrs option instead.) Here's an example which shows
+ how you might set your From address
+
+ From: Full Name <user@example.com>
+ and another showing how you might set a Reply-To address
+
+ Reply-To: user@example.com
+ You may also set non-standard header values here. For example,
+ you could add
+
+ Organization: My Organization Name
+ or even
+
+ X-Favorite-Colors: Purple and Gold
+ If you include a value after the colon then that header will be
+ included in your outgoing messages unless you delete it before
+ sending. If a header in the Customized-Headers list has only a
+ tag but no value, then it will not be included in outgoing
+ messages unless you edit a value in manually. For example, if
+
+ Reply-To:
+ is in the list, then the Reply-To header will be available for
+ editing but won't be included unless a value is added while in
+ the composer.
+ It's actually a little more complicated than that. The values of
+ headers that you set with the Customized-Headers option are
+ defaults. If the message you are about to compose already has a
+ value for a header, that value is used instead of a value from
+ your Customized-Headers. For example, if you are Replying to a
+ message the Subject field will already be filled in. In that
+ case, if the Customized-Headers list contains a Subject line,
+ the custom subject will _NOT_ be used. The subject derived from
+ the subject of the message you are Replying to will be used
+ instead.
+ It is also possible to make header setting even more complicated
+ and more automatic by using Roles, but if all you want to do is
+ set a default value for a header, you don't need to think about
+ Roles.
+ If you change your From address you may also find it useful to
+ add the changed From address to the alt-addresses configuration
+ option.
+ Limitation: Because commas are used to separate the list of
+ Customized-Headers, it is not possible to have the value of a
+ header contain a comma. Nor is there currently an "escape"
+ mechanism provided to make this work.
+ This option is displayed as "Customized Headers".
+ _dead-letter-files_
+ This option affects _Alpine_'s behavior when you cancel a
+ message being composed. _Alpine_'s usual behavior is to write
+ the canceled message to a file named "dead.letter" in your home
+ directory, or "DEADLETR" when using _PC-Alpine_, overwriting any
+ previous message.
+ If you set this option to a value higher than one, then that
+ many copies of dead letter files will be saved. For example, if
+ you set this option to "3" then you may have files named
+ "DEADLETR", "DEADLETR2", and "DEADLETR3"; or "dead.letter",
+ "dead.letter2", and "dead.letter3". In this example, the most
+ recently cancelled message will be in "dead.letter", and the
+ third most recently cancelled message will be in "dead.letter3".
+ The fourth most recently cancelled message will no longer be
+ saved.
+ If you set this option to zero, then NO record of canceled
+ messages is maintained.
+ If the feature Quell-Dead-Letter-On-Cancel is set, that
+ overrides whatever you set for this option. If this option had
+ existed at the time, then the Quell feature would not have been
+ added, but it is still there for backwards compatibility. So, in
+ order for this option to have the desired effect, make sure the
+ Quell feature is turned off.
+ _default-composer-hdrs_
+ You can control which headers you want visible when composing
+ outgoing email using this option. You can specify any of the
+ regular set, any Rich Header, or any Customized-Hdrs which you
+ have already defined. If you use this setting at all, you must
+ specify all the headers you want to see, you can't just add to
+ the regular header set. The default set is To:, Cc:, Attchmnt:,
+ and Subject:.
+ Note that the "Newsgroups:" header will be abbreviated in the
+ Composer display, but should be spelled out in full here.
+ This option is displayed as "Default Composer Headers".
+ _default-fcc_
+ The name of the folder to which all outgoing mail goes is set
+ here. The compiled-in default is _sent-mail_ (UNIX) or _sentmail_
+ (PC). It can be set to "" (two double quotes with nothing
+ between them) to turn off saving copies of outgoing mail. If
+ _default-fcc_ is a relative file name, then it is relative to
+ your default collection for saves (see folder-collections).
+ This option is displayed as "Default Fcc (File carbon copy)".
+ _default-saved-msg-folder_
+ This option determines the default folder name for _Saves_... If
+ this is not a path name, it will be in the default collection
+ for saves. Any valid folder specification, local or IMAP, is
+ allowed. This default folder only applies when the
+ saved-msg-name-rule doesn't override it. Unix _Alpine_ default
+ is normally _saved-messages_ in the default folder collection.
+ _PC-Alpine_ default is _SAVEMAIL_ (normally stored as
+ _SAVEMAIL.MTX_).
+ This option is displayed as "Default Saved Message Folder".
+ _disable-these-authenticators_
+ This variable is a list of SASL (Simple Authentication and
+ Security Layer) authenticators which will be disabled. SASL is a
+ mechanism for authenticating to IMAP, POP3, SMTP, and other
+ network servers.
+ _Alpine_ matches its list of supported authenticators with the
+ server to determine the most secure authenticator that is
+ supported by both. If no matching authenticators are found,
+ _Alpine_ will revert to plaintext login (or, in the case of SMTP,
+ will be unable to authenticate at all).
+ The candidates for disabling are listed below. There may be more
+ if you compile _Alpine_ with additional authenticators and/or a
+ newer version of the c-client library.
+ + GSSAPI
+ + CRAM-MD5
+ + PLAIN
+ + LOGIN
+ Normally, you will not disable any authenticators. There are two
+ exceptions:
+ 1. You use a broken server that advertises an authenticator, but
+ does not actually implement it.
+ 2. You have a Kerberos-capable version of _Alpine_ and the server
+ is also Kerberos-capable, but you can not obtain Kerberos
+ credentials on the server machine, thus you desire to disable
+ GSSAPI (which in turn disables _Alpine_'s Kerberos support).
+ It is never necessary to disable authenticators, since _Alpine_
+ will try other authenticators before giving up. However,
+ disabling the relevant authenticator avoids annoying error
+ messages.
+ _disable-these-drivers_
+ This variable is a list of mail drivers which will be disabled.
+ The candidates for disabling are listed below. There may be more
+ in the future if you compile _Alpine_ with a newer version of
+ the c-client library.
+ + mbox
+ + mbx
+ + mh
+ + mix
+ + mmdf
+ + mtx
+ + mx
+ + news
+ + phile
+ + tenex
+ + unix
+ The _mbox_ driver enables the following behavior: if there is a
+ file called mbox in your home directory, and if that file is
+ either empty or in Unix mailbox format, then every time you open
+ _INBOX_ the _mbox_ driver will automatically transfer mail from
+ the system mail spool directory into the mbox file and delete it
+ from the spool directory. If you disable the _mbox_ driver, this
+ will not happen.
+ It is not recommended to disable the driver which supports the
+ system default mailbox format. On most non-SCO systems, that
+ driver is the _unix_ driver. On most SCO systems, it is the
+ _mmdf_ driver. The system default driver may be configured to
+ something else on your system; check with your system manager
+ for additional information.
+ It is most likely not very useful for you to disable any of the
+ drivers other than possibly _mbox_. You could disable some of
+ the others if you know for certain that you don't need them but
+ the performance gain in doing so is very modest.
+ _display-character-set_
+ See the discussion in International Character Sets for details.
+ _display-filters_
+ This option defines a list of text-filtering commands (programs
+ or scripts) that may be used to filter text portions of received
+ messages prior to their use (e.g., presentation in the "Message
+ Text" display screen). For security reasons, the full path name
+ of the filter command must be specified.
+ Display filters do not work with _PC-Alpine_.
+ The command is executed and the message is piped into its
+ standard input. The standard output of the command is read back
+ by _Alpine_. The __TMPFILE__ token (see below) overrides this
+ default behavior.
+ The filter's use is based on the configured _trigger_ string.
+ The format of a filter definition is:
+
+ <trigger> <command> <arguments>
+ You can specify as many filters as you wish, separating them
+ with a comma. Each filter can have only one trigger and command.
+ Thus, two trigger strings which invoke the same command require
+ separate filter specifications.
+ The _trigger_ is simply text that, if found in the message, will
+ invoke the associated command. If the trigger contains any space
+ characters, it must be placed within quotes. Likewise, should
+ you wish a filter to be invoked unconditionally, define the
+ trigger as the null string, "" (two consecutive double-quote
+ characters). If the trigger string is found anywhere in the text
+ of the message the filter is invoked. Placing the trigger text
+ within the tokens defined below changes where within the text
+ the trigger must be before considering it a match.
+ Trigger Modifying Tokens:
+
+ __CHARSET(string)__
+ This token tells _Alpine_ to invoke the supplied command
+ if the text is in a character set matching string (e.g.,
+ ISO-8859-2 or ISO-2022-JP).
+
+ __LEADING(string)__
+ This token tells _Alpine_ to invoke the supplied command
+ if the enclosed string is found to be the first
+ non-whitespace text.
+ NOTE: Quotes are necessary if string contains the space
+ character.
+
+ __BEGINNING(string)__
+ This token tells _Alpine_ to invoke the supplied command
+ if the enclosed string is found at the beginning of any
+ line in the text.
+ NOTE: Quotes are necessary if string contains the space
+ character.
+
+ The "command" and "arguments" portion is simply the command line
+ to be invoked if the trigger string is found. Below are tokens
+ that _Alpine_ will recognize and replace with special values
+ when the command is actually invoked.
+ Command Modifying Tokens:
+
+ __TMPFILE__
+ When the command is executed, this token is replaced with
+ the path and name of the temporary file containing the
+ text to be filtered. _Alpine_ expects the filter to
+ replace this data with the filter's result. NOTE: Use of
+ this token implies that the text to be filtered is not
+ piped into standard input of the executed command and its
+ standard output is ignored. _Alpine_ restores the tty
+ modes before invoking the filter in case the filter
+ interacts with the user via its own standard input and
+ output.
+
+ __RESULTFILE__
+ When the command is executed, this token is replaced with
+ the path and name of a temporary file intended to contain
+ a status message from the filter. _Alpine_ displays this
+ in the message status field.
+
+ __DATAFILE__
+ When the command is executed, this token is replaced with
+ the path and name of a temporary file that _Alpine_
+ creates once per session and deletes upon exit. The file
+ is intended to be used by the filter to store state
+ information between instances of the filter.
+
+ __PREPENDKEY__
+ When the command is executed, this token indicates that a
+ random number will be passed down the input stream before
+ the message text. This number could be used as a session
+ key. It does not appear as a command-line argument. It is
+ sent in this way to improve security. The number is unique
+ to the current _Alpine_ session and is only generated once
+ per session.
+
+ The feature disable-terminal-reset-for-display-filters is
+ related.
+ Performance caveat/considerations:
+ Testing for the trigger and invoking the filter doesn't come for
+ free. There is overhead associated with searching for the
+ trigger string, testing for the filter's existence and actually
+ piping the text through the filter. The impact can be reduced if
+ the Trigger Modifying Tokens above are employed.
+ Limitation:
+ If Header Colors are being used, the sequences of bytes which
+ indicate color changes will be contained in the text which is
+ passed to the display-filter. If this causes problems you'll
+ need to turn off Header Colors. The thirteen bytes which
+ indicate a color change are the character \377 followed by \010
+ for a foreground color or \011 for a background color. Then
+ comes eleven characters of RGB data which looks something like
+ 255, 0,255, depending on the particular color, of course.
+ _download-command_
+ This option affects the behavior of the _Export_ command. It
+ specifies a Unix program name, and any necessary command line
+ arguments, that _Alpine_ can use to transfer the exported
+ message to your personal computer's disk.
+ _download-command-prefix_
+ This option is used in conjunction with the _download-command_
+ option. It defines text to be written to the terminal emulator
+ (via standard output) immediately prior to starting the download
+ command. This is useful for integrated serial line file transfer
+ agents that permit command passing (e.g., Kermit's APC method).
+ _editor_
+ UNIX _Alpine_ only. Sets the name of the alternate editor for
+ composing mail (message text only, not headers). It will be
+ invoked with the "^_" command or it will be invoked
+ automatically if the enable-alternate-editor-implicitly feature
+ is set.
+ _empty-header-message_
+ When sending, if both the To and Cc fields are empty and you are
+ sending the message to a Bcc, _Alpine_ will put a special
+ address in the To line. The default value is
+ "undisclosed-recipients: ;". The reason for this is to avoid
+ embarrassment caused by some Internet mail transfer software
+ that interprets a "missing" To: header as an error and replaces
+ it with an Apparently-to: header that may contain the addresses
+ you entered on the Bcc: line, defeating the purpose of the Bcc.
+ You may change the part of this message that comes before the ":
+ ;" by setting the _empty-header-message_ variable to something
+ else.
+ _fcc-name-rule_
+ Determines default folder name for fcc when composing.
+ Currently, _Alpine_ will accept the values _default-fcc_,
+ _by-recipient_, or _last-fcc-used_. If set to _default-fcc_, then
+ _Alpine_ will use the value defined in the default-fcc variable
+ (which itself has a default) for the Fcc header field. If set to
+ _by-recipient_, then _Alpine_ will use the name of the recipient
+ as a folder name for the fcc. The relevant recipient is the
+ first address in the To field. If set to "last-fcc-used", then
+ _Alpine_ will offer to Fcc to whatever folder you used
+ previously. In all cases, the field can still be edited after it
+ is initially assigned. If the fcc field in the address book is
+ set for the first To address, that value over-rides any value
+ derived from this rule.
+ _feature-list_
+ This is a list of the many features (options) which may be
+ turned on or off. There is a separate section titled
+ Configuration Features which explains each of the features.
+ There is some additional explanation about the _feature-list_
+ variable itself in Feature List Variable.
+ _file-directory_
+ _PC-Alpine_ only. This value affects the Composer's "^J Attach"
+ command, the Attachment Index Screen's "S Save" command, and the
+ Message Index's "E Export" command.
+ Normally, when a filename is supplied that lacks a leading
+ "path" component, _Alpine_ assumes the file exists in the user's
+ home directory. Under Windows operating systems, this definition
+ isn't always clear. This feature allows you to explictly set
+ where _Alpine_ should look for files without a leading path.
+ NOTE: this feature's value is ignored if either use-current-dir
+ feature is set or the PINERC has a value for the operating-dir
+ variable.
+ _folder-collections_
+ This is a list of one or more collections where saved mail is
+ stored. See the sections describing folder collections and
+ collection syntax for more information. The first collection in
+ this list is the default collection for _Save_s, including
+ default-fcc's.
+ _folder-extension_
+ _PC-Alpine_ only. File extension used for local folder names.
+ This is .MTX by default.
+ _folder-reopen-rule_
+ _Alpine_ normally checks for new mail in the currently open
+ folder and in the INBOX every few minutes.
+ There are some situations where automatic new-mail checking does
+ not work. For example, if a mail folder is opened using the POP
+ protocol or a newsgroup is being read using the NNTP protocol,
+ then new-mail checking is disabled.
+ It may be possible to check for new mail in these cases by
+ reopening the folder. _Alpine_ does not do this for you
+ automatically, but you may do the commands manually to cause
+ this to happen. You reopen by going back to the folder list
+ screen from the message index screen with the "<" command, and
+ then going back into the message index screen with the ">"
+ command. (Actually, any method you would normally use to open a
+ folder will work the same as the "<" followed by ">" method. For
+ example, the GoTo Folder command will work, or you may use L to
+ go to the Folder List screen and Carriage Return to reopen the
+ folder.)
+ There are some cases where _Alpine_ knows that reopening the
+ folder should be useful as a way to discover new mail. At the
+ time of this writing, connections made using the POP protocol,
+ news reading using the NNTP protocol, local news reading, and
+ local ReadOnly folders which are in the traditional UNIX or the
+ MMDF format all fall into this category. There are other cases
+ where it _may_ be a way to discover new mail, but _Alpine_ has
+ no way of knowing, so it might also just be an exercise in
+ futility. All remote, ReadOnly folders other than those listed
+ just above fall into this category. The setting of this option
+ together with the type of folder controls how _Alpine_ will
+ react to the apparent attempt to reopen a folder.
+ If you don't reopen, then you will just be back in the message
+ index with no change. You left the index and came back, but the
+ folder remained "open" the whole time. However, if you do reopen
+ the folder, the folder is closed and then reopened. In this
+ case, the current state of the open folder is lost. The New
+ status, Important and Answered flags, selected state, Zoom
+ state, collapsed or expanded state of threads, current message
+ number, and any other temporary state is all lost when the
+ reopen happens. For POP folders (but not NNTP newsgroups) the
+ Deleted flags are also lost.
+ In the possibilities listed below, the text says "POP/NNTP" in
+ several places. That really implies the case where _Alpine_
+ knows it is a good way to discover new mail, which is more than
+ just POP and NNTP, but POP and NNTP are the cases of most
+ interest. This option probably has more possible values than it
+ deserves. They are:
+
+ Always reopen
+ _Alpine_ will not ask whether you want to reopen but will
+ just do the reopen whenever you type a command that
+ implies a reopen, regardless of the access method. In
+ other words, it is assumed you would always answer Yes if
+ asked about reopening.
+
+ Yes for POP/NNTP, Ask about other remote [Yes]
+ _Alpine_ will assume a Yes answer if the access method is
+ POP or NNTP, but will ask you whether to reopen other
+ remote folders, with a default answer of Yes.
+
+ Yes for POP/NNTP, Ask about other remote [No]
+ _Alpine_ will assume a Yes answer if the access method is
+ POP or NNTP, but will ask you whether to reopen other
+ remote folders, with a default answer of No.
+
+ Yes for POP/NNTP, No for other remote
+ _Alpine_ will assume a Yes answer if the access method is
+ POP or NNTP, and will assume a No answer for all other
+ remote folders.
+
+ Always ask [Yes]
+ _Alpine_ will not differentiate based on access method. It
+ will always ask for all remote folders, with a default
+ answer of Yes.
+
+ Always ask [No]
+ _Alpine_ will not differentiate based on access method. It
+ will always ask for all remote folders, with a default
+ answer of No.
+
+ Ask about POP/NNTP [Yes], No for other remote
+ _Alpine_ will ask if the access method is POP or NNTP,
+ with a default answer of Yes. It will never attempt to
+ reopen other remote folders.
+
+ Ask about POP/NNTP [No], No for other remote
+ This is the default. _Alpine_ will ask if the access
+ method is POP or NNTP, with a default answer of No. It
+ will never attempt to reopen other remote folders.
+
+ Never reopen
+ _Alpine_ will never attempt to reopen already open
+ folders.
+
+ Remember, wherever it says POP or NNTP above it really means POP
+ or NNTP or any of the other situations where it is likely that
+ reopening is a good way to discover new mail.
+ There is an alternative that may be of useful in some
+ situations. Instead of manually checking for new mail you can
+ set up a Mail Drop and automatically check for new mail.
+ _folder-sort-rule_
+ This option controls the order in which folder list entries will
+ be presented in the FOLDER LIST screen. Choose one of the
+ following:
+
+ _Alphabetical_
+ sort by alphabetical name independent of type
+
+ _Alpha-with-dirs-last_
+ sort by alphabetical name grouping directory entries to
+ the end of the list
+
+ _Alpha-with-dirs-first_
+ sort by alphabetical name grouping directory entries to
+ the start of the list
+
+ The normal default is _Alphabetical_.
+ _font-name_
+ Winsock version of _PC-Alpine_ only.
+ _font-size_
+ Winsock version of _PC-Alpine_ only.
+ _font-style_
+ Winsock version of _PC-Alpine_ only.
+ _forced-abook-entry_
+ System-wide _Alpine_ configuration files only. Force these
+ address book entries into all writable personal address books.
+ This is a list variable. Each item in the list has the form:
+
+ Nickname | Fullname | Address
+ with optional whitespace in all the obvious places.
+ _form-letter-folder_
+ A Form Letter Folder is a mail folder that is intended to
+ contain messages that you have composed and that are intended to
+ be sent in their original form repeatedly.
+ Setting this variable will alter _Alpine_'s usual behavior when
+ you execute the Compose command. Normally, _Alpine_ offers a
+ chance to continue a postponed or interrupted message should one
+ or the other exist. When this variable is set to a folder name
+ that exists, _Alpine_ will also offer the chance to select a
+ message from the folder to insert into the composer, much like
+ when continuing a postponed message. The difference, however, is
+ that _Alpine_ will not automatically delete the selected message
+ from the Form Letter Folder.
+ Setting this variable will also affect _Alpine_'s behavior when
+ you Postpone a message from the composer. Normally, _Alpine_
+ simply stashes the message away in your Postponed-Folder.
+ Regardless of the specified folder's existence, _Alpine_ will
+ ask which folder you intend the message to be stored in. Choose
+ the "F" option to store the message in your Form Letter Folder.
+ This is the most common way to add a message to the folder.
+ Another method of adding messages to the folder is via the
+ _Alpine_ composer's Fcc: field. If you are sending a message that
+ you expect to send in the same form again, you can enter the
+ Form Letter Folder's name in this field. _Alpine_, as usual,
+ will copy the message as it's sent. Note, when you later select
+ this message from your Form Letter Folder, it will have the same
+ recipients as the original message.
+ To delete a message from the Form Letter Folder, you can either
+ select the folder from a suitable FOLDER LIST screen, or use the
+ Delete command in the MESSAGE INDEX offered when selecting from
+ the folder as part of the Compose command. You can delete a Form
+ Letter Folder just as any other folder from a suitable FOLDER
+ LIST screen.
+ You may find that the Roles facility can be used to replace the
+ Form Letter Folder.
+ _global-address-book_
+ A list of shared address books. Each entry in the list is an
+ optional nickname followed by a pathname or file name relative
+ to the home directory. A SPACE character separates the nickname
+ from the rest of the line. Instead of a local pathname or file
+ name, a remote folder name can be given. This causes the address
+ book to be a Remote address book. Remote folder syntax is
+ discussed in Syntax for Remote Folders. This list will be added
+ to the address-book list to arrive at the complete set of
+ address books. Global address books are defined to be ReadOnly.
+ _goto-default-rule_
+ This value affects _Alpine_'s behavior when using the _Goto_
+ command. There are five possible values for this option:
+
+ _folder-in-first-collection_
+ _Alpine_ will offer the most recently visited folder in
+ the default collection found in the "Collection List"
+ screen as the default.
+
+ _inbox-or-folder-in-first-collection_
+ If the current folder is _INBOX_, _Alpine_ will offer the
+ most recently visited folder in the default collection
+ found in the "Collection List" screen. If the current
+ folder is other than _INBOX_, _INBOX_ is offered as the
+ default.
+
+ _inbox-or-folder-in-recent-collection_
+ This is _Alpine_'s default behavior. If the current folder
+ is _INBOX_, _Alpine_ will offer the last open folder as
+ the default. If the current folder is other than _INBOX_,
+ _INBOX_ is offered as the default.
+
+ _first-collection-with-inbox-default_
+ Instead of offering the most recently visited folder in
+ the default collection, the default collection is offered
+ but with _INBOX_ as the default folder. If you type in a
+ folder name it will be in the default collection. If you
+ simply accept the default, however, your _INBOX_ will be
+ opened.
+
+ _most-recent-folder_
+ The last accepted value simply causes the most recently
+ opened folder to be offered as the default regardless of
+ the currently opened folder.
+
+ NOTE: The default while a newsgroup is open remains the same;
+ the last open newsgroup.
+ _header-general-background-color_
+ _header-general-foreground-color_
+ Header Colors.
+ _image-viewer_
+ This variable names the program to call for displaying parts of
+ a MIME message that are of type IMAGE. If your system supports
+ the _mailcap_ system, you don't need to set this variable.
+ _inbox-path_
+ This specifies the name of the folder to use for the _INBOX_. By
+ default this is unset and the system's default is used. The most
+ common reason for setting this is to open an IMAP mailbox for
+ the _INBOX_. For example, _{imap5.u.example.edu}inbox_ will open
+ the user's standard _INBOX_ on the mail server, _imap5_.
+ _incoming-archive-folders_
+ This is like read-message-folder, only more general. This is a
+ list of folder pairs, with the first separated from the second
+ in the pair by a space. The first folder in a pair is the folder
+ you want to archive, and the second folder is the folder that
+ read messages from the first should be moved to. Depending on
+ how you define the auto-move-read-msgs feature, you may or may
+ not be asked when you leave the first folder if you want read
+ messages to be moved to the second folder. In either case,
+ moving the messages means they will be deleted from the first
+ folder.
+ If these are not path names, they will be in the default
+ collection for _Save_s. Any valid folder specification, local or
+ remote (via IMAP), is allowed. There is no default.
+ _incoming-check-interval_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ This option specifies, in seconds, how often _Alpine_ will check
+ for new mail and state changes in Incoming Folders when Incoming
+ Folders Checking is turned on. The default is 3 minutes (180).
+ This value applies only to folders that are local to the system
+ that _Alpine_ is running on or that are accessed using the IMAP
+ protocol. The similar option incoming-check-interval-secondary
+ applies to all other monitored folders.
+ _incoming-check-interval-secondary_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ This option together with the option incoming-check-interval
+ specifies, in seconds, how often _Alpine_ will check for new
+ mail and state changes in Incoming Folders when Incoming Folders
+ Checking is turned on. The default for this option is 3 minutes
+ (180). For folders that are local to this system or that are
+ accessed using the IMAP protocol the value of the option
+ incoming-check-interval is used. For all other monitored
+ folders, the value of this option is used.
+ The reason there are two separate options is because it is
+ usually less expensive to check local and IMAP folders than it
+ is to check other types, like POP or NNTP folders. You may want
+ to set this secondary value to a higher number than the primary
+ check interval.
+ _incoming-check-list_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ When monitoring the Incoming Message Folders for Unseen messages
+ Alpine will normally monitor all Incoming Folders. You may use
+ this option to restrict the list of monitored folders to a
+ subset of all Incoming Folders.
+ _incoming-check-timeout_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ Sets the time in seconds that Alpine will attempt to open a
+ network connection used for monitoring for Unseen messages in
+ Incoming Folders. The default is 5. If a connection has not
+ completed within this many seconds Alpine will give up and
+ consider it a failed connection.
+ _incoming-folders_
+ This is a list of one or more folders other than _INBOX_ that
+ may receive new messages. This list is slightly special in that
+ it is always expanded in the folder lister. In the future, it
+ may become more special. For example, it would be nice if
+ _Alpine_ would monitor the folders in this list for new mail.
+ _incoming-startup-rule_
+ This rule affects _Alpine_'s behavior when opening the _INBOX_
+ or another folder from the "INCOMING MESSAGE FOLDERS". This rule
+ tells _Alpine_ which message to make the current message when an
+ incoming folder is opened. There are seven possible values for
+ this option:
+
+ _first-unseen_
+ The current message will be the first unseen message which
+ has not been marked deleted, or the last message if all of
+ the messages have been seen. This is the default setting.
+
+ _first-recent_
+ This is similar to _first-unseen_. Instead of first unseen
+ it is the first recent message. A message is considered to
+ be recent if it arrived since the last time the folder was
+ open (by any mail client, not just the current one). So
+ this option causes the current message to be set to the
+ first undeleted-recent message, or the last message if
+ none is both undeleted and recent.
+
+ _first-important_
+ This will result in the current message being set to the
+ first message marked Important (but not Deleted). If no
+ messages are marked Important, then it will be the last
+ message.
+
+ _first-important-or-unseen_
+ This selects the minimum of the first unseen and the first
+ important messages.
+
+ _first-important-or-recent_
+ This selects the first of the first recent and the first
+ important messages.
+
+ _first_
+ Set the current message to the first undeleted message
+ unless all are deleted. In that case set it to the last
+ message.
+
+ _last_
+ Set the current message to the last undeleted message
+ unless all are deleted. In that case set it to the last
+ message.
+
+ _incoming-unseen-background-color_
+ _incoming-unseen-foreground-color_
+ Incoming Unseen Color.
+ _index-answered-background-color_
+ _index-answered-foreground-color_
+ _index-arrow-background-color_
+ _index-arrow-foreground-color_
+ _index-deleted-background-color_
+ _index-deleted-foreground-color_
+ _index-from-background-color_
+ _index-from-foreground-color_
+ _index-highpriority-background-color_
+ _index-highpriority-foreground-color_
+ _index-important-background-color_
+ _index-important-foreground-color_
+ _index-lowpriority-background-color_
+ _index-lowpriority-foreground-color_
+ _index-new-background-color_
+ _index-new-foreground-color_
+ _index-opening-background-color_
+ _index-opening-foreground-color_
+ _index-recent-background-color_
+ _index-recent-foreground-color_
+ _index-subject-background-color_
+ _index-subject-foreground-color_
+ _index-to-me-background-color_
+ _index-to-me-foreground-color_
+ _index-unseen-background-color_
+ _index-unseen-foreground-color_
+ Index Colors.
+ _index-format_
+ This option is used to customize the content of lines in the
+ MESSAGE INDEX screen. Each line is intended to convey some
+ amount of immediately relevant information about each message in
+ the current folder.
+ _Alpine_ provides a pre-defined set of informational fields with
+ reasonable column widths automatically computed. You can,
+ however, replace this default set by listing special tokens in
+ the order you want them displayed.
+ The list of available tokens is here.
+ Spaces are used to separate listed tokens. Additionally, you can
+ specify how much of the screen's width the taken's associated
+ data should occupy on the index line by appending the token with
+ a pair of parentheses enclosing either a number or percentage.
+ For example, "SUBJECT(13)" means to allocate 13 characters of
+ space to the subject column, and "SUBJECT(20%)" means to
+ allocate 20% of the available space to the subjects column,
+ while plain "SUBJECT" means the system will attempt to figure
+ out a reasonable amount of space.
+ There is always one space between every pair of columns, so if
+ you use fixed column widths (like 13) you should remember to
+ take that into account. Several of the fields are virtually
+ fixed-width, so it doesn't make much sense to specify the width
+ for them. The fields STATUS, FULLSTATUS, IMAPSTATUS, MSGNO, the
+ DATE fields, SIZE, and DESCRIPSIZE all fall into that category.
+ You _may_ specify widths for those if you wish, but you're
+ probably better off letting the system pick those widths.
+ The default is equivalent to:
+
+ index-format=STATUS MSGNO SMARTDATETIME24 FROMORTO(33%) SIZENARROW SUBJ
+ KEY(67%)
+ This means that the four fields without percentages will be
+ allocated first, and then 33% and 67% of the _remaining_ space
+ will go to the from and subject fields. If one of those two
+ fields is specified as a percentage and the other is left for
+ the system to choose, then the percentage is taken as an
+ absolute percentage of the screen, not of the space remaining
+ after allocating the first four columns. It doesn't usually make
+ sense to do it that way. If you leave off all the widths, then
+ the subject and from fields (if both are present) are allocated
+ space in a 2 to 1 ratio, which is almost exactly the same as the
+ default.
+ What you are most likely to do with this configuration option is
+ to specify which fields appear at all, which order they appear
+ in, and the percentage of screen that is used for the from and
+ subject fields if you don't like the 2 to 1 default.
+ If you want to retain the default format that _Pine_ 4.64 had,
+ use
+
+ Index-Format=STATUS MSGNO DATE FROMORTO(33%) SIZE SUBJKEY(67%)
+ _and_ set the feature Disable-Index-Locale-Dates.
+ _initial-keystroke-list_
+ This is a comma-separated list of keystrokes which _Alpine_
+ executes on startup. Items in the list are usually just
+ characters, but there are some special values. _SPACE,_ _TAB,_
+ and _CR_ mean a space character, tab character, and a carriage
+ return, respectively. _F1_ through _F12_ stand for the twelve
+ function keys. _UP, DOWN, LEFT, _and_ RIGHT _stand for the arrow
+ keys. Control characters are represented with _^<char>_. A
+ restriction is that you can't mix function keys and character
+ keys in this list even though you can, in some cases, mix them
+ when running _Alpine_. A user can always use only _character_
+ keys in the startup list even if he or she is using _function_
+ keys normally, or vice versa. If an element in this list is a
+ string surrounded by double quotes (") then it will be expanded
+ into the individual characters in the string, excluding the
+ double quotes.
+ _kblock-passwd-count_
+ System-wide _Alpine_ configuration files only. Number of times a
+ user will have to enter a password when they run the keyboard
+ lock command in the main menu.
+ _keyboard-character-set_
+ See the discussion in International Character Sets for details.
+ _keylabel-background-color_
+ _keylabel-foreground-color_
+ KeyLabel Color.
+ _keyname-background-color_
+ _keyname-foreground-color_
+ KeyName Color.
+ _keywords_
+ You may define your own set of keywords and optionally set them
+ on a message by message basis. These are similar to the
+ "Important" flag which the user may set using the Flag command.
+ The difference is that the Important flag is always present for
+ each folder. User-defined keywords are chosen by the user. You
+ may set up the list of possible keywords here, or you may add
+ keywords from the Flag Details screen that you can get to after
+ typing the Flag (*) command. After the keywords have been
+ defined, then you use the Flag command to set or clear the
+ keywords in each message. The behavior of the flag command may
+ be modified by using the Enable-Flag-Screen-Implicitly option or
+ the Enable-Flag-Screen-Keyword-Shortcut option.
+ Keywords may be used when Selecting messages (Select Keyword).
+ Keywords may also be used in the Patterns of Rules (Filters,
+ Indexcolors, etc). Filter rules may be used to set keywords
+ automatically. Keywords may be displayed as part of the Subject
+ of a message by using the SUBJKEY or SUBJKEYINIT tokens in the
+ Index-Format option. The Keyword-Surrounding-Chars option may be
+ used to modify the display of keywords using SUBJKEY and
+ SUBJKEYINIT slightly. Keywords may also be displayed in a column
+ of their own in the MESSAGE INDEX screen by using the KEY or
+ KEYINIT tokens. It is also possible to color keywords in the
+ index using the Setup/Kolor screen (Keyword Colors). Keywords
+ are not supported by all mail servers.
+ You may give keywords nicknames if you wish. If the keyword
+ definition you type in contains a SPACE character, then the
+ actual value of the keyword is everything after the last SPACE
+ and the nickname for that keyword is everything before the last
+ SPACE. For example, suppose you are trying to interoperate with
+ another email program which uses a particular keyword with an
+ unpleasant name. Maybe it uses a keyword called
+
+ VendorName.SoftwareName.08
+ but for you that keyword means that the message is work-related.
+ You could define a keyword to have the value
+
+ Work VendorName.SoftwareName.08
+ and then you would use the name "Work" when dealing with that
+ keyword in _Alpine_. If you defined it as
+
+ My Work VendorName.SoftwareName.08
+ the nickname would be everything before the last SPACE, that is
+ the nickname would be "My Work".
+ Some commonly used keywords begin with dollar signs. This
+ presents a slight complication, because the dollar sign is
+ normally used to signify environment variable expansion in the
+ _Alpine_ configuration. In order to specify a keyword which
+ begins with a dollar sign you must precede the dollar sign with
+ a second dollar sign to escape its special meaning. For example,
+ if you want to include the keyword
+
+ $Label1
+ as one of your possible keywords, you must enter the text
+
+ $$Label1
+ instead.
+ _keyword-surrounding-chars_
+ This option controls a minor aspect of _Alpine_'s MESSAGE INDEX
+ and MESSAGE TEXT screens. If you have modified the Index-Format
+ option so that either the "SUBJKEY" or "SUBJKEYINIT" tokens are
+ used to display keywords or their initials along with the
+ Subject; then this option may be used to modify the resulting
+ display slightly. By default, the keywords or initials displayed
+ for these tokens will be surrounded with curly braces ({ and })
+ and a trailing space. For example, if keywords "Work" and "Now"
+ are set for a message, the "SUBJKEY" token will normally look
+ like
+
+ {Work Now} actual subject
+ and the SUBJKEYINIT token would look like
+
+ {WN} actual subject
+ The default character before the keywords is the left brace ({)
+ and the default after the keywords is the right brace followed
+ by a space (} ).
+ This option allows you to change that. You should set it to two
+ values separated by a space. The values may be quoted if they
+ include space characters. So, for example, the default value
+ could be specified explicitly by setting this option to
+
+ Keyword-Surrounding-Chars="{" "} "
+ The first part wouldn't need to be quoted (but it doesn't hurt).
+ The second part does need the quotes because it includes a space
+ character. If you wanted to change the braces to brackets you
+ could use
+
+ Keyword-Surrounding-Chars="[" "] "
+ Inside the quotes you can use backslash quote to mean quote, so
+
+ Keyword-Surrounding-Chars="\"" "\" "
+ would produce
+
+ "Work Now" actual subject
+ It is also possible to color keywords in the index using the
+ Setup/Kolor screen (Keyword Colors).
+ It is not possible to change the fact that a space character is
+ used to separate the keywords if more than one keyword is set
+ for a message. It is also not possible to change the fact that
+ there are no separators between the keyword initials if more
+ than one keyword is set.
+ This option is displayed as "Keyword Surrounding Characters".
+ _last-time-prune-questioned_
+ Personal configuration file only. This variable records the
+ month the user was last asked if his or her _sent-mail_ folders
+ should be pruned. The format is _yy.mm_. This is automatically
+ updated by _Alpine_ when the the pruning is done or declined. If
+ a user wanted to make _Alpine_ stop asking this question he or
+ she could set this time to something far in the future. This may
+ not be set in the system-wide configuration files. Note: The _yy_
+ year is actually the number of years since 1900, so it will be
+ equal to 101 in the year 2001.
+ _last-version-used_
+ Personal configuration file only. This is set automatically by
+ _Alpine_. It is used to keep track of the last version of _Alpine_
+ that was run by the user. Whenever the version number increases,
+ a new version message is printed out. This may not be set in the
+ system-wide configuration files.
+ _ldap-servers_
+ This is only available if _Alpine_ was linked with an LDAP
+ library when it was compiled. This variable is normally managed
+ by _Alpine_ though it can be set in the system-wide
+ configuration files as well as the personal configuration. It is
+ a list variable. Each item in the list contains quite a bit of
+ extra information besides just the server name. To put this into
+ a system-wide config file the easiest thing to do is to
+ configure a personal _Alpine_ for the LDAP server then copy the
+ configuration line into the system-wide config file. Each item
+ in the list looks like:
+
+ server_name[:port] "quoted stuff"
+ The server_name is just a hostname and it is followed by an
+ optional colon and port number. The default port is 389.
+ Following the server name is a single SPACE character followed
+ by a bunch of characters inside double quotes. The part inside
+ the quotes is a set of _tag_ = _value_ pairs. Each tag is
+ preceded by a slash (/) and followed by an equal sign. The value
+ for that tag is the text up to the next slash. An example of
+ some quoted stuff is:
+
+ "/base=o=University of Washington, c=US/impl=0/.../nick=My Server"
+ This would set the search base for this server to o=University
+ of Washington, c=US, set the implicit bit to zero, and set the
+ nickname for the server to My Server. All of the tags correspond
+ directly to items in the Setup/Directory screen so experiment
+ with that if you want to see what the possible tags and values
+ are.
+ _literal-signature_
+ With this option your actual signature, as opposed to the name
+ of a file containing your signature, is stored in the _Alpine_
+ configuration file. If this is defined it takes precedence over
+ the _signature-file_ option.
+ This is simply a different way to store the signature data. The
+ signature is stored inside your _Alpine_ configuration file
+ instead of in a separate signature file. Tokens contained in the
+ signature work the same way they do with the regular
+ signature-file.
+ The Setup/Signature command in _Alpine_'s Main Menu will edit
+ the _literal-signature_ by default. However, if no
+ _literal-signature_ is defined and the file named in the
+ _signature-file_ option exists, then the latter will be used
+ instead. Compose (Reply, Forward, ...) will default to using the
+ _literal-signature_ if defined, otherwise it will use the
+ contents of the file named in _signature-file_.
+ The _Alpine_ composer is used to edit the literal-signature. The
+ result of that edit is first converted to a C-style string
+ before it is stored in the configuration file. In particular,
+ the two character sequence \n (backslash followed by the
+ character "n") will be used to signify a line-break in the
+ signature. You don't have to enter the \n, but it will be
+ visible in the SETUP CONFIGURATION window after you are done
+ editing the signature.
+ _mail-check-interval_
+ This option specifies, in seconds, how often _Alpine_ will check
+ for new mail. If set to zero, new-mail checking is disabled.
+ (You can always manually force a new-mail check by typing ^L
+ (Ctrl-L), which is also the command to refresh the screen, or by
+ typing the Next command when the current message is the last
+ message of the folder.) There is a minimum value for this
+ option, normally 15 seconds. The default value is normally 150
+ seconds. The higher you set this option, the easier it is on the
+ server.
+ There are some situations where automatic new-mail checking does
+ not work. See the discussion about new-mail checking in
+ folder-reopen-rule.
+ The new-mail checking will not happen exactly at the frequency
+ that you specify. For example, _Alpine_ may elect to defer a
+ non-INBOX mail check if you are busy typing. Or, it may check
+ more frequently than you have specified if that is thought to be
+ necessary to keep the server from closing the connection to the
+ folder due to inactivity. If _Alpine_ checks for new mail as a
+ side effect of another command, it will reset the timer, so that
+ new-mail checking may seem to happen irregularly instead of
+ every X seconds like clockwork.
+ If you are anxious to know about new mail as soon as possible,
+ set the check interval low, and you'll know about the new mail
+ by approximately that amount of time after it arrives. If you
+ aren't so worried about knowing right away, set this option to a
+ higher value. That will save the server some processing time and
+ may save you some of the time you spend waiting for new-mail
+ checks to happen if you are dealing with a slow server or slow
+ network connection.
+ If you suspect that new-mail checking is causing slow downs for
+ you, you may want to look into the options
+ Quell-Mailchecks-Composing-Except-Inbox,
+ Quell-Mailchecks-Composing-Inbox and
+ Mail-Check-Interval-Noncurrent, which refine when mail checking
+ is done.
+ If the mailbox being check uses a Mail Drop then there is a
+ minimum time (maildrop-check-minimum) between new-mail checks.
+ Because of this minimum you may notice that new mail does not
+ appear promptly when you expect it. The reason for this is to
+ protect the server from over-zealous opening and closing of the
+ Mail Drop folder, since that is a costly operation.
+ A side effect of disabling mail checking is that there will be
+ situations in which the user's IMAP connection will be broken
+ due to inactivity timers on the server. Another side effect is
+ that the user-input-timeout option won't work.
+ _mail-check-interval-noncurrent_
+ This option is closely related to the Mail-Check-Interval
+ option, as well as the Quell-Mailchecks-Composing-Except-Inbox
+ and Quell-Mailchecks-Composing-Inbox options. If the
+ "Mail-Check-Interval" option is set to zero, then automatic
+ new-mail checking is disabled and this option will have no
+ effect.
+ Normally this option is set to zero, which means that the value
+ used will be the same as the value for the
+ "Mail-Check-Interval". If you set this option to a value
+ different from zero (usually larger than the value for
+ "Mail-Check-Interval") then that is the check interval that will
+ be used for folders which are not the currently open folder or
+ the INBOX. You may not even have any folders that are noncurrent
+ and not the INBOX. If you do, it is likely that they are due to
+ Stay-Open-Folders you have configured. This option also affects
+ the rate of mail checking done on cached connections to folders
+ you previously had open but are no longer actively using. You
+ aren't expected to understand that last sentence, but if you are
+ interested take a look at Max-Remote-Connections, and the
+ related options.
+ _mail-directory_
+ This variable was more important in previous versions of
+ _Alpine_. Now it is used only as the default for storing personal
+ folders (and only if there are no folder-collections defined).
+ The default value is _~/mail_ on UNIX and _${HOME}\MAIL_ on a
+ PC.
+ _mailcap-search-path_
+ This variable is used to replace _Alpine_'s default mailcap file
+ search path. It takes one or more file names (full paths must be
+ specified) in which to look for mail capability data.
+ _maildrop-check-minimum_
+ New-mail checking for a Mail Drop is a little different from new
+ mail checking for a regular folder. One of the differences is
+ that the connection to the Mail Drop is not kept open and so the
+ cost of checking (delay for you and additional load for the
+ server) may be significant. Because of this additional cost we
+ set a minimum time that must pass between checks. This minimum
+ only applies to the automatic checking done by _Alpine_. If you
+ force a check by typing ^L (Ctrl-L) or by typing the Next
+ command when you are at the end of a folder index, then the
+ check is done right away.
+ This option specifies, in seconds, the _minimum_ time between
+ Mail Drop new-mail checks. You may want to set this minimum high
+ in order to avoid experiencing some of the delays associated
+ with the checks. Note that the time between checks is still
+ controlled by the regular Mail-Check-Interval option. When
+ _Alpine_ is about to do an automatic check for new mail (because
+ the Mail-Check-Interval has expired) then if the time since the
+ last new-mail check of any open Mail Drops has been greater than
+ the MailDrop-Check-Minimum, the Mail Drop is checked for new
+ mail as well. Therefore, it is only useful to set this option to
+ a value that is higher than the Mail-Check-Interval.
+ If this option is set to zero, automatic Mail Drop new-mail
+ checking is disabled. There is a minimum value, normally 60
+ seconds. The default value is normally 60 seconds as well. This
+ applies to the INBOX and to the currently open folder if that is
+ different from the INBOX.
+ _max-remote-connections_
+ This option affects low-level behavior of _Alpine_. The default
+ value for this option is _2_. If your INBOX is accessed using
+ the IMAP protocol from an IMAP server, that connection is kept
+ open throughout the duration of your _Alpine_ session,
+ independent of the value of this option. The same is true of any
+ Stay-Open-Folders you have defined. This option controls
+ _Alpine_'s behavior when connecting to remote IMAP folders other
+ than your INBOX or your Stay-Open-Folders. It specifies the
+ maximum number of remote IMAP connections (other than those
+ mentioned above) that _Alpine_ will use for accessing the rest
+ of your folders. If you set this option to zero, you will turn
+ off most remote connection re-use. It's difficult to understand
+ exactly what this option does, and it is usually fine to leave
+ it set to its default value. It is probably more likely that you
+ will be interested in setting the Stay-Open-Folders option
+ instead of changing the value of this option. A slightly longer
+ explanation of what is going on with this option is given in the
+ next paragraphs.
+ There are some time costs involved in opening and closing remote
+ IMAP folders, the main costs being the time you have to wait for
+ the connection to the server and the time for the folder to
+ open. Opening a folder may involve not only the time the server
+ takes to do its processing but time that _Alpine_ uses to do
+ filtering. These times can vary widely. They depend on how
+ loaded the server is, how large the folder being opened is, and
+ how you set up filtering, among other things. Once _Alpine_ has
+ opened a connection to a particular folder, it will attempt to
+ keep that connection open in case you use it again. In order to
+ do this, _Alpine_ will attempt to use the Max-Remote-Connections
+ (the value of this option) IMAP connections you have alloted for
+ this purpose.
+ For example, suppose the value of this option is set to "2". If
+ your INBOX is accessed on a remote server using the IMAP
+ protocol, that doesn't count as one of the remote connections
+ but it is always kept open. If you then open another IMAP
+ folder, that would be your first remote connection counted as
+ one of the Max-Remote-Connections connections. If you open a
+ third folder the second will be left open, in case you return to
+ it. You won't be able to tell it has been left open. It will
+ appear to be closed when you leave the folder but the connection
+ will remain in the background. Now suppose you go back to the
+ second folder (the first folder after the INBOX). A connection
+ to that folder is still open so you won't have to wait for the
+ startup time to open it. Meanwhile, the connection to the third
+ folder will be left behind. Now, if you open a fourth folder,
+ you will bump into the Max-Remote-Connections limit, because
+ this will be the third folder other than INBOX and you have the
+ option set to "2". The connection that is being used for the
+ third folder will be re-used for this new fourth folder. If you
+ go back to the third folder after this, it is no longer already
+ connected when you get there. You'll still save some time since
+ _Alpine_ will re-use the connection to the fourth folder and you
+ have already logged in on that connection, but the folder will
+ have to be re-opened from scratch.
+ If a folder is large and the startup cost is dominated by the
+ time it takes to open that folder or to run filters on it, then
+ it will pay to make the value of this option large enough to
+ keep it open. On the other hand, if you only revisit a handful
+ of folders or if the folders are small, then it might make more
+ sense to keep this number small so that the reconnect time (the
+ time to start up a new connection and authenticate) is
+ eliminated instead.
+ You may also need to consider the impact on the server. On the
+ surface, a larger number here may cause a larger impact on the
+ server, since you will have more connections open to the server.
+ On the other hand, not only will _you_ be avoiding the startup
+ costs associated with reopening a folder, but the _server_ will
+ be avoiding those costs as well.
+ When twenty five minutes pass without any active use of an IMAP
+ connection being saved for possible re-use, that connection will
+ be shut down,
+ This option is displayed as "Maximum Remote Connections".
+ _meta-message-background-color_
+ _meta-message-foreground-color_
+ Meta-message Color.
+ _mimetype-search-path_
+ This variable is used to replace _Alpine_'s default mime.types
+ file search path. It takes one or more file names (full paths
+ must be specified) in which to look for file-name-extension to
+ MIME type mapping data. See the Config Notes for details on
+ _Alpine_'s usage of the MIME.Types File.
+ _new-version-threshold_
+ When a new version of _Alpine_ is run for the first time it
+ offers a special explanatory screen to the user upon startup.
+ This option helps control when and if that special screen
+ appears for users that have previously run _Alpine_. It takes as
+ its value a _Alpine_ version number. _Alpine_ versions less than
+ the specified value will supress this special screen while
+ versions equal to or greater than that specified will behave
+ normally.
+ _newmail-fifo-path_
+ This option is only available in UNIX _Alpine_. However, there
+ is a very similar feature built in to _PC-Alpine_. In
+ _PC-Alpine_'s Config menu at the top of the screen is an option
+ called "New Mail Window".
+ You may have _Alpine_ create a FIFO special file (also called a
+ named pipe, see mkfifo(3) and fifo(4)) where it will send a
+ one-line message each time a new message is received in the
+ current folder, the INBOX, or any open Stay-Open-Folders. To
+ protect against two different _Alpine_s both writing to the same
+ FIFO, _Alpine_ will only create the FIFO and write to it if it
+ doesn't already exist.
+ A possible way to use this option would be to have a separate
+ window on your screen running the command
+
+ cat filename
+ where "filename" is the name of the file given for this option.
+ Because the file won't exist until after you start _Alpine_, you
+ must _first_ start _Alpine_ and _then_ run the "cat" command.
+ You may be tempted to use "tail -f filename" to view the new
+ mail log. However, the common implementations of the tail
+ command will not do what you are hoping.
+ The width of the messages produced for the FIFO may be altered
+ with the NewMail-Window-Width option.
+ On some systems, fifos may only be created in a local
+ filesystem. In other words, they may not be in NFS filesystems.
+ This requirement is not universal. If the system you are using
+ supports it, it should work. (It is often the case that your
+ home directory is in an NFS filesystem. If that is the case, you
+ might try using a file in the "/tmp" filesystem, which is
+ usually a local filesytem.) Even when it is possible to use an
+ NFS-mounted filesystem as a place to name the fifo (for example,
+ your home directory), it will still be the case that the reader
+ (probably the "cat" command) and the writer (_Alpine_) of the
+ fifo must be running on the same system.
+ _newmail-window-width_
+ UNIX _Alpine_ only.
+ This option is only useful if you have turned on the
+ NewMail-FIFO-Path option. That option causes new mail messages
+ to be sent to a fifo file. Those messages will be 80 characters
+ wide by default. You can change the width of the messages by
+ changing this option. For example, if you are reading those
+ messages in another window you might want to set this width to
+ the width of that other window.
+ For UNIX _Alpine_, this option is only useful if you have turned
+ on the NewMail-FIFO-Path option. That option causes new mail
+ messages to be sent to a fifo file. Those messages will be 80
+ characters wide by default. You can change the width of those
+ messages by changing this option. For example, if you are
+ reading those messages in another window you might want to set
+ this width to the width of that other window.
+ If you are using _PC-Alpine_, it has an option in the Config
+ menu to turn on the "New Mail Window". The present option also
+ controls the width of that window.
+ _news-active-file-path_
+ This option tells _Alpine_ where to look for the "active file"
+ for newsgroups when accessing news locally, rather than via
+ NNTP. The default path is usually /usr/lib/news/active.
+ _news-collections_
+ This is a list of collections where news folders are located.
+ See the section describing collections for more information.
+ _news-spool-directory_
+ This option tells _Alpine_ where to look for the "news spool"
+ for newsgroups when accessing news locally, rather than via
+ NNTP. The default path is usually /usr/spool/news.
+ _newsrc-path_
+ This option overrides the default name _Alpine_ uses for your
+ "newsrc" news status and subscription file. If set, _Alpine_
+ will take this value as the full pathname for the desired newsrc
+ file.
+ _nntp-range_
+ This option applies only to newsgroups accessed using the NNTP
+ protocol. It does not, for example, apply to newsgroups accessed
+ using an IMAP-to-NNTP proxy.
+ When you open a connection to a News server using the NNTP
+ protocol, you normally have access to all of the articles in
+ each newsgroup. If a server keeps a large backlog of messages it
+ may speed performance some to restrict attention to only the
+ newer messages in a group. This option allows you to set how
+ many article numbers should be checked when opening a newsgroup.
+ You can think of "nntp-range" as specifying the maximum number
+ of messages you ever want to see. For example, if you only ever
+ wanted to look at the last 500 messages in each newsgroup you
+ could set this option to 500. In actuality, it isn't quite that.
+ Instead, for performance reasons, it specifies the range of
+ article numbers to be checked, beginning with the highest
+ numbered article and going backwards from there. If there are
+ messages that have been canceled or deleted their article
+ numbers are still counted as part of the range.
+ So, more precisely, setting the "nntp-range" will cause article
+ numbers
+
+ last_article_number - nntp-range + 1 through last_article_number
+ to be considered when reading a newsgroup. The number of
+ messages that show up in your index will be less than or equal
+ to the value of "nntp-range".
+ The purpose of this option is simply to speed up access when
+ reading news. The speedup comes because _Alpine_ can ignore all
+ but the last nntp-range article numbers, and can avoid
+ downloading any information about the ignored articles. There is
+ a cost you pay for this speedup. That cost is that there is no
+ way for you to see those ignored articles. The articles that
+ come before the range you specify are invisible to you and to
+ _Alpine_, as if they did not exist at all. There is no way to see
+ those messages using, for example, an unexclude command or
+ something similar. The only way to see those articles is to set
+ this option high enough (or set it to zero) and then to reopen
+ the newsgroup.
+ If this option is set to 0 (which is also the default), then the
+ range is unlimited. This option applies globally to all NNTP
+ servers and to all newsgroups on those servers. There is no way
+ to set different values for different newsgroups or servers.
+ _nntp-server_
+ One or more NNTP servers (host name or IP address) which _Alpine_
+ will use for reading and posting news. If you read and post news
+ to and from a single NNTP server, you can get away with only
+ setting the _nntp-server_ variable and leaving the
+ _news-collections_ variable unset.
+ When you define an NNTP server, _Alpine_ implicitly defines a
+ news collection for you, assuming that server as the news server
+ and assuming that you will use the NNTP protocol and a local
+ newsrc configuration file for reading news. See also Configuring
+ News.
+ Your NNTP server may offer NNTP "AUTHINFO SASL" or "AUTHINFO
+ USER" authentication. It may even require it. If your NNTP
+ server does offer such authentication you may specify a user
+ name parameter to cause _Alpine_ to attempt to authenticate. The
+ same is true for the server name in a folder collection which
+ uses NNTP. This parameter requires an associated value, the
+ username identifier with which to establish the server
+ connection. An example might be:
+
+ nntpserver.example.com/user=katie
+ If authentication is offered by the server, this will cause
+ _Alpine_ to attempt to use it. If authentication is not offered
+ by the server, this will cause _Alpine_ to fail with an error
+ similar to:
+
+ Error: NNTP authentication not available
+ For more details about the server name possibilities see Server
+ Name Syntax.
+ _normal-background-color_
+ _normal-foreground-color_
+ Normal Color.
+ _opening-text-separator-chars_
+ This option controls a minor aspect of _Alpine_'s MESSAGE INDEX
+ screen. With some setups the text of the subject is followed by
+ the opening text of the message if there is any room available
+ in the index line. If you have configured your Index-Format
+ option to include one of the Subject tokens which causes this
+ behavior (SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT), then
+ this option may be used to modify what is displayed slightly. By
+ default, the Subject is separated from the opening text of the
+ message by the three characters space dash space;
+
+ " - "
+ Use this option to set it to something different. The value must
+ be quoted if it includes any space characters. For example, the
+ default value could be specified explicitly by setting this
+ option to
+
+ Opening-Text-Separator-Chars=" - "
+ This option is displayed as "Opening Text Separator Characters".
+ _operating-dir_
+ System-wide _Alpine_ configuration files only. This names the
+ root of the tree to which the user is restricted when reading
+ and writing folders and files. It is usually used in the _fixed_
+ configuration file.
+ _patterns-filters2_
+ Matching patterns and their corresponding actions are stored in
+ this variable. These patterns are used with Filtering. This
+ variable is normally maintained through the Setup/Rules/Filters
+ configuration screen. It is a list variable. Each member of the
+ list is a single pattern/action pair, or it can be a file which
+ contains zero or more lines of pattern/action pairs. The only
+ way to create a filters file is to use the InsertFile command in
+ the Setup/Rules/Filters screen with a filename which doesn't yet
+ exist. Then use the Shuffle command to move existing filter
+ patterns into the file. This isn't very convenient but it isn't
+ thought that many users will need this functionality. The
+ purpose of filter files is for sharing filters.
+ This option is displayed as "Patterns Filters".
+ _patterns-indexcolors_
+ Matching patterns and their corresponding actions are stored in
+ this variable. These patterns are used for Index Line Colors.
+ This variable is normally maintained through the
+ Setup/Rules/Indexcolor configuration screen. It is a list
+ variable. Each member of the list is a single pattern/action
+ pair, or it can be a file which contains zero or more lines of
+ pattern/action pairs. The only way to create a indexcolor file
+ is to use the InsertFile command in the Setup/Rules/Indexcolor
+ screen with a filename which doesn't yet exist. Then use the
+ Shuffle command to move existing patterns into the file. This
+ isn't very convenient but it isn't thought that many users will
+ need this functionality. The purpose of indexcolor files is for
+ sharing indexcolors.
+ _patterns-other_
+ Matching patterns and their corresponding actions are stored in
+ this variable. These patterns are used with Miscellaneous Rules
+ configuration. This variable is normally maintained through the
+ Setup/Rules/Other configuration screen. It is a list variable.
+ Each member of the list is a single pattern/action pair, or it
+ can be a file which contains zero or more lines of
+ pattern/action pairs. The only way to create a rules file is to
+ use the InsertFile command in the Setup/Rules/Other screen with
+ a filename which doesn't yet exist. Then use the Shuffle command
+ to move existing rules into the file. This isn't very convenient
+ but it isn't thought that many users will need this
+ functionality.
+ _patterns-roles_
+ Matching patterns and their corresponding actions are stored in
+ this variable. These patterns are used with Roles. This variable
+ is normally maintained through the Setup/Rules/Roles
+ configuration screen. It is a list variable. Each member of the
+ list is a single pattern/action pair, or it can be a file which
+ contains zero or more lines of pattern/action pairs. The only
+ way to create a roles file is to use the InsertFile command in
+ the Setup/Rules/Roles screen with a filename which doesn't yet
+ exist. Then use the Shuffle command to move existing roles into
+ the file. This isn't very convenient but it isn't thought that
+ many users will need this functionality. The purpose of role
+ files is for sharing roles.
+ _patterns-scores2_
+ Matching patterns and their corresponding actions are stored in
+ this variable. These patterns are used with Scoring. This
+ variable is normally maintained through the
+ Setup/Rules/SetScores configuration screen. It is a list
+ variable. Each member of the list is a single pattern/action
+ pair, or it can be a file which contains zero or more lines of
+ pattern/action pairs. The only way to create a scores file is to
+ use the InsertFile command in the Setup/Rules/SetScores screen
+ with a filename which doesn't yet exist. Then use the Shuffle
+ command to move existing scoring patterns into the file. This
+ isn't very convenient but it isn't thought that many users will
+ need this functionality. The purpose of scoring files is for
+ sharing scoring rules.
+ This option is displayed as "Patterns Scores".
+ _patterns-search_
+ Matching patterns for use with the Select command are stored in
+ this variable. These patterns are used with Search Rules
+ configuration. This variable is normally maintained through the
+ Setup/Rules/searCh configuration screen. It is a list variable.
+ Each member of the list is a single pattern, or it can be a file
+ which contains zero or more lines of patterns. The only way to
+ create a rules file is to use the InsertFile command in the
+ Setup/Rules/searCh screen with a filename which doesn't yet
+ exist. Then use the Shuffle command to move existing rules into
+ the file. This isn't very convenient but it isn't thought that
+ many users will need this functionality.
+ _personal-name_
+ Personal configuration file only. User's full personal name. On
+ UNIX systems, the default is taken from the accounts data base
+ (/etc/passwd). The easiest way to change the full From address
+ is with the customized-hdrs variable.
+ _personal-print-category_
+ Personal configuration file only. This is the category that the
+ default print command belongs to. There are three categories.
+ Category 1 is an attached printer which uses the ANSI escape
+ sequence, category 2 is the standard system print command, and
+ category 3 is the set of custom printer commands defined by the
+ user. This just helps _Alpine_ figure out where to put the
+ cursor when the user runs the _Setup/Printer_ command. This is
+ not used by _PC-Alpine_.
+ _personal-print-command_
+ Personal configuration file only. This corresponds to the third
+ category in the printer menu, the personally selected print
+ commands. This variable contains the list of custom commands
+ that the user has entered in the _Setup/Printer_ screen. This is
+ not used by _PC-Alpine_.
+ _posting-character-set_
+ See the discussion in International Character Sets for details.
+ _postponed-folder_
+ The folder where postponed messages are stored. The default is
+ _postponed-msgs_ (Unix) or _POSTPOND_ (PC).
+ _print-font-name_
+ Winsock version of _PC-Alpine_ only.
+ _print-font-size_
+ Winsock version of _PC-Alpine_ only.
+ _print-font-style_
+ Winsock version of _PC-Alpine_ only.
+ _printer_
+ Personal configuration file only. This is the current setting
+ for a user's printer. This variable is set from _Alpine_'s
+ _Setup/Printer_ screen.
+ _prompt-background-color_
+ _prompt-foreground-color_
+ Prompt Color.
+ _pruned-folders_
+ This variable allows you to define a list of one or more folders
+ that _Alpine_ will offer to prune for you in the same way it
+ automatically offers to prune your "sent-mail" folder each
+ month. Each folder in this list must be a folder in your default
+ folder collection (the first folder collection if you have more
+ than one), and it is just the relative name of the folder in the
+ collection, not the fully-qualified name. It is similar to
+ sent-mail. Instead of something like
+
+ pruned-folders={servername}mail/folder
+ the correct value to use would be
+
+ folder
+ There is an assumption here that your first collection is the
+ folders in
+
+ {servername}mail
+ Once a month, for each folder listed, _Alpine_ will offer to
+ move the contents of the folder to a new folder of the same name
+ but with the previous month's date appended. _Alpine_ will then
+ look for any such date-appended folder names created for a
+ previous month, and offer each one it finds for deletion.
+ If you decline the first offer, no mail is moved and no new
+ folder is created.
+ The new folders will be created in your default folder
+ collection.
+ _pruning-rule_
+ By default, _Alpine_ will ask at the beginning of each month
+ whether or not you want to rename your sent-mail folder to a
+ name like sent-mail-month-year. (See the feature
+ prune-uses-yyyy-mm to change the format of the folder to
+ sent-mail-yyyy-mm.) It will also ask whether you would like to
+ delete old sent-mail folders. If you have defined
+ read-message-folder or pruned-folders _Alpine_ will also ask
+ about pruning those folders. With this option you may provide an
+ automatic answer to the rename questions and you may tell
+ _Alpine_ to not ask about deleting old folders.
+ _quote1-background-color_
+ _quote1-foreground-color_
+ _quote2-background-color_
+ _quote2-foreground-color_
+ _quote3-background-color_
+ _quote3-foreground-color_
+ Quote Colors.
+ _quote-replace-string_
+ This option specifies what string to use as a quote when
+ _viewing_ a message. The standard way of quoting messages when
+ replying is the string "> " (quote space). With this variable
+ set, viewing a message will replace occurrences of "> " with the
+ replacement string. This setting works best when
+ Reply-Indent-String or the equivalent setting in your
+ correspondents' mail programs is set to the default "> ", but it
+ will also work fine with the Reply-Indent-String set to ">".
+ Enable the feature Quote-Replace-Nonflowed to also have
+ quote-replacement performed on non-flowed messages.
+ Setting this option will replace ">" and "> " with the new
+ setting. This string may include trailing spaces. To preserve
+ those spaces enclose the full string in double quotes.
+ No padding to separate the text of the message from the quote
+ string is added. This means that if you do not add trailing
+ spaces to the value of this variable, text will be displayed
+ right next to the quote string, which may be undesirable. This
+ can be avoided by adding a new string separated by a space from
+ your selection of quote string replacement. This last string
+ will be used for padding. For example, setting this variable to
+ ">" " " has the effect of setting ">" as the
+ quote-replace-string, with the text padded by a space from the
+ last quote string to make it more readable.
+ One possible setting for this variable could be " " (four
+ spaces wrapped in quotes), which would have the effect of
+ indenting each level of quoting four spaces and removing the
+ ">"'s. Different levels of quoting could be made more
+ discernible by setting colors for quoted text.
+ Replying to or forwarding the viewed message will preserve the
+ original formatting of the message, so quote-replacement will
+ not be performed on messages that are being composed.
+ _quote-suppression-threshold_
+ This option should be used with care. It will cause some of the
+ quoted text to be eliminated from the display when viewing a
+ message in the MESSAGE TEXT screen. For example, if you set the
+ Quote-Suppression-Threshold to the value "5", this will cause
+ quoted text that is longer than five lines to be truncated.
+ Quoted text of five or fewer consecutive lines will be displayed
+ in its entirety. Quoted text of more than six lines will have
+ the first five lines displayed followed by a line that looks
+ something like
+
+ [ 12 lines of quoted text hidden from view ]
+ As a special case, if exactly one line of quoted text would be
+ hidden, the entire quote will be shown instead. So for the above
+ example, quoted text which is exactly six lines long will will
+ be shown in its entirety. (In other words, instead of hiding a
+ single line and adding a line that announces that one line was
+ hidden, the line is just shown.)
+ If the sender of a message has carefully chosen the quotes that
+ he or she includes, hiding those quotes may change the meaning
+ of the message. For that reason, _Alpine_ requires that when you
+ want to set the value of this variable to something less than
+ four lines, you actually have to set it to the negative of that
+ number. So if you want to set this option to "3", you actually
+ have to set it to "-3". The only purpose of this is to get you
+ to think about whether or not you really want to do this! If you
+ want to delete all quoted text you set the value of this option
+ to the special value "-10".
+ The legal values for this option are
+
+ 0 Default, don't hide anything
+ -1,-2,-3 Suppress quote lines past 1, 2, or 3 lines
+ 4,5,6,... Suppress if more than that many lines
+ -10 Suppress all quoted lines
+ If you set this option to a non-default value you may sometimes
+ wish to view the quoted text that is not shown. When this is the
+ case, the HdrMode (Header Mode) command may be used to show the
+ hidden text. Typing the "H" command once will show the hidden
+ text. Typing a second "H" will also turn on Full Header mode.
+ The presence or absence of the HdrMode command is determined by
+ the "Enable-Full-Header-Cmd" Feature-List option in your _Alpine_
+ configuration, so you will want to be sure that is turned on if
+ you use quote suppression.
+ For the purposes of this option, a quote is a line that begins
+ with the character ">".
+ Quotes are only suppressed when displaying a message on the
+ screen. The entire quote will be left intact when printing or
+ forwarding or something similar.
+ _read-message-folder_
+ If set, mail in the _INBOX_ that has been read but not deleted
+ is moved here, or rather, the user is asked whether or not he or
+ she wants to move it here upon quitting _Alpine_.
+ _remote-abook-history_
+ Sets how many extra copies of remote address book data will be
+ kept in each remote address book folder. The default is three.
+ These extra copies are simply old versions of the data. Each
+ time a change is made a new copy of the address book data is
+ appended to the folder. Old copies are trimmed, if possible,
+ when _Alpine_ exits. An old copy can be put back into use by
+ deleting and expunging newer versions of the data from the
+ folder. Don't delete the first message from the folder. It is a
+ special header message for the remote address book and it must
+ be there. This is to prevent regular folders from being used as
+ remote address book folders and having their data destroyed.
+ _remote-abook-metafile_
+ Personal configuration file only. This is usually set by _Alpine_
+ and is the name of a file that contains data about remote
+ address books and remote configuration files.
+ _remote-abook-validity_
+ Sets the minimum number of minutes that a remote address book
+ will be considered up to date. Whenever an entry contained in a
+ remote address book is used, if more than this many minutes have
+ passed since the last check the remote server will be queried to
+ see if the address book has changed. If it has changed, the
+ local copy is updated. The default value is five minutes. The
+ special value of -1 means never check. The special value of zero
+ means only check when the address book is first opened.
+ No matter what the value, the validity check is always done when
+ the address book is about to be changed by the user. The check
+ can be initiated manually by typing _^L_ (Ctrl-L) while in the
+ address book maintenance screen for the remote address book.
+ _reply-indent-string_
+ This variable specifies an aspect of _Alpine_'s _Reply_ command.
+ When a message is replied to and the text of the message is
+ included, the included text usually has the string "> "
+ prepended to each line indicating it is quoted text.
+ This option specifies a different value for that string. If you
+ wish to use a string which begins or ends with a space, enclose
+ the string in double quotes.
+ Besides simple text, the prepended string can be based on the
+ message being replied to. The following tokens are substituted
+ for the message's corresponding value:
+
+ _FROM_
+ This token gets replaced with the message sender's
+ "username". At most six characters are used.
+
+ _NICK_
+ This token gets replaced with the nickname of the message
+ sender's address as found in your addressbook. If no
+ addressbook entry is found, Pine replaces the characters
+ "_NICK_" with nothing. At most six characters are used.
+
+ _INIT_
+ This token gets replaced with the initials of the sender
+ of the message.
+
+ When the enable-reply-indent-string-editing feature is enabled,
+ you are given the opportunity to edit the string, whether it is
+ the default or one automatically generated using the above
+ tokens.
+ _reply-leadin_
+ This option is used to customize the content of the introduction
+ line that is included when replying to a message and including
+ the original message in the reply. The normal default (what you
+ will get if you delete this variable) looks something like:
+
+ On Sat, 24 Oct 1998, Fred Flintstone wrote:
+ where the day of the week is only included if it is available in
+ the original message. You can replace this default with text of
+ your own. The text may contain tokens that are replaced with
+ text that depends on the message you are replying to. For
+ example, the default is equivalent to:
+
+ On _DAYDATE_, _FROM_ wrote:
+ Since this variable includes regular text mixed with special
+ tokens the tokens have to be surrounded by underscore
+ characters. For example, to use the token "PREFDATE" you would
+ need to use "_PREFDATE_", not "PREFDATE".
+ The list of available tokens is here.
+ By default, the text is all on a single line and is followed by
+ a blank line. If your _Reply-Leadin_ turns out to be longer than
+ 80 characters when replying to a particular message, it is
+ shortened. However, if you use the token
+
+ _NEWLINE_
+ anywhere in the value, no end of line or blank line is appended,
+ and no shortening is done. The _NEWLINE_ token may be used to
+ get rid of the blank line following the text, to add more blank
+ lines, or to form a multi-line _Reply-Leadin_. To clarify how
+ _NEWLINE_ works recall that the default value is:
+
+ On _DAYDATE_, _FROM_ wrote:
+ That is equivalent to
+
+ On _DAYDATE_, _FROM_ wrote:_NEWLINE__NEWLINE_
+ In the former case, two newlines are added automatically because
+ no _NEWLINE_ token appears in the value of the option (for
+ backwards compatibility). In the latter case, the newlines are
+ explicit. If you want to remove the blank line that follows the
+ _Reply-Leadin_ text use a single _NEWLINE_ token like
+
+ On _DAYDATE_, _FROM_ wrote:_NEWLINE_
+ Because of the backwards compatibility problem, it is not
+ possible to remove all of the ends of lines, because then there
+ will be no _NEWLINE_ tokens and that will cause the automatic
+ adding of two newlines! If you want, you may embed newlines in
+ the middle of the text, as well, producing a multi-line
+ _Reply-Leadin_.
+ By default, no attempt is made to localize the date. If you
+ prefer a localized form you may find that one of the tokens
+ _PREFDATE_ or _PREFDATETIME_ is a satisfactory substitute. If
+ you want more control one of the many other date tokens, such as
+ _DATEISO_, might be better.
+ For the adventurous, there is a way to conditionally include
+ text based on whether or not a token would result in specific
+ replacement text. For example, you could include some text based
+ on whether or not the _NEWS_ token would result in any
+ newsgroups if it was used. It's explained in detail here.
+ In the very unlikely event that you want to include a literal
+ token in the introduction line you must precede it with a
+ backslash character. For example,
+
+ \_DAYDATE_ = _DAYDATE_
+ would produce something like
+
+ _DAYDATE_ = Sat, 24 Oct 1998
+ It is not possible to have a literal backslash followed by an
+ expanded token.
+ _reverse-background-color_
+ _reverse-foreground-color_
+ Reverse Color.
+ _rsh-command_
+ Sets the format of the command used to open a UNIX remote shell
+ connection. The default is "%s %s -l %s exec /etc/r%sd". All
+ four "%s" entries MUST exist in the provided command. The first
+ is for the command's pathname, the second is for the host to
+ connnect to, the third is for the user to connect as, and the
+ fourth is for the connection method (typically imap).
+ _rsh-open-timeout_
+ Sets the time in seconds that _Alpine_ will attempt to open a
+ UNIX remote shell connection. The default is 15, the minimum
+ non-zero value is 5, and the maximum is unlimited. If this is
+ set to zero rsh connections will be completely disabled.
+ _rsh-path_
+ Sets the name of the command used to open a UNIX remote shell
+ connection. The default is typically /usr/ucb/rsh.
+ _saved-msg-name-rule_
+ Determines default folder name when _Sav_ing. If set to
+ _default-folder_ (which is the default setting), then _Alpine_
+ will offer the folder "saved-messages" (UNIX) or "SAVEMAIL" (PC)
+ for _Sav_ing messages. The default folder offered in this way
+ may be changed by using the configuration variable
+ default-saved-msg-folder.
+ If this rule is set to _last-folder-used_, _Alpine_ offers to
+ _Save_ to the folder you last successfully _Saved_ a message to
+ (this session). The first time you _Save_ a message in a
+ session, _Alpine_ offers to _Save_ the message to the default
+ folder.
+ Choosing any of the _by-_ options causes _Alpine_ to attempt to
+ get the chosen option's value for the message being _Saved_ (or
+ for the first message being Saved if using an aggregate Save).
+ For example, if _by-from_ is chosen, _Alpine_ attempts to get
+ the value of who the message came from (i.e. the from address).
+ _Alpine_ then attempts to _Save_ the message to a folder matching
+ that value. If _by-from_ is chosen and no value is obtained,
+ _Alpine_ uses _by-sender_. The opposite is also true. If
+ _by-recipient_ was chosen and the message was posted to a
+ newsgroup, _Alpine_ will use the newsgroup name. If _by-replyto_
+ is chosen and no value is obtained, _Alpine_ uses _by-from_.
+ If any of the "by-realname" options are chosen, _Alpine_ will
+ attempt to use the personal name part of the address instead of
+ the mailbox part. If any of the "by-nick" options are chosen,
+ the address is looked up in your address book and if found, the
+ nickname for that entry is used. Only simple address book
+ entries are checked, not distribution lists. Similarly, if any
+ of the "by-fcc" options are chosen, the fcc from the
+ corresponding address book entry is used. If by-realname, or the
+ by-nick or by-fcc lookups result in no value, then if the chosen
+ option ends with the "then-from", "then-sender", "then-replyto",
+ or "then-recip" suffix, _Alpine_ reverts to the same behavior as
+ "by-from", "by-sender", "by-replyto", or "by-recip" depending on
+ which option was specified. If the chosen option doesn't end
+ with one of the "then-" suffixes, then _Alpine_ reverts to the
+ default folder when no match is found in the address book.
+ Here is an example to make some of the options clearer. If the
+ message is From
+
+ Fred Flintstone <flint@bedrock.org>
+ and this rule is set to "by-from", then the default folder
+ offered in the save dialog would be "flint".
+ If this rule is set to "by-realname-of-from" then the default
+ would be "Fred Flintstone".
+ If this rule is set to "by-nick-of-from" then _Alpine_ will
+ search for the address "flint@bedrock.org" in your address book.
+ If an entry is found and it has a nickname associated with it,
+ that nickname will be offered as the default folder. If not, the
+ default saved message folder will be offered as the default.
+ If this rule is set to "by-fcc-of-from" then _Alpine_ will
+ search for the address "flint@bedrock.org" in your address book.
+ If an entry is found and it has an Fcc associated with it, that
+ Fcc will be offered as the default folder. If not, the default
+ saved message folder will be offered as the default.
+ If this rule is set to "by-nick-of-from-then-from" then _Alpine_
+ will search for the address "flint@bedrock.org" in your address
+ book. If an entry is found and it has a nickname associated with
+ it, that nickname will be offered as the default folder. If it
+ is not found (or has no nickname) then the default offered will
+ be the same as it would be for the "by-from" rule. That is, it
+ would be "flint"
+ This option is displayed as "Saved Message Name Rule".
+ _scroll-margin_
+ This option controls when _Alpine_'s line-by-line scrolling
+ occurs. Typically, when a selected item is at the top or bottom
+ screen edge and the UP or DOWN (and Ctrl-P or Ctrl-N) keys are
+ pressed, the displayed items are scrolled down or up by a single
+ line.
+ This option allows you to tell _Alpine_ the number of lines from
+ the top and bottom screen edge that line-by-line scrolling
+ should occur. For example, setting this value to one (1) will
+ cause _Alpine_ to scroll the display when you move to select an
+ item on the display's top or bottom edge (instead of moving when
+ you move off the edge of the screen).
+ By default, this variable is zero (0), indicating that scrolling
+ happens when you move up or down to select an item immediately
+ off the display's top or bottom edge.
+ _selectable-item-background-color_
+ _selectable-item-foreground-color_
+ Selectable-item Color.
+ _sending-filters_
+ This option defines a list of text-filtering commands (programs
+ and scripts) that may be selectively invoked to process a
+ message just before it is sent. If set, the Composer's _^X Send_
+ command will allow you to select which filter (or none) to apply
+ to the message before it is sent. For security reasons, the full
+ path of the filter program must be specified.
+ Sending filters do not work with _PC-Alpine_ and sending filters
+ are not used if the feature send-without-confirm is set.
+ Command Modifying Tokens:
+
+ __RECIPIENTS__
+ When the command is executed, this token is replaced with
+ the space delimited list of recipients of the message
+ being sent.
+
+ __TMPFILE__
+ When the command is executed, this token is replaced with
+ the path and name of the temporary file containing the
+ text to be filtered. _Alpine_ expects the filter to
+ replace this data with the filter's result. NOTE: Use of
+ this token implies that the text to be filtered is not
+ piped into standard input of the executed command and its
+ standard output is ignored. _Alpine_ restores the tty
+ modes before invoking the filter in case the filter
+ interacts with the user via its own standard input and
+ output.
+
+ __RESULTFILE__
+ When the command is executed, this token is replaced with
+ the path and name of a temporary file intended to contain
+ a status message from the filter. _Alpine_ displays this
+ in the message status field.
+
+ __DATAFILE__
+ When the command is executed, this token is replaced in
+ the command line with the path and name of a temporary
+ file that _Alpine_ creates once per session and deletes
+ upon exit. The file is intended to be used by the filter
+ to store state information between instances of the
+ filter.
+
+ __PREPENDKEY__
+ When the command is executed, this token indicates that a
+ random number will be passed down the input stream before
+ the message text. It is not included as a command-line
+ argument. This number could be used as a session key. It
+ is sent in this way to improve security. The number is
+ unique to the current _Alpine_ session and is only
+ generated once per session.
+
+ __INCLUDEALLHDRS__
+ When the command is executed, this token indicates that
+ the headers of the message will be passed down the input
+ stream before the message text. It is not included as a
+ command-line argument. The filter should, of course,
+ remove the headers before returning control to _Alpine_.
+
+ __MIMETYPE__
+ When the command is executed, this token is replaced in
+ the command name with a temporary file name used to accept
+ any new MIME Content-Type information necessitated by the
+ output of the filter. Upon the filter's exit, if the file
+ contains new MIME type information, _Alpine_ verifies its
+ format and replaces the outgoing message's MIME type
+ information with that contained in the file. This is
+ basically a cheap way of sending something other than
+ Text/Plain.
+
+ _sendmail-path_
+ This names the path to an alternative program, and any necessary
+ arguments, to be used in posting mail messages. See the section
+ on SMTP and Sendmail for more details.
+ _signature-file_
+ This is the name of a file which will be automatically inserted
+ into outgoing messages. It typically contains information such
+ as your name, email address and organizational affiliation.
+ _Alpine_ adds the signature into the message as soon as you enter
+ the composer so you can choose to remove it or edit it on a
+ message by message basis. Signature file placement in message
+ replies is controlled by the signature-at-bottom setting in the
+ feature list.
+ This defaults to ~/.signature on UNIX and <PINERC
+ directory>\PINE.SIG on a PC.
+ To create or edit your signature file choose Setup from the Main
+ Menu and then select S for Signature (Main/Setup/Signature).
+ This puts you into the Signature Editor where you can enter a
+ _few_ lines of text containing your identity and affiliation.
+ If the filename is followed by a vertical bar (|) then instead
+ of reading the contents of the file the file is assumed to be a
+ program which will produce the text to be used on its standard
+ output. The program can't have any arguments and doesn't receive
+ any input from _Alpine_, but the rest of the processing works as
+ if the contents came from a file.
+ Instead of storing the data in a local file, the signature data
+ may be stored remotely in an IMAP folder. In order to do this,
+ you must use a remote name for the file. A remote signature-file
+ name might look like:
+
+ {myimaphost.myschool.k12.wa.us}mail/signature
+ or, if you have an SSL-capable version of _Alpine_, you might
+ try
+
+ {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/signature
+ The syntax used here is the same as the syntax used for remote
+ configuration files from the command line. Note that you may not
+ access an existing signature file remotely, you have to create a
+ new _folder_ which contains the signature data. If the name you
+ use here for the signature file is a remote name, then when you
+ edit the file from the Setup/Signature command the data will be
+ stored remotely in the folder. You aren't required to do
+ anything special to create the folder, it gets created
+ automatically if you use a remote name.
+ Besides regular text, the signature file may also contain (or a
+ signature program may produce) tokens which are replaced with
+ text which usually depends on the message you are replying to or
+ forwarding. For example, if the signature file contains the
+ token
+
+ _DATE_
+ anywhere in the text, then that token is replaced by the date
+ the message you are replying to or forwarding was sent. If it
+ contains
+
+ _CURDATE_
+ that is replaced with the current date. The first is an example
+ of a token which depends on the message you are replying to (or
+ forwarding) and the second is an example which doesn't depend on
+ anything other than the current date. You have to be a little
+ careful with this facility since tokens which depend on the
+ message you are replying to or forwarding will be replaced by
+ nothing in the case where you are composing a new message from
+ scratch. The use of roles may help you in this respect. It
+ allows you to use different signature files in different cases.
+ The list of tokens available for use in the signature file is
+ here.
+ Instead of, or along with the use of _roles_ to give you
+ different signature files in different situations, there is also
+ a way to conditionally include text based on whether or not a
+ token would result in specific replacement text. For example,
+ you could include some text based on whether or not the _NEWS_
+ token would result in any newsgroups if it was used. This is
+ explained in detail here. This isn't for the faint of heart.
+ In the very unlikely event that you want to include a literal
+ token in the signature you must precede it with a backslash
+ character. For example,
+
+ \_DAYDATE_ = _DAYDATE_
+ would produce something like
+
+ _DAYDATE_ = Sat, 24 Oct 1998
+ It is not possible to have a literal backslash followed by an
+ expanded token.
+ _signature-background-color_
+ _signature-foreground-color_
+ Signature Color.
+ _smime-public-cert-directory_
+ UNIX _Alpine_ only.
+ If the option smime-public-cert-container is set then this
+ option will have no effect.
+ Normally, Public Certificates for use with S/MIME will be stored
+ in the directory which is the value of this option. Those
+ certificates will be stored in PEM format, one certificate per
+ file. The name of the file for the certificate corresponding to
+
+ emailaddress
+ should be
+
+ emailaddress.crt
+ For example, a file for user@example.com would be in the file
+
+ user@example.com.crt
+ in this directory.
+ Use the Setup/SMIME screen to modify this variable.
+ Typically, the public certificates that you have will come from
+ S/MIME signed messages that are sent to you. _Alpine_ will
+ extract the public certificate from the signed message and store
+ it in the certificates directory. These PEM format public
+ certificates look something like:
+-----BEGIN CERTIFICATE-----
+MIIFvTCCBKWgAwIBAgIQD4fYFHVI8T20yN4nus097DANBgkqhkiG9w0BAQUFADCB
+rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+...
+2b9KGqDyMWW/rjNnmpjzjT2ObGM7lRA8lke4FLOLajhrz4ogO3b4DFfAAM1VSZH8
+D6sOwOLJZkLY8FRsfk63K+2EMzA2+qAzMKupgeTLqXIf
+-----END CERTIFICATE-----
+
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Public Cert Directory".
+ _smime-public-cert-container_
+ UNIX _Alpine_ only.
+ If this option is set it will be used instead of
+ smime-public-cert-directory
+ This option gives you a way to store certificates remotely on an
+ IMAP server instead of storing the certificates one per file
+ locally. In order to do that you just give this option a remote
+ folder name for a folder which does not yet exist. The name is
+ similar to the name you might use for a remote configuration
+ file. A remote folder name might look something like:
+
+ {myimaphost.myschool.k12.wa.us}mail/publiccerts
+ Use the Setup/SMIME screen to modify this variable.
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Public Cert Container".
+ _smime-private-key-directory_
+ UNIX _Alpine_ only.
+ In order to sign outgoing S/MIME messages you will need a
+ personal digital ID certificate. You will usually get such a
+ certificate from a certificate authority such as Thawte or
+ CAcert. (In order to encrypt outgoing messages you don't need a
+ personal digital ID, you need the public certificate of the
+ recipient instead.) If the option smime-private-key-container is
+ set then this option will have no effect.
+ Normally, Private Keys for use with S/MIME will be stored in the
+ directory which is the value of this option. Those certificates
+ will be stored in PEM format, one certificate per file. The name
+ of the file for the certificate corresponding to your
+
+ emailaddress
+ should be
+
+ emailaddress.key
+ For example, if your address is user@example.com the name of the
+ file would be
+
+ user@example.com.key
+ in this directory.
+ Use the Setup/SMIME screen to modify this variable.
+ Typically, the private key that you have will come from a
+ Certificate Authority. The private key should be stored in a PEM
+ format file that looks something like:
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,2CBD328FD84CF5C6
+
+YBEXYLgLU9NJoc1V+vJ6UvcF08RX54S6jXsmgL0b5HGkudG6fhnmHkH7+UCvM5NI
+SXO/F8iuZDfs1VGG0NyitkFZ0Zn2vfaGovBvm15gx24b2xnZDLRB7/bNZkurnK5k
+VjAjZ2xXn2hFp2GJwqRdmxYNqsKGu52B99oti5HUWuZ2GFRaWjn5hYOqeApZE2uA
+...
+oSRqfI51UdSRt0tmGhHeTvybUVrHm9eKft8TTGf+qSBqzSc55CsmoVbRzw4Nfhix
+m+4TJybNGNfAgOctSkEyY/OCb49fRRQTCBZVIhzLGGmpYmkO55HbIA==
+-----END RSA PRIVATE KEY-----
+
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Private Key Directory".
+ _smime-private-key-container_
+ UNIX _Alpine_ only.
+ If this option is set it will be used instead of
+ smime-private-key-directory.
+ This option gives you a way to store keys remotely on an IMAP
+ server instead of storing the keys one per file locally. In
+ order to do that you just give this option a remote folder name
+ for a folder which does not yet exist. The name is similar to
+ the name you might use for a remote configuration file. A remote
+ folder name might look something like:
+
+ {myimaphost.myschool.k12.wa.us}mail/privatekeys
+ Use the Setup/SMIME screen to modify this variable.
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Private Key Container".
+ _smime-cacert-directory_
+ UNIX _Alpine_ only.
+ If the option smime-cacert-container is set then this option
+ will have no effect.
+ CACert is a shorthand name for certification authority
+ certificate. Normally _Alpine_ will use the CACerts that are
+ located in the standard system location for CACerts. It may be
+ the case that one of your correspondents has a Digital ID which
+ has been signed by a certificate authority that is not in the
+ regular set of system certificate authorities. You may
+ supplement the system list by adding further certificates of
+ your own. These should be stored in the directory which is the
+ value of this option. The certificates will be stored in PEM
+ format, one certificate per file. The names of the files can be
+ anything ending in ".crt".
+ Use the Setup/SMIME screen to modify this variable.
+ These PEM format CA certificates look very similar to your
+ public certificates for particular email addresses
+ (smime-public-cert-directory).
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Cert Authority Directory".
+ _smime-cacert-container_
+ UNIX _Alpine_ only.
+ If this option is set it will be used instead of
+ smime-cacert-directory.
+ This option gives you a way to store certificates remotely on an
+ IMAP server instead of storing the certificates one per file
+ locally. In order to do that you just give this option a remote
+ folder name for a folder which does not yet exist. The name is
+ similar to the name you might use for a remote configuration
+ file. A remote folder name might look something like:
+
+ {myimaphost.myschool.k12.wa.us}mail/cacerts
+ Use the Setup/SMIME screen to modify this variable.
+ + General S/MIME Overview
+ This option is displayed as "S/MIME - Cert Authority Container".
+ _smtp-server_
+ One or more SMTP servers (host name or IP address) which _Alpine_
+ will use for outgoing mail. If not set, _Alpine_ passes outgoing
+ email to the _sendmail_ program on the local machine. _PC-Alpine_
+ users must have this variable set in order to send mail as they
+ have no _sendmail_ program.
+ Your SMTP server may offer SMTP AUTH authentication. It may even
+ require it. If your SMTP server offers SMTP AUTH authentication
+ you may specify a "user" name parameter to cause _Alpine_ to
+ attempt to authenticate. This parameter requires an associated
+ value, the username identifier with which to establish the
+ server connection. An example might be:
+
+ smtpserver.example.com/user=katie
+ If AUTH authentication is offered by the server, this will cause
+ _Alpine_ to attempt to use it. If AUTH authentication is not
+ offered by the server, this will cause _Alpine_ to fail sending
+ with an error similar to:
+
+ Error: SMTP authentication not available
+ Another type of authentication that is used by some ISPs is
+ called "POP before SMTP" or "IMAP before SMTP", which means that
+ you have to authenticate yourself to the POP or IMAP server by
+ opening a mailbox before you can send mail. To do this, you
+ usually only have to open your INBOX.
+ You may tell _Alpine_ to use the Message Submission port (587)
+ instead of the SMTP port (25) by including the "submit"
+ parameter in this option. At this time "/submit" is simply
+ equivalent to specifying port 587, though it may imply more than
+ that at some point in the future. Some ISPs are blocking port 25
+ in order to reduce the amount of spam being sent to their users.
+ You may find that the submit option allows you to get around
+ such a block.
+
+ smtpserver.example.com/submit
+ To specify any non-standard port number on the SMTP server you
+ may follow the hostname with a colon followed by the portnumber.
+
+ smtpserver.example.com:12345
+ Normally, when a connection is made to the Smtp-Server _Alpine_
+ will attempt to negotiate a secure (encrypted) session using
+ Transport Layer Security (TLS). If that fails then a
+ non-encrypted connection will be attempted instead. You may
+ specify that a TLS connection is required if you wish. If you
+ append "/tls" to the name then the connection will fail instead
+ of falling back to a non-secure connection.
+
+ smtpserver.example.com/tls
+ See the SMTP Servers section or the Server Name Syntax section
+ for some more details.
+ This option is displayed as "SMTP Server (for sending)".
+ _sort-key_
+ This variable sets up the default Message Index sorting. The
+ default is to sort by arrival order (the order the messages
+ arrived in the folder). It has the same functionality as the
+ _-sort_ command line argument and the _$_ command in the "Folder
+ Index". If a _sort-key_ is set, then all folders open during the
+ session will have that as the default sort order.
+ _speller_
+ UNIX _Alpine_ only.
+ For _PC-Alpine_, you must install the aspell library code that
+ you may get from http://aspell.net/win32/.
+ This option affects the behavior of the _^T_ (spell check)
+ command in the Composer. It specifies the program invoked by _^T_
+ in the Composer. By default, _Alpine_ uses the system's "spell"
+ command. _Alpine_ will use the command defined by this option
+ (if any) instead. When invoking the spell-checking program,
+ _Alpine_ appends a tempfile name (where the message is passed) to
+ the command line. _Alpine_ expects the speller to correct the
+ spelling in that file. When you exit from the speller program
+ _Alpine_ will read the tmpfile back into the composer.
+ For Unix _Alpine_ the program _ispell_ works well as an
+ alternate spell checker. If your Unix system has _ispell_ it is
+ probably reasonable to make it the default speller by
+ configuring it as the default in the system configuration file,
+ /usr/local/lib/pine.conf.
+ If this option is not set, then the system's _spell_ command is
+ used. The spell command does not work the same as the alternate
+ speller. It produces a list of misspelled words on its standard
+ output, instead, and doesn't take a tempfile as an argument.
+ Don't set this speller option to the standard Unix spell
+ command. That won't work. If you want to use the standard Unix
+ spell command, set the speller option to nothing.
+ _ssh-command_
+ Sets the format of the command used to open a UNIX secure shell
+ connection. The default is "%s %s -l %s exec /etc/r%sd". All
+ four "%s" entries MUST exist in the provided command. The first
+ is for the command's pathname, the second is for the host to
+ connnect to, the third is for the user to connect as, and the
+ fourth is for the connection method (typically imap).
+ _ssh-open-timeout_
+ Sets the time in seconds that _Alpine_ will attempt to open a
+ UNIX secure shell connection. The default is 15, the minimum
+ non-zero value is 5, and the maximum is unlimited. If this is
+ set to zero ssh connections will be completely disabled.
+ _ssh-path_
+ Sets the name of the command used to open a UNIX secure shell
+ connection. The default is typically /usr/bin/ssh.
+ _standard-printer_
+ System-wide configuration file only. Specifies a list of
+ commands for category 2 of the _Setup/Printer_ screen, the
+ standard print command section. This is not used by _PC-Alpine_.
+ _status-background-color_
+ _status-foreground-color_
+ Status Color.
+ _status-message-delay_
+ This option has evolved over time, causing the possible values
+ to be counter-intuitive. Read carefully before you set this
+ option. First we explain what the option does, then there is a
+ longer discussion following that.
+ If this is set to zero, the default value, it has _no_ effect.
+ Positive and negative values serve two similar, but different
+ purposes.
+ If it is set to a positive number, it causes the cursor to move
+ to the status line whenever a status message is printed and
+ pause there for this many seconds. It will probably only be
+ useful if the show-cursor feature is also turned on. Setting
+ this option to a postive number can only be used to _increase_
+ the status message delay. This may be useful for Braille
+ displays, or other non-traditional displays.
+ If it is set to a negative number the interpretation is a bit
+ complicated. Negative numbers are used to _decrease_ the amount
+ of delay _Alpine_ uses to allow you to read important status
+ messages. Of course, this may cause you to miss some important
+ messages. If you see a message flash by but miss what it says
+ you can use the Journal command from the Main menu to read it.
+ If you set this option to a negative value, the delay will be no
+ more than one second less than the absolute value of the value
+ you set. So if you set it to -1, the delay will be no more than
+ zero seconds, no delay at all. If you set it to -2, the delay
+ will be no more than 1 second. And so on, -3 is 2 seconds, -4 is
+ 3 seconds, ... If the delay that _Alpine_ would have used by
+ default is less than this delay, then the smaller delay set by
+ _Alpine_ will be used. Setting this option to a negative value
+ can only reduce the amount of delay, never increase it.
+ Here is a more detailed explanation. Status messages are the
+ messages which show up spontaneously in the status message line,
+ the third line from the bottom of the screen. By default,
+ _Alpine_ assigns each status message it produces a minimum
+ display time. Some status messages have a minimum display time
+ of zero. You can see an example of such a message by paging up
+ in this help text until you reach the top of the screen. If you
+ try to page past the top you will see the message
+
+ [Already at start of help text]
+ in the status line. If there is another more important use of
+ the status message line this message might be replaced quickly,
+ or it even might not be shown at all. However, if there is no
+ reason to get rid of the message, it might stay there for
+ several seconds while you read the help. An example where it is
+ replaced immediately happens when you page up in the help text
+ past the top of the screen, but then type the "WhereIs" command
+ right after paging up. The message will disappear immediately
+ without causing a delay (unless you have set this option to a
+ positive value) to allow you to type input for the "WhereIs"
+ command. Since it isn't a very important message, _Alpine_ has
+ set its minimum display time to zero seconds.
+ Other messages have minimum display times of three or more
+ seconds. These are usually error messages that _Alpine_ thinks
+ you ought to see. For example, it might be a message about a
+ failed Save or a failed folder open. It is often the case that
+ this minimum display time won't delay you in any way because the
+ status message line is not needed for another reason. However,
+ there are times when _Alpine_ has to delay what it is doing in
+ order to display a status message for the minimum display time.
+ This happens when a message is being displayed and _Alpine_
+ wants to ask for input from the keyboard. For example, when you
+ Save a message you use the status message line. You get a prompt
+ there asking for the name of the folder to save to. If there is
+ a status message being displayed that has not yet displayed for
+ its minimum time _Alpine_ will display that status message
+ surrounded with the characters > and < to show you that it is
+ delaying. That might happen, for example, if you tried to save
+ to a folder that caused an error, then followed that immediately
+ with another Save command. You might find yourself waiting for a
+ status message like
+
+ [>Can't get write access to mailbox, access is readonly<]
+ to finish displaying for three seconds. If that is something you
+ find happening to you frequently, you may use negative values of
+ this option to decrease or eliminate that delay, at the risk of
+ missing the message.
+ _stay-open-folders_
+ This option affects low-level behavior of _Alpine_. There is no
+ default value for this option. It is related to the options
+ Preopen-Stayopen-Folders, Max-Remote-Connections, and
+ offer-expunge-of-Stayopen-Folders.
+ Note: changes made to this list take effect the next time you
+ open a folder in the list.
+ This is a list of folders that will be permanently kept open
+ once they are first opened. The names in this list may be either
+ the nickname of an Incoming folder or the full technical
+ specification of a folder. The folders in this list need not be
+ remote IMAP folders, they could usefully be local folders, as
+ well. If a folder in the list is a newsgroup or is not accessed
+ either locally or via IMAP, then the entry will be ignored. For
+ example, folders accessed via NNTP or POP3 will not be kept
+ open, since the way that new mail is found with those protocols
+ involves closing and reopening the connection.
+ Once a Stay Open folder has been opened, new-mail checking will
+ continue to happen on that folder for the rest of the _Alpine_
+ session. Your INBOX is always implicitly included in this
+ Stay-Open list and doesn't need to be added explicitly.
+ Another difference that you may notice between a Stay Open
+ folder and a non-Stay Open folder is which message is selected
+ as the current message when you enter the folder index.
+ Normally, the starting position for an incoming folder (which
+ most Stay Open folders will likely be) is controlled by the
+ Incoming-Startup-Rule. However, if a folder is a Stay Open
+ folder, when you re-enter the folder after the first time the
+ current message will be the same as it was when you left the
+ folder. An exception is made if you use the TAB command to get
+ to the folder. In that case, the message number will be
+ incremented by one from what it was when you left the folder.
+ The above special behavior is thought to be useful. However, it
+ is special and different from what you might at first expect.
+ The feature Use-Regular-Startup-Rule-for-Stayopen-Folders may be
+ used to turn off this special treatment.
+ If the message that was current when you left the folder no
+ longer exists, then the regular startup rule will be used
+ instead.
+ This option is displayed as "Stayopen Folders".
+ _tcp-open-timeout_
+ Sets the time in seconds that _Alpine_ will attempt to open a
+ network connection. The default is 30, the minimum is 5, and the
+ maximum is system defined (typically 75). If a connection has
+ not completed within this many seconds _Alpine_ will give up and
+ consider it a failed connection.
+ _tcp-query-timeout_
+ When _Alpine_ times out a network read or write it will normally
+ just display a message saying "Still waiting". However, if
+ enough time has elapsed since it started waiting it will offer
+ to let you break the connection. That amount of time is set by
+ this option, which defaults to 60 seconds, has a minimum of 5
+ seconds, and a maximum of 1000 seconds.
+ _tcp-read-warning-timeout_
+ Sets the time in seconds that _Alpine_ will wait for a network
+ read before warning you that things are moving slowly and
+ possibly giving you the option to break the connection. The
+ default is 15 seconds. The minimum is 5 seconds and the maximumn
+ is 1000 seconds.
+ _tcp-write-warning-timeout_
+ Sets the time in seconds that _Alpine_ will wait for a network
+ write before warning you that things are moving slowly and
+ possibly giving you the option to break the connection. The
+ default is 0 which means it is unset. If set to a non-zero
+ value, the minimum is 5 and the maximum is 1000.
+ _threading-display-style_
+ When a folder is sorted by Threads or OrderedSubject, this
+ option will affect the MESSAGE INDEX display. By default,
+ _Alpine_ will display the MESSAGE INDEX in the
+ "show-thread-structure" style if a folder is sorted by Threads
+ or OrderedSubject. The possible values are:
+
+ _none_
+ Regular index display. The same index line as would be
+ displayed without threading is used. The only difference
+ will be in the order of the messages.
+
+ _show-thread-structure_
+ Threaded Subjects will be indented and vertical bars and
+ horizontal lines will be added to make it easier to see
+ the relationships among the messages in a thread (a
+ conversation).
+
+ _mutt-like_
+ This is the same as the option above except that the
+ Subject is suppressed (is blank) if it matches the
+ previous Subject in the thread. The name comes from the
+ email client Mutt. Here is an example of what a mutt-like
+ index might look like. In this example, the first column
+ represents the message number, the threading-index-style
+ is set to "regular-index-with-expanded-threads", and the
+ Threading-Lastreply-Character is set to a backslash:
+
+ 1 Some topic
+ 2 . Subject original message in thread
+ 3 |-> reply to 2
+ 4 . |-> another reply to 2
+ 5 . | \-> reply to 4
+ 6 . | \-> reply to 5
+ 7 | \-> reply to 6
+ 8 |-> another reply to 2
+ 9 . |->New subject another reply to 2 but with a New subject
+ 10 | |-> reply to 9
+ 11 | \-> another reply to 9
+ 12 | \-> reply to 11
+ 13 \-> final reply to 2
+ 14 Next topic
+
+ _indent-subject-1_
+ Threaded Subjects will be indented one space per level of
+ the conversation. The bars and lines that show up in the
+ show-thread-structure display will not be there with this
+ style.
+
+ _indent-subject-2_
+ Same as above but indent two spaces per level instead of
+ one space.
+
+ _indent-from-1_
+ Similar to indent-subject-1, except that instead of
+ indenting the Subject field one space the From field of a
+ thread will be indented one space per level of the
+ conversation.
+
+ _indent-from-2_
+ Same as above but indent two spaces per level instead of
+ one space.
+
+ _show-structure-in-from_
+ The structure of the thread is illustrated with indenting,
+ vertical bars, and horizontal lines just like with the
+ show-thread-structure option, but the From field is used
+ to show the relationships instead of the Subject field.
+
+ _threading-expanded-character_
+ The Threading-Expanded-Character option has a small effect on
+ the MESSAGE INDEX display when using a threading-display-style
+ other than _none_. The value of this option is a single
+ character. This character is used to indicate that part of a
+ thread has been expanded and could be collapsed if desired with
+ the "/" Collapse/Expand command. By default, the value of this
+ option is a dot (.).
+ If this option is set to the Empty Value, then the column (and
+ the following blank column) will be deleted from the display.
+ This option is closely related to the
+ threading-indicator-character option. Another similar option
+ which affects the thread display is the
+ threading-lastreply-character option.
+ _threading-index-style_
+ When a folder is sorted by Threads or OrderedSubject, this
+ option will affect the INDEX displays. The possible values are:
+
+ _regular-index-with-expanded-threads_
+ This is the default display. If the configuration option
+ threading-display-style is set to something other than
+ "none", then this setting will cause _Alpine_ to start off
+ with a MESSAGE INDEX with all of the threads expanded.
+ That is, each message will have a line in the MESSAGE
+ INDEX display. The Collapse/Expand command (/) may be used
+ to manually collapse or expand a thread or subthread (see
+ also slash-collapses-entire-thread).
+
+ This setting affects the display when the folder is first
+ threaded. The collapsed state may also be re-initialized
+ by re-sorting the folder manually using the SortIndex
+ command ($). After re-sorting the threads will once again
+ all be expanded, even if you have previously collapsed
+ some of them.
+
+ If "threading-display-style" is set to "none", then the
+ display will be the regular default _Alpine_ MESSAGE
+ INDEX, but sorted in a different order.
+
+ _regular-index-with-collapsed-threads_
+ If the configuration option threading-display-style is set
+ to something other than "none", then this setting will
+ cause _Alpine_ to start out with all of the threads
+ collapsed instead of starting out with all of the threads
+ expanded. The Collapse/Expand command (/) may be used to
+ manually collapse or expand a thread or subthread (see
+ also slash-collapses-entire-thread).
+
+ This setting affects the display when the folder is first
+ threaded. The collapsed state may also be re-initialized
+ by re-sorting the folder manually using the SortIndex
+ command ($). After re-sorting the threads will once again
+ all be collapsed, even if you have previously expanded
+ some of them.
+
+ _separate-index-screen-always_
+ With this setting and the next, you will see an index of
+ threads instead of an index of messages, provided you have
+ sorted by Threads or OrderedSubject.
+
+ The THREAD INDEX contains a '*' in the first column if any
+ message in the thread is marked Important. If not, it
+ contains a '+' if any message in the thread is to you. The
+ second column is blank. The third column contains a 'D' if
+ all of the messages in the thread are deleted. Otherwise,
+ it contains an 'N' if any of the messages in the thread
+ are New.
+
+ When you view a particular thread from the THREAD INDEX
+ you will be in the MESSAGE INDEX display but the index
+ will only contain messages from the thread you are
+ viewing.
+
+ _separate-index-screen-except-for-single-messages_
+ This is very similar to the option above. When you are in
+ the THREAD INDEX, one of the available commands is
+ "ViewThd". With the setting "separate-index-screen-always"
+ (the option above) when you view a particular thread you
+ will be in the MESSAGE INDEX display and the index will
+ only contain messages from the thread you are viewing. If
+ the thread you are viewing consists of a single message,
+ the MESSAGE INDEX will be an index with only one message
+ in it. If you use this
+ "separate-index-screen-except-for-single-messages" setting
+ instead, then that index which contains a single message
+ will be skipped and you will go directly from the THREAD
+ INDEX into the MESSAGE TEXT screen.
+
+ _threading-indicator-character_
+ The Threading-Indicator-Character option has a small effect on
+ the MESSAGE INDEX display when using a threading-display-style
+ other than _none_ and sorting by Threads or OrderedSubject. The
+ value of this option is a single character. This character is
+ used to indicate that part of a thread (a conversation) is
+ hidden beneath a message. The message could be expanded if
+ desired with the "/" Collapse/Expand command. By default, the
+ value of this option is the greater than sign (>).
+ If this option is set to the Empty Value, then the column (and
+ the following blank column) will be deleted from the display.
+ This option is closely related to the
+ threading-expanded-character option. Another similar option
+ which affects the thread display is the
+ threading-lastreply-character option.
+ _threading-lastreply-character_
+ The Threading-Lastreply-Character option has a small effect on
+ the MESSAGE INDEX display when using a threading-display-style
+ of _show-thread-structure_, _mutt-like_, or
+ _show-structure-in-from_; and sorting by Threads or
+ OrderedSubject. The value of this option is a single character.
+ This character is used instead of the vertical line character
+ when there are no more replies directly to the parent of the
+ current message. It can be used to "round-off" the bottom of the
+ vertical line by setting it to a character such as a backslash
+ (\) or a backquote (`). The default value of this option is the
+ backslash character (\). This option may not be set to the Empty
+ Value. In that case, the default will be used instead.
+ This option is displayed as "Threading Last Reply Character".
+ _title-background-color_
+ _title-foreground-color_
+ Title Color.
+ _title-closed-background-color_
+ _title-closed-foreground-color_
+ Title-closed Color.
+ _titlebar-color-style_
+ titlebar-color-style.
+ _unknown-character-set_
+ A text message should either be made up of all US-ASCII
+ characters or it should contain a charset label which tells the
+ software which character set encoding to use to interpret the
+ message. Sometimes a malformed message may be unlabeled but
+ contain non-ascii text. This message is outside of the standards
+ so any attempt to read it could fail. When _Alpine_ attempts to
+ read such a message it will try to interpret the text in the
+ character set you specify here. For example, if you have
+ correspondents who send you unlabeled messages that are usually
+ made up of characters from the WINDOWS-1251 character set,
+ setting this unknown-character-set to WINDOWS-1251 will allow
+ you to read those messages. Of course, if the unlabeled message
+ is actually in some other character set, then you may see
+ garbage on your screen.
+ In the Setup/Config screen you may choose from a list of all the
+ character sets _Alpine_ knows about by using the "T" ToCharsets
+ command.
+ _upload-command_
+ This option affects the behavior of the Composer's _^R_ (Read
+ File) and _^J_ (Attach File, in the header) commands. It
+ specifies a Unix program name, and any necessary command line
+ arguments, that _Alpine_ can use to transfer files from your
+ personal computer into messages that you are composing.
+ _upload-command-prefix_
+ This option is used in conjunction with the _upload-command_
+ option. It defines text to be written to the terminal emulator
+ (via standard output) immediately prior to starting the upload
+ command. This is useful for integrated serial line file transfer
+ agents that permit command passing (e.g., Kermit's APC method).
+ _url-viewers_
+ List of programs to use to open Internet URLs. This value
+ affects _Alpine_'s handling of URLs that are found in the text
+ of messages you read. Normally, only URLs _Alpine_ can handle
+ directly are automatically offered for selection in the "Message
+ Text" screen. When one or more comma delimited Web browsers
+ capable of deciphering URLs on their command line are added
+ here, _Alpine_ will choose the first available browser to
+ display URLs it doesn't recognize.
+ Additionally, to support various connection methods and
+ browsers, each entry in this list can begin with the special
+ token _TEST(test-string)_. The test-string is a shell command
+ that _Alpine_ will run and which must exit with a status of zero
+ for _Alpine_ to consider that browser for use (the other
+ criteria is that the browser must exist as a full path or a path
+ relative to your home directory).
+ Now for an example:
+
+ url-viewers=_TEST("test -n '${DISPLAY}'")_ /usr/local/bin/netscape,
+ /usr/local/bin/lynx, C:\BIN\NETSCAPE.BAT
+ This example shows that for the first browser in the list to be
+ used the environment variable DISPLAY must be defined. If it is,
+ then the file /usr/local/bin/netscape must exist. If either
+ condition is not met, then the file /usr/local/bin/lynx must
+ exist. If it doesn't, then the final path and file must exist.
+ Note that the last entry is a DOS/Windows path. This is one way
+ to support _Alpine_ running on more than one architecture with
+ the same configuration file.
+ _use-only-domain-name_
+ Can be set to _yes_ or _no._ Anything but _yes_ means _no._ If
+ set to _yes_ the first label in the host name will be lopped off
+ to get the domain name and the domain name will be used for
+ outgoing mail and such. That is, if the host name is
+ _carson.u.example.edu_ and this variable is set to _yes,_ then
+ _u.example.edu_ will be used on outgoing mail. Only meaningful if
+ user-domain is NOT set.
+ _user-domain_
+ Sets the domain or host name for the user, overriding the system
+ host or domain name. See the domain name section. The easiest
+ way to change the full From address is with the customized-hdrs
+ variable.
+ _user-id_
+ _PC-Alpine_ only and personal configuration file only. Sets the
+ username that is placed on all outgoing messages. The username
+ is the part of the address that comes before the "@". The
+ easiest way to change the full From address is with the
+ customized-hdrs variable.
+ _user-input-timeout_
+ If this is set to an integer greater than zero, then this is the
+ number of _hours_ to wait for user input before _Alpine_ times
+ out. If _Alpine_ is in the midst of composing a message or is
+ waiting for user response to a question, then it will not
+ timeout. However, if _Alpine_ is sitting idle waiting for the
+ user to tell it what to do next and the user does not give any
+ input for this many hours, _Alpine_ will exit. No expunging or
+ moving of read messages will take place. It will exit similarly
+ to the way it would exit if it received a hangup signal. This
+ may be useful for cleaning up unused _Alpine_ sessions which
+ have been forgotten by their owners. The _Alpine_ developers
+ envision system administrators setting this to a value of
+ several hours (24?) so that it won't surprise a user who didn't
+ want to be disconnected.
+ _viewer-hdr-colors_
+ This variable holds the optional Header Colors and patterns
+ which have been defined by the user. This is usually modified by
+ using the Header Colors section of the Setup Color screen.
+ _viewer-hdrs_
+ You may change the default list of headers that are viewed by
+ listing the headers you want to view here. If the headers in
+ your _viewer-hdrs_ list are present in the message, then they
+ will be shown. The order of the headers you list will also be
+ honored. If the special value _all-except_ is included as the
+ first header in the _viewer-hdrs_ list, then all headers in the
+ message except those in the list will be shown. The values are
+ all case insensitive.
+ This option is displayed as "Viewer Headers".
+ _viewer-margin-left_
+ This variable controls the left-hand vertical margin's width in
+ _Alpine_'s Message Viewing screen. Its value is the number of
+ space characters preceding each displayed line. For consistency
+ with Viewer-Margin-Right, you may specify the column number to
+ start in (column numbering begins with number 1) instead of the
+ width of the margin by appending a lower case letter "c" to the
+ number. For example, a value of "2c" means to start the text in
+ column two, which is entirely equivalent to a value of "1",
+ which means to leave a margin of 1 space.
+ The default is a left margin of 0 (zero). Misconfigurations (for
+ example, negative values or values with starting left columns
+ greater than the ending right column) are silently ignored. If
+ the number of columns for text between the Viewer-Margin-Left
+ and the Viewer-Margin-Right is fewer than 8, then margins of
+ zero will be used instead.
+ _viewer-margin-right_
+ This variable controls the right-hand vertical margin's width in
+ _Alpine_'s Message Viewing screen. Its value is the number of
+ space characters following each displayed line. You may specify
+ the column number to end the text in (column numbering begins
+ with number 1) instead of the width of the margin by appending a
+ lower case letter "c" to the number. For example, a value of
+ "76c" means to end the text in column 76. If the screen is 80
+ characters wide, this is equivalent to a value of "4", which
+ means to leave a margin of 4 spaces. However, if you use
+ different size screens at different times, then these two values
+ are not equivalent.
+ The default right margin is 4. Misconfigurations (for example,
+ negative values or values with starting left columns greater
+ than the ending right column) are silently ignored. If the
+ number of columns for text between the Viewer-Margin-Left and
+ the Viewer-Margin-Right is fewer than 8, then margins of zero
+ will be used instead.
+ _viewer-overlap_
+ This option specifies an aspect of _Alpine_'s Message Viewing
+ screen. When the space bar is used to page forward in a message,
+ the number of lines specified by the _viewer-overlap_ variable
+ will be repeated from the bottom of the screen. That is, if this
+ was set to two lines, then the bottom two lines of the screen
+ would be repeated on the top of the next screen. The normal
+ default value is "2".
+ _window-position_
+ Winsock version of _PC-Alpine_ only. Window position in the
+ format: CxR+X+Yn Where C and R are the window size in characters
+ and X and Y are the screen position of the top left corner of
+ the window.
+ __________________________________________________________________
+
+Configuration Features
+
+ There are several features (options) which may be turned off or on. The
+ configuration variable feature-list is a list of all the features that
+ are turned on or off. If the name of a feature is in the list it will
+ be turned on. If the name of a feature with the characters no-
+ prepended is in the list, it will turn the feature off. This is useful
+ for overriding system-wide defaults. This is because, unlike all the
+ other configuration variables, the _feature-list_ is additive. That is,
+ first the system-wide _feature-list_ is read and then the user's
+ _feature-list_ is read. This makes it possible for the system manager to
+ turn some of the features on by default while still allowing the user
+ to cancel that default. For example, if the system manager has turned
+ on the _allow-talk_ feature by default then a user may turn it back off
+ by including the feature _no-allow-talk_ in his or her personal
+ configuration file. Of course, these details are usually handled by
+ _Alpine_ when the user turns an option on or off from inside the
+ _Setup/Config_ screen.
+
+ System managers should take some care when turning on features by
+ default. Some of the documentation assumes that all of the features are
+ off by default, so it could be confusing for a user if some are on by
+ default instead. Feature names are case-independent.
+
+ Here is an alphabetical list of possible features.
+ _allow-changing-from_
+ Prior to _Pine_ 4.00 there was a _compile_-time option called
+ ALLOW_CHANGING_FROM. That has been replaced by a _runtime_
+ feature. If this feature is turned on then the From line can be
+ changed just like all the other header fields that can be
+ changed. See the configuration variables customized-hdrs and
+ default-composer-hdrs for more information on editing headers.
+ The default value for this feature is ON, so that editing of
+ From headers is allowed by default.
+ _allow-talk_
+ Unix _Alpine_ only. By default, permission for others to _talk_
+ to your terminal is turned off when you are running _Alpine_.
+ When this feature is set, permission is instead turned on.
+ Note: The _talk_ program has nothing to do with _Alpine_ or
+ email. The _talk_ daemon on your system will attempt to print a
+ message on your screen when someone else is trying to contact
+ you. If you wish to see these messages while you are running
+ _Alpine_, you should enable this feature.
+ If you do enable this feature and see a _talk_ message, you must
+ suspend or quit _Alpine_ before you can respond.
+ _alternate-compose-menu_
+ This feature controls the menu that is displayed when Compose is
+ selected. If set, a list of options will be presented, with each
+ option representing the type of composition that could be used.
+ This feature is most useful for users who want to avoid being
+ prompted with each option separately, or who want to avoid the
+ checking of remote postponed or form letter folders. The
+ possible types of composition are:
+ New, for starting a new composition. Note that if New is
+ selected and roles are set, roles are checked for matches and
+ applied according to the setting of the matching role.
+ Interrupted, for continuing an interrupted composition. This
+ option is only offered if an interrupted message folder is
+ detected.
+ Postponed, for continuing postponed compositions. This option is
+ offered if a postponed-folder is set in the config _REGARDLESS
+ OF_ whether or not the postponed folder actually exists. This
+ option is especially handy for avoiding having to check for the
+ existence of a remote postponed folder.
+ Form, for using form letters. This option is offered if the
+ form-letter-folder is set in the config, and is not checked for
+ existence for reasons similar to those explained by the
+ postponed option.
+ setRole, for selecting a role to apply to a composition.
+ _alternate-role-menu_
+ Normally the Role Command allows you to choose a role and
+ compose a new message using that role. When this feature is set,
+ the role command will first ask whether you want to Compose a
+ new message, Forward the current message, Reply to the current
+ message, or Bounce the current message. If you are not in the
+ MESSAGE INDEX and are not viewing a message, then there is no
+ current message and the question will be skipped. After you have
+ chosen to Compose, Forward, Reply or Bounce you will then choose
+ the role to be used.
+ When Bouncing the "Set From" address is used for the Resent-From
+ header, the "Set Fcc" value is used for the Fcc provided that
+ the option "Fcc-On-Bounce" is turned on, and the "Use SMTP
+ Server" value is used for the SMTP server, if set. Other actions
+ of the role are ignored when Bouncing.
+ This feature is displayed as "Alternate Role (#) Menu".
+ _assume-slow-link_
+ UNIX _Alpine_ only.
+ This feature affects _Alpine_'s display routines. If set, the
+ normal inverse-video cursor (used to highlight the current item
+ in a list) will be replaced by an _arrow_ cursor and other
+ screen update optimizations for low-speed links (e.g. 2400 bps
+ dialup connections) will be activated. One of the optimizations
+ is that colored index lines (set up with Indexcolor Rules) will
+ not be colored. This might be useful if _you_ know you have a
+ slow speed link but for some reason _Alpine_ doesn't know.
+ _auto-move-read-msgs_
+ This feature controls an aspect of _Alpine_'s behavior upon
+ quitting. If set, and the read-message-folder variable is also
+ set, then _Alpine_ will automatically transfer all read messages
+ from the _INBOX_ to the designated folder and mark them as
+ deleted in the _INBOX_. Messages in the _INBOX_ marked with an
+ _N_ (meaning New, or unseen) are not affected.
+ This feature is displayed as "Auto Move Read Messages".
+ _auto-open-next-unread_
+ This feature controls the behavior of the TAB key when
+ traversing folders in the optional incoming-folders collection
+ or in optional news-collections.
+ When the TAB (Next New) key is pressed, and there are no more
+ unseen messages in the current (incoming message or news)
+ folder, _Alpine_ will search the list of folders in the current
+ collection for one containing New or Recent (new since the last
+ time the folder was opened) messages. This behavior may be
+ modified slightly with the Tab-Uses-Unseen-For-Next-Folder
+ feature which causes _Alpine_ to look for Unseen messages
+ instead of Recent messages. By default, when such a folder is
+ found, _Alpine_ will ask whether you wish to open the folder. If
+ this feature is set, _Alpine_ will automatically open the folder
+ without prompting.
+ _auto-unselect-after-apply_
+ This feature affects the behavior of the Apply command. If set,
+ the Apply command will do the operation you specify, but then
+ will implicitly do an "UnSelect All", so that you will
+ automatically be back in the normal Index view after the Apply.
+ _auto-unzoom-after-apply_
+ If set, and if you are currently looking at a Zoomed Index view
+ of selected messages, the _Apply_ command will do the operation
+ you specify, but then will implicitly do an _UnZoom_, so that
+ you will automatically be back in the normal Index view after
+ the _Apply_. This feature is set by default.
+ _auto-zoom-after-select_
+ If set, the _; select_ command will automatically perform a
+ _Zoom_ after the _select_ is complete. This feature is set by
+ default.
+ _busy-cue-spinner-only_
+ When _Alpine_ is delayed for some reason it usually shows that
+ something is happening with a small animated display in the
+ status message line near the bottom of the screen. Setting this
+ feature will cause that animation to be the same each time
+ instead of having _Alpine_ choose a random animation. You may
+ turn the animation off altogether by setting the busy-cue-rate
+ option to zero.
+ _check-newmail-when-quitting_
+ If set, _Alpine_ will check for new mail after you give the Quit
+ command. If new mail has arrived since the previous check, you
+ will be notified and given the choice of quitting or not
+ quitting.
+ _combined-addrbook-display_
+ This feature affects the address book display screens. Normally,
+ expanding an address book from the ADDRESS BOOK LIST screen will
+ cause the remaining address books and directory servers to
+ disappear from the screen, leaving only the entries of the
+ expanded address book. If this feature is set, then the other
+ address books will remain on the screen, so that all of the
+ address books can be present at once.
+ The way that commands work won't be changed. For example, the
+ Select All command will select all of the entries in the current
+ address book, not all of the entries in all of the address
+ books. The WhereIs command will change a little. It will search
+ through all of the text on the screen plus all of the entries
+ from expanded address books.
+ When this feature is set, the setting of the feature
+ expanded-view-of-addressbooks has an effect.
+ This feature is displayed as "Combined Addressbook Display".
+ _combined-folder-display_
+ This feature affects the folder list display screens. Normally,
+ each folder list is viewed within its collection only. This
+ command allows folder lists to be viewed within a single screen
+ that combines the contents of all collections.
+ The way that commands work won't be changed. For example, the
+ Select All command will select all of the folders in the current
+ collection, not all of the entries in all of the collections.
+ The WhereIs command will change a little. It will search through
+ all of the folders in the current collection as well as all the
+ folder in any other expanded collection.
+ When this feature is set, the setting of the feature
+ expanded-view-of-folders has an effect.
+ _combined-subdirectory-display_
+ This feature affects the Folder List screen when the
+ combined-folder-display feature is enabled. Normally, selecting
+ a directory from the Folder List takes you into a new screen
+ displaying only the contents of that directory.
+ Enabling this feature will cause the contents of the selected
+ directory to be displayed within the boundaries of the
+ Collection it is a part of. All previously displayed collections
+ will remain in the screen.
+ The way that commands work won't be changed. For example, the
+ Select All command will select all of the folders in the
+ directory, as opposed to all of the entries in all of the
+ collections. The WhereIs command will change a little. It will
+ search through all of the folders in the current collection as
+ well as all the folder in any other expanded collection.
+ _compose-cancel-confirm-uses-yes_
+ This feature affects what happens when you type ^C to cancel a
+ composition. By default, if you attempt to cancel a composition
+ by typing ^C, you will be asked to confirm the cancellation by
+ typing a "C" for _C_onfirm. It logically ought to be a "Y" for
+ _Y_es, but that is risky because the "^C Y" needed to cancel a
+ message is close (on the keyboard) to the "^X Y" needed to send
+ a message.
+ If this feature is set the confirmation asked for will be a
+ "_Y_es" instead of a "_C_onfirm" response.
+ _compose-cut-from-cursor_
+ If set, the _^K_ command in the composer will cut from the
+ current cursor position to the end of the line, rather than
+ cutting the entire line.
+ This feature is displayed as "Ctrl-K Cuts From Cursor".
+ _compose-maps-delete-key-to-ctrl-d_
+ If set, Delete will be equivalent to ^D, and delete the current
+ character. Normally _Alpine_ defines the Delete key to be
+ equivalent to ^H, which deletes the _previous_ character.
+ This feature is displayed as "Delete Key Maps to Ctrl-D".
+ _compose-rejects-unqualified-addrs_
+ If set, unqualified names entered as addresses will be treated
+ as errors unless they match an addressbook nickname or are
+ looked up successfully on an LDAP server. _Alpine_ will not
+ attempt to turn them into complete addresses by adding your
+ local domain (which _Alpine_ normally does by default).
+ A complete (fully-qualified) address is one containing a
+ username followed by an _@_ symbol, followed by a host or domain
+ name (e.g. _jsmith@example.com_). An unqualified name is one
+ without the _@_ symbol and host or domain name (e.g. _jsmith_).
+ This feature is displayed as "Compose Rejects Unqualified
+ Addresses".
+ _compose-send-offers-first-filter_
+ If you have sending-filters configured, setting this feature
+ will cause the first filter in the _sending-filters_ list to be
+ offered as the default instead of _unfiltered_, the usual
+ default.
+ _compose-sets-newsgroup-without-confirm_
+ If you enter the composer while reading a newsgroup, you will
+ normally be prompted to determine whether you intend the new
+ message to be posted to the current newsgroup or not. If this
+ feature is set, _Alpine_ will not prompt you in this situation,
+ and will assume that you do indeed wish to post to the newsgroup
+ you are reading.
+ This feature is displayed as "Compose Sets Newsgroup Without
+ Confirming".
+ _confirm-role-even-for-default_
+ If you have roles, when you Reply to or Forward a message, or
+ Compose a new message, _Alpine_ will search through your roles
+ for one which matches. Normally, if no matches are found you
+ will be placed into the composer with no opportunity to select a
+ role. If this feature is set, then you will be asked to confirm
+ that you don't want a role. This will give you the opportunity
+ to select a role (with the ^T command). If you confirm no role
+ with a Return, you will be placed in the composer with no role.
+ You may also confirm with either an "N" or a "Y". These behave
+ the same as if you pressed the Return. (The "N" and "Y" answers
+ are available because they match what you might type if there
+ was a role match.)
+ If you are using the alternate form of the Compose command
+ called "Role", then all of your roles will be available to you,
+ independent of the value of this feauture and of the values set
+ for all of Reply Use, Forward Use, and Compose Use.
+ _continue-tab-without-confirm_
+ Normally, when you use the TAB NextNew command and there is a
+ problem checking a folder, you are asked whether you want to
+ continue with the search in the following folder or not. This
+ gives you a chance to stop the NextNew processing.
+ If this feature is set you will not be asked. It will be assumed
+ that you want to continue.
+ This feature is displayed as "Continue NextNew Without
+ Confirming".
+ _convert-dates-to-localtime_
+ Normally, the message dates that you see in the MESSAGE INDEX
+ and MESSAGE VIEW are displayed in the timezone they were sent
+ from. For example, if a message was sent to you from a few
+ timezones to the east it might appear that it was sent from the
+ future; or if it was sent from somewhere to the west it might
+ appear as if it is from yesterday even though it was sent only a
+ few minutes ago. If this feature is set an attempt will be made
+ to convert the dates to your local timezone to be displayed.
+ Note that this does not affect the results of Select by Date or
+ of anything else other than these displayed dates. When viewing
+ the message you may look at the original unconverted value of
+ the Date header by using the HdrMode Command.
+ _copy-to-address-to-from-if-it-is-us_
+ This feature affects the From address used when Replying to a
+ message. It is probably only useful if you have some
+ alt-addresses defined. When enabled, it checks to see if any of
+ the addresses in the To or Cc fields of the message you are
+ replying to is one of your addresses. If it is, and there is
+ only one of them, then that address is used as the From address
+ in the message you are composing. In other words, you will be
+ using a From address that is the same as the To address that was
+ used to get the mail to you in the first place.
+ If a role is being used and it has a From address defined, that
+ From address will be used rather than the one derived from this
+ feature.
+ _delete-skips-deleted_
+ If set, this feature will cause the _Delete_ command to advance
+ past other messages that are marked deleted. In other words,
+ pressing _D_ will both mark the current message deleted and
+ advance to the next message that is not marked deleted. This
+ feature is set by default.
+ _disable-config-cmd_
+ If set, the configuration screen _Setup/Config_ will not be
+ available at all.
+ _disable-save-input-history_
+ Many of the prompts that ask for input in the status line near
+ the bottom of the screen will respond to Up Arrow and Down Arrow
+ with the history of previous entries. For example, in the
+ MESSAGE INDEX screen when you use the WhereIs command the text
+ you entered will be remembered and can be recalled by using the
+ Up Arrow key. Another example, when saving a message the folders
+ saved to will be remembered and can be recalled using the arrow
+ keys.
+ In the Save prompt, some users prefer that the Up and Down arrow
+ keys be used for the Previous Collection and Next Collection
+ commands instead of for a history of previous saves. If this
+ option is set the Up and Down arrow keys will become synonyms
+ for the Previous Collection and Next Collection (^P and ^N)
+ commands in the prompt for the name of a folder to Save to or in
+ the prompt for the name of a folder to GoTo. When this feature
+ is not set (the default), ^P and ^N will change the collection
+ and the arrow keys will show the history.
+ _disable-keyboard-lock-cmd_
+ In the Main _Alpine_ menu there is a Keyboard locking command
+ (_KBLock_). If this feature is set, that command won't be
+ available to the user.
+ _disable-keymenu_
+ If set, the command key menu that normally appears on the bottom
+ two lines of the screen will not usually be there. Asking for
+ help with _^G_ or _?_ will cause the key menu to appear instead
+ of causing the help message to come up. If you want to actually
+ see the help text, another _^G_ or _?_ will show it to you.
+ After the key menu has popped up with the help key it will
+ remain there for an _O Other_ command but will disappear if any
+ other command is typed.
+ _disable-password-caching_
+ Normally, loginname/password combinations are cached in _Alpine_
+ so that the user does not have to enter the same password more
+ than once in a session. A disadvantage to this approach is that
+ the password must be stored in the memory image of the running
+ _Alpine_ in order that it can be reused. In the event that
+ _Alpine_ crashes and produces a core dump, and that core dump is
+ readable by others, the loginname and password could possibly be
+ read from the core dump.
+ If this feature is set, then the passwords will not be cached
+ and the user will have to retype the password whenever _Alpine_
+ needs it. Even with this feature set there is still some chance
+ that the core file will contain a password, so care should be
+ taken to make the core files unreadable.
+ NOTE: If PASSFILE caching is enabled, this does not disable it.
+ That is a separate and independent feature.
+ _disable-password-cmd_
+ If set the _Newpassword_ command usually available under the
+ _Setup_ command will not be available.
+ _disable-pipes-in-sigs_
+ If set it will be an error to append a vertical bar (|) to the
+ name of a signature file. Appending a vertical bar normally
+ causes the signature file to be executed to produce the
+ signature.
+ _disable-pipes-in-templates_
+ If set it will be an error to append a vertical bar (|) to the
+ name of a template file. Appending a vertical bar normally
+ causes the signature file to be executed to produce the
+ signature.
+ _disable-regular-expression-matching-for-alternate-addresses_
+ Normally, the alt-addresses option is interpreted as a regular
+ expression. One type of address that might cause trouble is an
+ address that contains a plus sign. If you want to have an
+ address with a plus as one of your alternate addresses and you
+ don't want to use regular expressions, then setting this feature
+ will cause _Alpine_ to treat the addresses you list literally
+ instead.
+ _disable-roles-setup-cmd_
+ If set the _Roles_ command usually available under the _Setup_
+ command will not be available.
+ _disable-roles-sig-edit_
+ If set the roles editor in the _Setup/Roles_ command will not
+ allow editing of signature files with the F subcommand.
+ _disable-roles-template-edit_
+ If set the roles editor in the _Setup/Roles_ command will not
+ allow editing of template files with the F subcommand.
+ _disable-sender_
+ If set, _Alpine_ will not generate a "Sender:" or "X-X-Sender"
+ header. This may be desirable on a system which is virtually
+ hosting many domains, and the sysadmin has other methods
+ available for tracking a message to its originator.
+ This feature is displayed as "Do Not Generate Sender Header".
+ _disable-setlocale-collate_
+ This is a hard to understand feature that should only be used in
+ rare cases. Normally, the C function call
+
+ setlocale(LC_COLLATE, "")
+ is used by _Alpine_. If you want to try turning it off, setting
+ this feature will turn it off. This part of the locale has to do
+ with the sort order of characters in your locale.
+ _disable-shared-namespaces_
+ If this hidden feature is set the automatic search for
+ namespaces "ftp", "imapshared", and "imappublic" by the
+ underlying library will be disabled. The reason this feature
+ exists is because there are some implementations of system
+ password lookup routines which are very slow when presented with
+ a long loginname which does not exist. This feature could be set
+ to prevent the delay at startup time when the names above are
+ searched for in the password file.
+ _disable-signature-edit-cmd_
+ If set the _Signature_ editing command usually available under
+ the _Setup_ command will not be available.
+ _disable-take-fullname-in-addresses_
+ Normally, when TakeAddr is used to copy an address or addresses
+ from a message into an address book entry, _Alpine_ will try to
+ preserve the full name associated with each address in the list
+ of addresses. The reason for this is so that if the entry is a
+ list or later becomes a list, then information about the
+ individual addresses in the list is preserved. If you would
+ rather just have the simple addresses in the list of addresses,
+ set this feature. For example, with the default setting you
+ might see something like this in the ADDRESS BOOK editor after
+ you type TakeAddr
+ Nickname : nick
+ Fullname : Bedrock Elders
+ Fcc :
+ Comment :
+ Addresses : Fred Flintstone <flint@bedrock.org>,
+ Barney Rubble <rubble@bedrock.org>
+
+ but with this feature set it would look like
+ Nickname : nick
+ Fullname : Bedrock Elders
+ Fcc :
+ Comment :
+ Addresses : flint@bedrock.org,
+ rubble@bedrock.org
+
+ instead. Note the difference in the Addresses field.
+ _disable-take-last-comma-first_
+ Normally, when _TakeAddr_ is used to copy an address from a
+ message into an address book, _Alpine_ will attempt to rewrite
+ the full name of the address in the form:
+
+ Last, First
+ instead of
+
+ First Last
+ It does this because many people find it useful to sort by Last
+ name instead of First name. If this feature is set, then the
+ _TakeAddr_ command will not attempt to reverse the name in this
+ manner.
+ _disable-terminal-reset-for-display-filters_
+ UNIX _Alpine_ only.
+ This feature affects _Alpine_'s behavior when using
+ Display-Filters. Normally, before the display filter is run, the
+ terminal mode is reset to what it was before you started
+ _Alpine_. This may be necessary if the filter requires the use of
+ the terminal. For example, it may need to interact with you. If
+ you set this feature, then the terminal mode will not be reset.
+ One thing that turning on this feature should fix is the
+ coloring of quoted text in the message view, which breaks
+ because the terminal reset resets the color state of the
+ terminal (Color Configuration).
+ _downgrade-multipart-to-text_
+ This feature affects _Alpine_'s behavior when sending mail.
+ Internet standards require _Alpine_ to translate all non-ASCII
+ characters in messages that it sends using MIME encoding. This
+ encoding can be ostensibly broken for recipients if any agent
+ between _Alpine_ and the recipient, such as an email list
+ expander, appends text to the message, such as list information
+ or advertising. When sending such messages _Alpine_ attempts to
+ protect such encoding by placing extra MIME boundaries around
+ the message text.
+ These extra boundaries are invisible to recipients that use
+ MIME-aware email programs (the vast majority). However, if you
+ correspond with users of email programs that are not MIME-aware,
+ or do not handle the extra boundaries gracefully, you can use
+ this feature to prevent _Alpine_ from including the extra MIME
+ information. Of course, it will increase the likelihood that
+ non-ASCII text you send may appear corrupt to the recipient.
+ _enable-8bit-esmtp-negotiation_
+ This feature affects _Alpine_'s behavior when sending mail. By
+ default, this feature is set. Internet standards require that
+ all electronic mail messages traversing the global Internet
+ consist of 7bit ASCII characters unless a pair of cooperating
+ mail transfer agents explicitly agree to allow 8bit messages. In
+ general, then, exchanging messages in non-ASCII characters
+ requires MIME encoding.
+ However, there are now Internet standards that allow for
+ unencoded 8bit exchange of messages between cooperating systems.
+ When this feature is set _Alpine_ will try to negotiate
+ unencoded 8bit transmission during the sending process. Should
+ the negotiation fail, _Alpine_ will fall back to its ordinary
+ encoding rules.
+ Note, this feature relies on your system's mail transport agent
+ or configured smtp-server having the negotiation mechanism
+ introduced in "Extended SMTP" (ESMTP) and the specific extension
+ called _8BITMIME_.
+ _enable-8bit-nntp-posting_
+ The Internet standard for exchanging USENET news messages
+ (RFC-1036) specifies that USENET messages should conform to
+ Internet mail standards and contain only 7bit characters, but
+ much of the news transport software in use today is capable of
+ successfully sending messages containing 8bit characters. Hence,
+ many people believe that it is appropriate to send 8bit news
+ messages without any MIME encoding.
+ Moreover, there is no Internet standard for explicitly
+ negotiating 8bit transfer, as there is for Internet email.
+ Therefore, _Alpine_ provides the option of posting unencoded
+ 8bit news messages, though not as the default. Setting this
+ feature will turn OFF _Alpine_'s MIME encoding of newsgroup
+ postings that contain 8bit characters.
+ Note, articles may cross a path or pass through news transport
+ software that is unsafe or even hostile to 8bit characters. At
+ best this will only cause the posting to become garbled. The
+ safest way to transmit 8bit characters is to leave _Alpine_'s
+ MIME encoding turned on, but recipients who lack MIME-aware
+ tools are often annoyed when they receive MIME-encoded messages.
+ _enable-aggregate-command-set_
+ When this feature is set you may use the commands and
+ subcommands that relate to performing operations on more than
+ one message at a time. We call these "aggregate operations". In
+ particular, the _; Select_, _A Apply_, and _Z Zoom_ commands are
+ enabled by this feature. _Select_ is used to _tag_ one or more
+ messages meeting the specified criteria. _Apply_ can then be
+ used to apply any message command to all of the selected/tagged
+ messages. Further, the _Zoom_ command allows you to toggle the
+ "Folder Index" view between just those Selected and all messages
+ in the folder.
+ This feature also enables the _^X_ subcommand in the "Folder
+ Index" _WhereIs_ command which causes all messages matching the
+ _WhereIs_ argument to become selected.
+ You may also use aggregate operations in the address book
+ screens where you are operating on address book entries instead
+ of on messages.
+ _enable-alternate-editor-cmd_
+ If this feature is set (the default), and the editor variable is
+ not set, entering the _^__ (Control-underscore) key while
+ composing a message will prompt you for the name of the editor
+ you would like to use.
+ If the environment variable $EDITOR is set, this value will be
+ offered as a default. If the _editor_ variable is set, the _^__
+ key will activate the specified editor without prompting, in
+ which case it is not necessary to set the
+ _enable-alternate-editor-cmd_ feature. This feature is not
+ available in _PC-Alpine_.
+ This feature is displayed as "Enable Alternate Editor Command".
+ _enable-alternate-editor-implicitly_
+ If this feature and the editor variable are both set, _Alpine_
+ will automatically activate the specified editor when the cursor
+ is moved from the header of the message being composed into the
+ message text. For replies, the alternate editor will be
+ activated immediately. If this feature is set but the _editor_
+ variable is not set, then _Alpine_ will automatically ask for
+ the name of an alternate editor when the cursor is moved out of
+ the headers, or if a reply is being done. This feature is not
+ available in _PC-Alpine_.
+ _enable-arrow-navigation_
+ This feature controls the behavior of the left and right arrow
+ keys. If set, the left and right arrow keys will operate like
+ the usual navigation keys _<_ and _>_. This feature is set by
+ default.
+ If you set this feature, and do not like the changed behavior of
+ the up/down arrow keys when navigating through the FOLDER LIST
+ screen -- _first_ from column to column, if more than one folder
+ is displayed per row, and _then_ from row to row -- you may
+ either also wish to set the feature
+ enable-arrow-navigation-relaxed, single-column-folder-list, or
+ use the ^P/^N (instead of up/down arrow) keys to move up/down
+ the list of folders in each column.
+ _enable-arrow-navigation-relaxed_
+ This feature controls the behavior of the left and right arrow
+ keys in the FOLDER LIST screen when the enable-arrow-navigation
+ feature is set. This feature is set by default.
+ When this feature is set, the left and right arrow keys in the
+ FOLDER LIST screen move the highlight bar to the left or right,
+ and the up and down arrows move it up or down.
+ When the "Enable-Arrow-Navigation" feature is set and this
+ feature is not set; the left and right arrow keys in the Folder
+ List screen strictly track the commands bound to the '<' and '>'
+ keys, and the up and down arrow keys move the highlight bar to
+ the previous and next folder or directory name.
+ _enable-background-sending_
+ If set, this feature enables a subcommand in the composer's
+ _Send?_ confirmation prompt. The subcommand allows you to tell
+ _Alpine_ to handle the actual posting in the background. While
+ this feature usually allows posting to appear to happen very
+ fast, it has no affect on the actual delivery time it takes a
+ message to arrive at its destination.
+ This feature isn't supported on all systems. All DOS and
+ Windows, as well as several Unix ports, do not recognize this
+ feature. It is not possible to use background sending if the
+ feature send-without-confirm is set.
+ Error handling is significantly different when this feature is
+ enabled. Any message posting failure results in the message
+ being appended to your _Interrupted_ mail folder. When you type
+ the _Compose_ command, _Alpine_ will notice this folder and
+ offer to extract any messages contained. Upon continuing a
+ failed message, _Alpine_ will display the nature of the failure
+ in the status message line.
+ Under extreme conditions, it is possible for message data to get
+ lost. Do not enable this feature if you typically run close to
+ any sort of disk-space limits or quotas.
+ _enable-bounce-cmd_
+ Setting this feature enables the _B Bounce_ command, which will
+ prompt for an address and _remail_ the message to the new
+ recipient. This command is used to re-direct messages that you
+ have received in error, or need to be redirected for some other
+ reason (e.g. list moderation). The final recipient will see a
+ header indicating that you have Resent the msg, but the
+ message's From: header will show the original author of the
+ message, and replies to it will go back to that author, and not
+ to you.
+ This feature is displayed as "Enable Bounce Command".
+ _enable-cruise-mode_
+ This feature affects _Alpine_'s behavior when you hit the "Space
+ Bar" at the end of a displayed message. Typically, _Alpine_
+ complains that the end of the text has already been reached.
+ Setting this feature causes such keystrokes to be interpreted as
+ if the _Tab_ key had been hit, thus taking you to the next
+ _interesting_ message, or scanning ahead to the next incoming
+ folder with _interesting_ messages.
+ _enable-cruise-mode-delete_
+ This feature modifies the behavior of _Alpine_'s
+ _enable-cruise-mode_ feature. Setting this feature causes _Alpine_
+ to implicitly delete read messages when it moves on to display
+ the next _interesting_ message.
+ NOTE: Beware when enabling this feature _and_ the
+ expunge-without-confirm feature.
+ This feature is displayed as "Enable Cruise Mode With Deleting".
+ _enable-delivery-status-notification_
+ If set, this feature enables a subcommand in the composer's
+ "Send?" confirmation prompt. The subcommand allows you to tell
+ _Alpine_ to request the type of Delivery Status Notification
+ (DSN) which you would like. Most users will be happy with the
+ default, and need not enable this feature. See the online help
+ for more details.
+ It is not possible to use delivery status notifications if the
+ feature send-without-confirm is set.
+ Note that this is not a method to request _READ_ receipts, which
+ tells the sender when the receiver has read the message. In this
+ case we're talking about notification of delivery to the
+ mailbox, not notification that the message has been seen.
+ _enable-dot-files_
+ If set, files beginning with dot (".") will be visible in the
+ file browser. For example, you'll be able to select them when
+ using the browser to add an attachment to a message.
+ _enable-dot-folders_
+ If set, folders beginning with dot (".") may be added and
+ viewed. This feature is displayed as "Enable Hidden Folders".
+ _enable-exit-via-lessthan-command_
+ If set, then on screens where there is an _Exit_ command but no
+ _<_ command, the _<_ key will perform the same function as the
+ _Exit_ command. This feature is set by default.
+ _enable-fast-recent-test_
+ This feature controls the behavior of the TAB key when
+ traversing folders in the optional Incoming-Folders collection
+ or in optional News-Collections.
+ When the TAB (NextNew) key is pressed, the default behavior is
+ to explicitly examine the status of the folder for the number of
+ recent messages (messages delivered since the last time it was
+ viewed). Depending on the size and number of messages in the
+ folder, this test can be time consuming.
+ Enabling this feature will cause _Alpine_ to only test for the
+ existence of any recent messages rather than to obtain the
+ count. This is much faster in many cases. The downside is that
+ you're not given the number of recent messages when prompted to
+ view the next folder. If the feature
+ Tab-Uses-Unseen-For-Next-Folder is turned on, then the present
+ feature will have no effect.
+ _enable-flag-cmd_
+ Setting this feature enables the _* Flag_ command, which allows
+ you to manipulate the status flags associated with a message. By
+ default, _Flag_ will set the _Important_ flag, which results in
+ an asterisk being displayed in column one of the "Folder Index"
+ for such messages.
+ This feature is displayed as "Enable Flag Command".
+ _enable-flag-screen-implicitly_
+ This feature modifies the behavior of the _* Flag_ command
+ (provided it too is enabled). By default, when the _* Flag_
+ command is selected, _Alpine_ offers a prompt to set one of
+ several flags and also offers the option of entering the
+ detailed flag manipulation screen via the _^T_ key. Enabling
+ this feature causes _Alpine_ to immediately enter the detailed
+ flag screen rather than first offer the simple prompt. The
+ Enable-Flag-Screen-Keyword-Shortcut option offers a slightly
+ different way of setting keywords.
+ _enable-flag-screen-keyword-shortcut_
+ This feature modifies the behavior of the Flag command and the
+ Select command. By default, when the "* Flag" command is
+ selected, _Alpine_ offers a prompt to set one of several flags
+ and also offers the option of entering the detailed flag
+ manipulation screen via the "^T" key. If you have keywords
+ defined, then enabling this feature adds a shortcut way to set
+ or unset keywords. You use "*" followed by the first letter of a
+ keyword (or the nickname of a keyword if you've given it a
+ nickname) and that will set the keyword.
+ An example is easier to understand than the explanation. The
+ flag command can always be used to set the system flags. For
+ example, to set the Answered flag you would type
+
+ * A
+ Now suppose you have defined a keyword "Work" using the Keywords
+ option in the Config screen. By default, to set a keyword like
+ "Work" you would usually have to go to the Flag Details screen
+ using the "^T To Flag Details" command. Instead, if you have
+ enabled this feature, you may type
+
+ * W
+ to set the Work flag, or
+
+ * ! W
+ to unset it. Just like for the other flag setting commands, the
+ case of the letter does not matter, so "w" or "W" both set the
+ "Work" keyword.
+ Notice that you can only use this trick for one keyword that
+ begins with "W". If you happen to have a "Work" keyword and
+ another keyword that is "WIFI" the "* W" command will set the
+ first one in your list of keywords. Also, there are five letters
+ which are reserved for system flags and the NOT command. If you
+ type "* A" it will always set the Answered flag, not your
+ "Aardvark" keyword. In order to set the "Aardvark" keyword
+ you'll still have to use the Flag Details screen.
+ Because enabling the Enable-Flag-Screen-Implicitly option causes
+ _Alpine_ to skip directly to the Flag Details screen when the
+ Flag command is used, setting it will cause this feature to have
+ no effect at all.
+ Similarly, when Selecting by Keyword, setting this option will
+ allow you to use Keyword initials instead of full keywords.
+ _enable-full-header-cmd_
+ This feature enables the _H Full Headers_ command which toggles
+ between the display of all headers in the message and the normal
+ edited view of headers. The _Full Header_ command also controls
+ which headers are included for _Export_, _Pipe_, _Print_,
+ _Forward_, and _Reply_ functions. (For _Reply_, the _Full Header_
+ mode will respect the _include-headers-in-reply_ feature
+ setting.)
+ If Full Header mode is turned on and you Forward a message, you
+ will be asked if you'd like to forward the message as an
+ attachment, as opposed to including the text of the message in
+ the body of your new message.
+ If you have also turned on the "Quote Suppression" option then
+ the Full Headers command actually rotates through three states
+ instead of just two. The first is the normal view with long
+ quotes suppressed. The second is the normal view but with the
+ long quotes included. The last enables the display of all
+ headers in the message. When using Export, Pipe, Print, Forward,
+ or Reply the quotes are never suppressed, so the first two
+ states are identical.
+ Normally, the Header Mode will reset to the default behavior
+ when moving to a new message. The mode can be made to persist
+ from message to message by setting the feature
+ Quell-Full-Header-Auto-Reset.
+ This feature is displayed as "Enable Full Header Command".
+ _enable-full-header-and-text_
+ This feature affects how the _H Full Headers_ command displays
+ message text. If set, the raw message text will be displayed.
+ This especially affects MIME formatted email, where the entire
+ MIME format will be displayed. This feature similarly affects
+ how messages are included for the _Export_, _Pipe_, _Print_,
+ _Forward_, and _Reply_ functions.
+ _enable-goto-in-file-browser_
+ Setting this causes _Alpine_ to offer the _G Goto_ command in
+ the file browser. The Goto command allows you to explicitly type
+ in the desired directory. That is the default.
+ _enable-incoming-folders_
+ If set, this feature defines a pseudo-folder collection called
+ _INCOMING MESSAGE FOLDERS_. Initially, the only folder included
+ in this collection will be your _INBOX_, which will no longer
+ show up in your default saved-message folder collection.
+ This feature is displayed as "Enable Incoming Folders
+ Collection".
+ _enable-incoming-folders-checking_
+ This feature is only operational if you have enabled the
+ optional incoming-folders If you do have Incoming Message
+ Folders and you also set this feature, then the number of Unseen
+ messages in each folder will be displayed in the FOLDER LIST
+ screen for the Incoming Message Folders. The number of Unseen
+ messages in a folder will be displayed in parentheses to the
+ right of the name of each folder. If there are no Unseen
+ messages in a folder then only the name is displayed, not a set
+ of parentheses with zero inside them. A redraw command, Ctrl-L,
+ can be used in the FOLDER LIST screen for the Incoming Message
+ Folders to cause an immediate update.
+ If a check for Unseen messages fails for a particular folder
+ then Alpine will no longer attempt to check that folder for the
+ duration of the session and this will be indicated by a question
+ mark inside the parentheses.
+ The features incoming-checking-includes-total,
+ incoming-checking-uses-recent, incoming-check-list,
+ incoming-check-interval, incoming-check-interval-secondary, and
+ incoming-check-timeout all affect how this feature behaves.
+ _Disable-Index-Locale-Dates_
+ This feature affects the display of dates in the MESSAGE INDEX.
+ Normally an attempt is made to localize the dates used in the
+ MESSAGE INDEX display to your locale. This is controlled with
+ the LC_TIME locale setting on a UNIX system. On Windows the
+ Regional Options control panel may be used to set the date
+ format. At the programming level, _Alpine_ is using the strftime
+ routine to print the parts of a date.
+ If this feature is set, dates are displayed in English and with
+ the conventions of the United States.
+ _enable-jump-shortcut_
+ When this feature is set you may enter a number (followed by
+ RETURN) and jump to that message number, when in the MESSAGE
+ INDEX or MESSAGE TEXT screens. In other words, it obviates the
+ need for typing the _J_ for the _Jump_ command.
+ _enable-lame-list-mode_
+ This feature modifies the method _Alpine_ uses to ask your IMAP
+ server for folder names to display in the the FOLDER LIST
+ screen. It is intended to compensate for a small set of IMAP
+ servers that are programmed to ignore a part of the request, and
+ thus respond to _Alpine_'s query with nonsensical results.
+ If you find that _Alpine_ is erroneously displaying blank folder
+ lists, try enabling this feature.
+ NOTE: Enabling this feature has consequences for the Goto and
+ Save commands. Many servers allow access to folders outside the
+ area reserved for your personal folders via some reserved
+ character, typically '#' (sharp), '~' (tilde) or '/' (slash).
+ This mechanism allows, at the Goto and Save prompts, quick
+ access to folders outside your personal folder collection
+ without requiring a specific collection definition. This
+ behavior will generally not be available when this feature is
+ enabled.
+ This feature is displayed as "Compensate for Deficient IMAP
+ servers".
+ _enable-mail-check-cue_
+ If set, this will cause an asterisk to appear in the upper
+ left-hand corner of the screen whenever _Alpine_ checks for new
+ mail, and two asterisks whenever _Alpine_ saves (checkpoints)
+ the state of the current mailbox to disk.
+ _enable-mailcap-param-substitution_
+ If set, this will allow mailcap named parameter substitution to
+ occur in mailcap entries. By default, this is turned off to
+ prevent security problems which may occur with some incorrect
+ mailcap configurations. For more information, RFC1524 and look
+ for "named parameters" in the text of the RFC.
+ This feature is displayed as "Enable Mailcap Parameter
+ Substitution".
+ _enable-mouse-in-xterm_
+ This feature controls whether or not an X terminal mouse can be
+ used with _Alpine_. If set, and the $DISPLAY variable indicates
+ that an X terminal is being used, the left mouse button on the
+ mouse can be used to select text or commands. Clicking on a
+ command at the bottom of the screen will behave as if you had
+ typed that command. Clicking on an index line will move the
+ current message highlight to that line. Double-clicking on an
+ index line will view the message. Double-clicking on a link will
+ view the link.
+ This type of mouse support will also work in some terminal
+ emulators which are not actually X terminals, but which have
+ extra code to support the xterm style mouse. For those emulators
+ you not only need to turn this feature on but you also have to
+ set the $DISPLAY environment variable even though it isn't
+ needed for your terminal. That will cause _Alpine_ to think that
+ it is an xterm and to properly interpret the escape sequences
+ sent by the mouse.
+ Note: if this feature is set, the behavior of X terminal
+ cut-and-paste is also modified. It is sometimes possible to hold
+ the shift key down while clicking left or middle mouse buttons
+ for the normal xterm cut/paste operations. There is also an
+ _Alpine_ command to toggle this mode on or off. The command is
+ Ctrl-\ (Control-backslash).
+ _enable-msg-view-addresses_
+ This feature modifies the behavior of _Alpine_'s "Message Text"
+ screen. Setting this feature causes _Alpine_ to select possible
+ email addresses from the displayed text and display them in
+ boldface for selection.
+ The first available email address is displayed in inverse. This
+ is the "selected" address. Pressing _RETURN_ will cause _Alpine_
+ to enter the message composition screen with the To field filled
+ in with the selected address.
+ Use the up and down arrow keys to change which of the addresses
+ displayed in boldface is the current selection.
+ This feature is displayed as "Enable Message View Address
+ Links".
+ _enable-msg-view-attachments_
+ This feature modifies the behavior of _Alpine_'s "Message Text"
+ screen. Setting this feature causes _Alpine_ to present
+ attachments in boldface. The first available attachment is
+ displayed in inverse. This is the "selected" attachment.
+ Pressing _RETURN_ will cause _Alpine_ to display the selected
+ attachment. Use the up and down arrow keys to change which of
+ the attachments displayed in boldface is the current selection.
+ Speaking of arrow keys, the Up and Down Arrows will select the
+ next and previous attachments if one is available on the screen
+ for selection. Otherwise, they will simply adjust the viewed
+ text one line up or down.
+ Similarly, when selectable items are present in a message, the
+ Ctrl-F key can be used to select the next item in the message
+ independent of which portion of the viewed message is currently
+ displayed. The Ctrl-B key can be used to select the previous
+ item in the same way.
+ This feature is displayed as "Enable Message View Attachment
+ Links".
+ _enable-msg-view-forced-arrows_
+ This feature modifies Up and Down arrow key behavior in
+ _Alpine_'s "Message Text" screen when selectable Attachments,
+ URL's, or web-hostnames are presented. _Alpine_'s usual behavior
+ is to move to the next or previous selectable item if currently
+ displayed or simply to adjust the screen view by one line if the
+ next selectable line is off the screen.
+ Setting this feature causes the Up and Down arrow keys to behave
+ as if no selectable items were present in the message.
+ Note, the _Ctrl-F_ (next selectable item) and _Ctrl-B_ (previous
+ selectable item) functionality is unchanged.
+ This feature is displayed as "Enable Message View Forced
+ Arrows".
+ _enable-msg-view-urls_
+ This feature modifies the behavior of _Alpine_'s "Message Text"
+ screen. When this feature is set (the default) _Alpine_ will
+ select possible URLs from the displayed text and display them in
+ boldface for selection.
+ The first available URL is displayed in inverse. This is the
+ "selected" URL. Pressing _RETURN_ will cause _Alpine_ to display
+ the selected URL via either built-in means as with mailto:,
+ imap:, news:, and nntp:, or via an external application as
+ defined by the url-viewers variable.
+ Use the up and down arrow keys to change which of the URLs
+ displayed in boldface is the current selection.
+ This feature is displayed as "Enable Message View URL Links".
+ _enable-msg-view-web-hostnames_
+ This feature modifies the behavior of _Alpine_'s "Message Text"
+ screen. When this feature is set (the default) _Alpine_ will
+ select possible web hostnames from the displayed text and
+ display them in boldface for selection.
+ The first available hostname is displayed in inverse. This is
+ the "selected" hostname. Pressing _RETURN_ will cause _Alpine_
+ to display the selected hostname via an external application as
+ defined by the url-viewers variable.
+ Use the up and down arrow keys to change which of the hostnames
+ displayed in boldface is the current selection.
+ This feature is displayed as "Enable Message View Web Hostname
+ Links".
+ _enable-multiple-newsrcs_
+ This feature makes it so _Alpine_ can use multiple newsrcs based
+ on the news server being connected to, which allows for separate
+ lists of subscribed-to newsgroups. When this feature is not set,
+ there is only one list of newsgroups.
+ Under this feature, the name of a newsrc is based on the news
+ server. For example, if your newsrc-path is set to ".newsrc",
+ and the news server you are connecting to is news.example.com,
+ then the newsrc to be used is .newsrc-news.example.com. Setting
+ this feature for the first time will allow for the option of
+ using your old newsrc the next time you read news.
+ If this feature is set, then the feature
+ Mult-Newsrc-Hostnames-As-Typed also may affect the name of the
+ newsrc file that is used.
+ _enable-newmail-in-xterm-icon_
+ This feature controls whether or not _Alpine_ will attempt to
+ announce new mail arrival when it is running in an X terminal
+ window and that window is iconified. If set, and the $DISPLAY
+ variable indicates that an X terminal is being used, _Alpine_
+ will send appropriate escape sequences to the X terminal to
+ modify the label on _Alpine_'s icon to indicate that new mail
+ has arrived. _Alpine_ will also modify the _Alpine_ window's
+ title to indicate new mail. See also
+ Enable-Newmail-Short-Text-in-Icon.
+ _enable-newmail-short-text-in-icon_
+ This feature controls the text to be displayed in an icon in the
+ event of a new message arrival. Normally, the message will be
+ the one that is displayed on the screen. This feature shortens
+ the message to a count of the number of new messages in
+ brackets. This may be more useful for those who use the window's
+ title bar in the task bar as a new mail indicator. This feature
+ is only useful if the Enable-Newmail-in-Xterm-Icon is also set.
+ Like the Enable-Newmail-in-Xterm-Icon feature, this feature is
+ only relevant when run in an xterm environment.
+ _enable-partial-match-lists_
+ This feature affects the subcommands available when _Sav_ing or
+ Opening a new folder. If set, the subcommand _^X ListMatches_
+ will be available. This command allows you to type in a
+ substring of the folder you are looking for and when you type
+ _^X_ it will display all folders which contain that substring in
+ their names. This feature is set by default.
+ _enable-print-via-y-command_
+ By default, _Alpine_'s print command is available by pressing
+ the _%_ key. In older versions of _Pine_, the print command was
+ accessed by pressing the _Y_ key.
+ Enabling this feature will cause _Alpine_ to recognize both the
+ old command, _Y_, and the new _%_ method for invoking printing.
+ Note, key menu labels are not changed as a result of enabling
+ this feature.
+ _enable-reply-indent-string-editing_
+ This feature affects the Reply command's "Include original
+ message in Reply?" prompt. When enabled, it causes the "Edit
+ Indent String" sub-command to appear which allows you to edit
+ the string _Alpine_ would otherwise use to denote included text
+ from the message being replied to.
+ Thus, you can change _Alpine_'s default message quote character
+ (usually an angle bracket) on a per message basis. So you could
+ change your quoted message to look, for example, like this:
+On Tues, 26 Jan 1999, John Q. Smith wrote:
+
+John: I just wanted to say hello and to congratulate you
+John: on a job well done!
+ The configuration option "reply-indent-string" may be used to
+ change what appears as the default string to be edited.
+ NOTE: Edited reply-indent-strings only apply to the message
+ currently being replied to.
+ _enable-rules-under-take_
+ Normally, the Take command takes addresses from a message and
+ helps you put them into your Address Book. If you use Rules for
+ Indexcolors, Roles, Filtering, or Scoring; you may find it
+ useful to be able to Take information from a message's headers
+ and put it into a new Rule. When this feature is set, you will
+ be given an extra prompt which gives you the choice to Take into
+ the Address Book or Take into a rule.
+ This feature is displayed as "Enable Take Rules".
+ _enable-search-and-replace_
+ If set _Alpine_'s composer offers the _R Replace_ command option
+ inside the _W WhereIs_ command.
+ _enable-sigdashes_
+ If set and a _signature-file_ exists, the line consisting of the
+ three characters "-- " (dash dash space) is included before the
+ signature. This only happens if the signature doesn't already
+ contain such a line.
+ In addition, when you Reply or Followup to a message containing
+ one of these special lines and choose to include its text,
+ _Alpine_ will observe the convention of not including text beyond
+ the special line in your reply.
+ _enable-suspend_
+ Setting this feature will allow you to type _^Z_ and temporarily
+ suspend _Alpine_. Not available on _PC-Alpine_.
+ _enable-tab-completion_
+ This feature enables the _TAB_ key when at a prompt for a
+ filename. In this case, _TAB_ will cause the partial name
+ already entered to be automatically completed, provided the
+ partial name is unambiguous. This feature is set by default.
+ Similarly, this feature also enables TAB completion of address
+ book nicknames when at a prompt for a nickname, or when typing
+ in an address field in the composer.
+ _enable-take-export_
+ Normally, the Take command takes addresses from a message and
+ helps you put them into your Address Book. When this feature is
+ set, you will be given an extra prompt which gives you the
+ choice to Take addresses into a file instead of your Address
+ Book. Only the user@domain_name part of the address is put in
+ the file.
+ _enable-tray-icon_
+ _PC-Alpine_ only. This option restores a behavior of previous
+ versions of PC-Alpine. These versions, when started, installed a
+ PC-Alpine icon in the notification tray of Window's Taskbar. The
+ primary use of this icon was to indicate new mail arrival by
+ turning red (while the Taskbar icon remained green).
+ Additionally, the icon now changes to yellow to signify that a
+ mail folder has been closed unexpectedly.
+ Rather than add another icon to the Taskbar, this version of
+ PC-Alpine will color its Taskbar entry's icon red (as well as
+ the icon in the Window Title). This feature is only provided for
+ backwards compatibility.
+ _enable-unix-pipe-cmd_
+ This feature enables the _| Pipe_ command that sends the current
+ message to the specified Unix command for external processing.
+ This feature is displayed as "Enable Unix Pipe Command".
+ _enable-verbose-smtp-posting_
+ This feature controls an aspect of _Alpine_'s message sending.
+ When enabled, _Alpine_ will send a VERB (i.e., VERBose) command
+ early in the posting process intended to cause the server SMTP
+ to provide a more detailed account of the transaction. This
+ feature is typically only useful to system administrators and
+ other support personel as an aid in troublshooting problems.
+ Note, this feature relies on a specific capability of the
+ system's mail transport agent or configured smtp-server.
+ _expanded-view-of-addressbooks_
+ If multiple address books (either personal or global) are
+ defined, and you wish to have them all expanded implicitly upon
+ entering the ADDRESS BOOK screen, then set this feature. This
+ feature will have no effect unless the feature
+ combined-addrbook-display is also set.
+ _expanded-view-of-distribution-lists_
+ If this feature is set, then distribution lists in the address
+ book screen will always be expanded automatically.
+ _expanded-view-of-folders_
+ If multiple folder collections are defined, and you wish to have
+ them all expanded implicitly upon entering the FOLDER LIST
+ screen, then set this feature. This feature will have no effect
+ unless the feature combined-folder-display is also set.
+ _expose-hidden-config_
+ The purpose of this feature is to allow you to change
+ configuration features and variables which are normally hidden.
+ This is particularly useful if you are using a remote
+ configuration file, where it is difficult to edit the file
+ manually, but it may also be used on a local pinerc
+ configuration file.
+ If set, most configuration variables and features which are
+ normally hidden from view will show up in the
+ Setup/Configuration screen. They will be at the bottom of the
+ configuration screen. You can find them by searching for the
+ word "hidden".
+ Note that this is an advanced feature which should be used with
+ care. The reason that this part of the configuration is normally
+ hidden is because there is a significant potential for causing
+ problems if you change these variables. If something breaks
+ after a change try changing it back to see if that is what is
+ causing the problem. There are also some variables which are
+ normally hidden because they are manipulated through _Alpine_ in
+ other ways. For example, the "address-book" variable is normally
+ set using the Setup/AddressBooks screen, so there is little
+ reason to edit it directly. The "incoming-folders" variable is
+ normally changed by using the Add, Delete, and Rename commands
+ in the FOLDER LIST screen, and the "last-time-prune-questioned"
+ variable is normally used internally by _Alpine_ and not set
+ directly by the user.
+ _expunge-only-manually_
+ Normally, when you close a folder which contains deleted
+ messages you are asked if you want to expunge those messages
+ from the folder permanently. If this feature is set, you won't
+ be asked and the deleted messages will remain in the folder. If
+ you choose to set this feature you will have to expunge the
+ messages manually using the eXpunge command, which you can use
+ while in the MESSAGE INDEX screen. If you do not expunge deleted
+ messages the size of your folder will continue to increase until
+ you are out of disk space.
+ _expunge-without-confirm_
+ If set, you will not be prompted to confirm your intent before
+ the expunge takes place. Actually, you will still be prompted
+ for confirmation if the folder is not the _INBOX_ folder or
+ another folder in the Incoming Folders collection. See the
+ _expunge-without-confirm-everywhere_ feature which follows.
+ This feature is displayed as "Expunge Without Confirming".
+ _expunge-without-confirm-everywhere_
+ The regular _expunge-without-confirm_ feature actually only
+ works for the _INBOX_ folder and for other folders in the
+ "Incoming Folders" collection. If this feature is set then you
+ also won't be prompted to confirm expunges for all other
+ folders.
+ This feature is displayed as "Expunge Without Confirming
+ Everywhere".
+ _fcc-on-bounce_
+ If set, normal Fcc (File Carbon Copy) processing will be done
+ for bounced messages, just as if you had composed a message to
+ the address you are bouncing to. If not set, no Fcc of the
+ message will be saved.
+ This feature is displayed as "Include Fcc When Bouncing
+ Messages".
+ _fcc-only-without-confirm_
+ This features controls an aspect of _Alpine_'s composer. The
+ only time this feature will be used is if you attempt to send
+ mail which has no recipients but does have an Fcc. Normally,
+ _Alpine_ will ask if you really mean to copy the message only to
+ the Fcc. That is, it asks if you really meant to have no
+ recipients. If this feature is set, you will _not_ be prompted
+ to confirm your intent to make only a copy of a message with no
+ recipients.
+ This feature is closely related to
+ warn-if-blank-to-and-cc-and-newsgroups. The difference between
+ this feature and that feature is that this feature considers a
+ Bcc to be a recipient while that feature will ask for
+ confirmation even if there is a Bcc when there is no To, Cc, or
+ Newsgroup. The default values also differ. This feature defaults
+ to asking the question and you have to turn it off. The
+ warn-if-blank-to-and-cc-and-newsgroups feature defaults to not
+ asking unless you turn it on.
+ This feature is displayed as "Send to Fcc Only Without
+ Confirming".
+ _fcc-without-attachments_
+ This features controls the way FCC's (File Carbon Copies) are
+ made of the messages you send.
+ Normally, _Alpine_ saves an exact copy of your message as it was
+ sent. When this feature is enabled, the "body" of the message
+ you send (the text you type in the composer) is preserved in the
+ copy as before, however all attachments are replaced with text
+ explaining what had been sent rather than the attachments
+ themselves.
+ This feature also affects _Alpine_'s "Send ?" confirmation
+ prompt in that a new "^F Fcc Attchmnts" option becomes available
+ which allows you to interactively set whether or not attachments
+ are saved to the Fcc'd copy.
+ This feature is displayed as "Fcc Does Not Include Attachments".
+ _force-arrow-cursor_
+ This feature affects _Alpine_'s MESSAGE INDEX display routine.
+ If set, the normal inverse-video cursor will be replaced by a
+ simple "arrow" cursor, which normally occupies the second column
+ of the index display.
+ This is the same index cursor you get if you turn on
+ Assume-Slow-Link, but the index line coloring will still be
+ present if this feature is turned on and Assume-Slow-Link is
+ off.
+ An alternative version of the Arrow cursor is available by
+ including the ARROW token in the Index-Format option.
+ It ought to be the case that this feature also affects the
+ ATTACHMENT INDEX, but that is not implemented.
+ _hide-nntp-path_
+ Normally the Path header that _Alpine_ generates when posting to
+ a newsgroup contains the name of the computer from which the
+ message is being sent and the user name. Some believe that this
+ information is used by spammers. If this feature is set, that
+ information will be replaced with the text
+
+ not-for-mail
+ instead.
+ It should be noted that many servers being connected to will
+ still reveal the information that this feature attempts to
+ protect.
+ _include-attachments-in-reply_
+ If set, any MIME attachments that were part of the original
+ message will automatically be included in a _Reply_.
+ _include-header-in-reply_
+ If set, and a message being replied to is included in the
+ _Reply_, then headers from that message will also be part of the
+ reply.
+ _include-text-in-reply_
+ Normally, _Alpine_ will ask whether you wish to include the
+ original message in your _Reply_. If this feature is set and the
+ feature enable-reply-indent-string-editing is _not_ set, then
+ the original message will be included in the reply
+ automatically, without prompting.
+ _incoming-checking-includes-total_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ When incoming folder checking is turned on the default is to
+ display the number of unseen messages in each folder. More
+ precisely, it is the number of undeleted unseen messages. Using
+ this option you may also display the total number of messages in
+ each folder. Instead of a single number representing the number
+ of unseen messages you will get two numbers separated by a slash
+ character. The first is the number of unseen messages and the
+ second is the total number of messages.
+ You may also use the recent message count instead of the unseen
+ message count by turning on the feature
+ incoming-checking-uses-recent.
+ _incoming-checking-uses-recent_
+ This option has no effect unless the feature
+ enable-incoming-folders-checking is set, which in turn has no
+ effect unless incoming-folders is set.
+ When incoming folder checking is turned on the default is to
+ display the number of unseen messages in each folder. More
+ precisely, it is the number of undeleted unseen messages. Using
+ this option you may display the number of recent messages
+ instead of the number of unseen messages. A message is only
+ counted as recent if this is the first session to see it, so the
+ recent count might be less than the unseen count. The difference
+ between the two would be accounted for by the unseen messages in
+ the folder which were there previously but have not been looked
+ at yet.
+ If you simultaneously run more than one email client at a time
+ (for example, you run more than one _Alpine_ in parallel) then
+ turning this feature on can cause some confusion. The confusion
+ stems from the fact that each message is only considered to be
+ recent in one session. That means that the counts of new
+ messages may be different in the two _Alpine_s running side by
+ side, because each incoming message will only be counted as
+ recent in one of the two sessions.
+ You may also display the total number of messages in each folder
+ by using the incoming-checking-includes-total option.
+ _ldap-result-to-addrbook-add_
+ This is only available if _Alpine_ was linked with an LDAP
+ library when it was compiled. If both the per-directory-server
+ option use-implicitly-from-composer and this feature are set,
+ then when an implicit directory lookup is done from the composer
+ you will automatically be prompted to add the result of the
+ directory lookup to your address book.
+ This feature is displayed as "LDAP Result to Addressbook Add".
+ _maildrops-preserve-state_
+ This feature affects the way Mail Drops work. Normally, when
+ mail is moved from a Mail Drop folder to a destination folder,
+ the state changes that have taken place since the mail was
+ originally delivered are lost. Any Seen/New, Answered,
+ Important/Flagged state that has changed will be ignored. All of
+ the mail will be considered unSeen, unAnswered, and unImportant
+ after it is moved.
+ If this feature is set, then the state changes will not be lost.
+ In any case, messages which are already marked Deleted when the
+ mail is to be copied from the Mail Drop will be ignored.
+ _mark-fcc-seen_
+ This features controls the way FCCs (File Carbon Copies) are
+ made of the messages you send. Normally, when _Alpine_ saves a
+ copy of a message you sent as an Fcc, that copy will be marked
+ as Unseen. When you look at the folder it was saved in the
+ message will appear to be a New message until you read it. When
+ this feature is enabled, the message will be marked as having
+ been Seen.
+ _mark-for-cc_
+ This feature affects _Alpine_'s MESSAGE INDEX display. By
+ default, a '+' is displayed in the first column if the message
+ is addressed directly to you. When this feature is set and the
+ message is not addressed to you, then a '-' character is
+ displayed if the message is instead Cc'd directly to you.
+ _mult-newsrc-hostnames-as-typed_
+ This feature will be of little use to most users. It has no
+ effect unless the feature Enable-Multiple-Newsrcs is set. When
+ the Enable-Multiple-Newsrcs feature is set then the setting of
+ this feature may have an effect on the names of the newsrc files
+ used. Normally, the name of the news server will be
+ canonicalized before it is used in the newsrc file name. For
+ example, if you type the news server name
+
+ servername
+ it is likely that the canonical name will be something like
+
+ servername.example.com
+ Or it may be the case that
+
+ servername.example.com
+ is really an alias (a DNS CNAME) for
+
+ othername.example.com
+ If this feature is not set, then the canonicalized names will be
+ used. If this feature is set, then the name you typed in (or put
+ in your configuration) will be used.
+ This feature is displayed as "Multiple Newsrc Hostnames as
+ Typed".
+ _news-approximates-new-status_
+ This feature causes certain messages to be marked as _New_ in
+ the MESSAGE INDEX of newsgroups. This feature is set by default.
+ When opening a newsgroup, _Alpine_ will consult your _newsrc_
+ file and determine the last message you have previously disposed
+ of via the _D_ key. If this feature is set, any subsequent
+ messages will be shown in the Index with an _N_, and the first
+ of these messages will be highlighted. Although this is only an
+ approximation of true _New_ or _Unseen_ status, it provides a
+ useful cue to distinguish more-or-less recent messages from
+ those you have seen previously, but are not yet ready to mark
+ deleted.
+ Background: your _newsrc_ file (used to store message status
+ information for newsgroups) is only capable of storing a single
+ flag, and _Alpine_ uses this to record whether or not you are
+ "done with" a message, as indicated by marking the message as
+ _Deleted_. Unfortunately, this means that _Alpine_ has no way to
+ record exactly which messages you have previously seen, so it
+ normally does not show the _N_ status flag for any messages in a
+ newsgroup. This feature enables a starting _approximation_ of
+ seen/unseen status that may be useful.
+ _news-deletes-across-groups_
+ This feature controls what _Alpine_ does when you delete a
+ message in a newsgroup that appears in more than one newsgroup.
+ Such a message is sometimes termed a "crossposting" in that it
+ was posted across several newsgroups.
+ _Alpine_'s default behavior when you delete such a message is to
+ remove only the copy in the current newsgroup from view when you
+ use the "Exclude" command or the next time you visit the
+ newsgroup.
+ Enabling this feature causes _Alpine_ to remove every occurrence
+ of the message from all newsgroups it appears in and to which
+ you are subscribed.
+ NOTE: As currently implemented, enabling this feature may
+ increase the time it takes the Expunge command and newsgroup
+ closing to complete.
+ _news-offers-catchup-on-close_
+ This feature controls what _Alpine_ does as it closes a
+ newsgroup. When set, _Alpine_ will offer to delete all messages
+ from the newsgroup as you are quitting _Alpine_ or opening a new
+ folder.
+ This feature is useful if you typically read all the interesting
+ messages in a newsgroup each time you open it. This feature
+ saves you from having to delete each message in a newsgroup as
+ you read it or from selecting all the messages and doing an
+ aggregate delete before you move on to the next folder or
+ newsgroup.
+ _news-post-without-validation_
+ This feature controls whether the NNTP server is queried as
+ newsgroups are entered for posting. Validation over slow links
+ (e.g. dialup using SLIP or PPP) can cause delays. Set this
+ feature to eliminate such delays.
+ _news-read-in-newsrc-order_
+ This feature controls the order that newsgroups will be
+ presented. If set, they will be presented in the same order as
+ they occur in your _newsrc_ file. If not set, the newsgroups
+ will be presented in alphabetical order.
+ _next-thread-without-confirm_
+ This feature controls an aspect of _Alpine_'s Next and Prev
+ commands in the case where you are using one of the
+ "separate-index-screen" styles for the configuration option
+ threading-index-style and currently have the folder sorted by a
+ Threaded or OrderedSubject sort. When you are Viewing a
+ particular thread you have a MESSAGE INDEX of only the messages
+ in that thread. If you press the Next command with the last
+ message in the thread highlighted you will normally be asked if
+ you want to "View next thread?", assuming there is a next thread
+ to view. If this feature is set it will be assumed that you
+ always want to view the next thread and you won't be asked to
+ confirm that. Similarly, if the first message of the thread is
+ highlighted and you press the Prev command, this feature will
+ prevent the question "View previous thread".
+ This feature only has an effect in the MESSAGE INDEX screen. If
+ you then view a particular message from that screen and press
+ the Next command, you will be sent to the next thread without
+ being asked, independent of the setting of this feature.
+ The feature auto-open-next-unread, also has some similar
+ effects.
+ This feature is displayed as "Read Next Thread Without
+ Confirming".
+ _offer-expunge-of-inbox_
+ The INBOX is normally treated differently from regular folders
+ in several ways. One of the differences is that the normal
+ "close" sequence of events is deferred until _Alpine_ is exited,
+ instead of happening when you leave the INBOX to view another
+ folder. The "close" sequence normally includes the Expunging of
+ deleted messages (either automatically or after a prompt,
+ controlled by the features Expunge-Without-Confirm,
+ Expunge-Without-Confirm-Everywhere, and Expunge-Only-Manually),
+ and the handling of the Read-Message-Folder.
+ If this feature is set the "close" sequence handling will take
+ place every time you leave the INBOX. The INBOX will still be
+ kept open, but the offer to Expunge and the archiving to the
+ Read-Message-Folder will take place each time you leave the
+ INBOX instead of only once at the end of the session.
+ _offer-expunge-of-stayopen-folders_
+ This feature is related to the option Stay-Open-Folders. Stay
+ Open folders are treated differently from regular folders in
+ several ways. One of the differences is that the normal "close"
+ sequence of events is deferred until _Alpine_ is exited, instead
+ of happening when you leave the folder to view another folder.
+ The "close" sequence normally includes the Expunging of deleted
+ messages (either automatically or after a prompt, controlled by
+ the features Expunge-Without-Confirm,
+ Expunge-Without-Confirm-Everywhere, and Expunge-Only-Manually),
+ and the handling of Incoming-Archive-Folders.
+ If this feature is set the "close" sequence handling will take
+ place when you leave the Stay Open folder. The folder will still
+ be kept open, but the offer to Expunge and the archiving will
+ take place each time you leave the folder instead of only once
+ at the end of the session. This feature does not affect the
+ INBOX, which will still only be processed when you exit
+ _Alpine_.
+ _pass-c1-control-characters-as-is_
+ It is probably not useful to set this option. This is a legacy
+ option left behind "just in case". Multi-byte characters which
+ have an octet which has the same value as a control character
+ are permitted through whether or not this option is turned on.
+ If the feature pass-control-characters-as-is is set, then this
+ feature has no effect. However, if you wish to filter out
+ regular control characters but pass the so-called C1 control
+ characters (0x80 <= char < 0xA0) through unchanged, then you may
+ leave pass-control-characters-as-is unset and set this feature.
+ _pass-control-characters-as-is_
+ It is probably not useful to set this option. This is a legacy
+ option left behind "just in case". Multi-byte characters which
+ have an octet which has the same value as a control character
+ are permitted through whether or not this option is turned on.
+ If set, all characters in a message will be sent to the screen.
+ Normally, control characters are automatically suppressed in
+ order to avoid inadvertently changing terminal setup parameters.
+ Control characters are usually displayed as two character
+ sequences like
+
+ ^C
+ for Control-C,
+
+ ^[
+ for ESCAPE,
+
+ ^?
+ for DELETE, and
+
+ ~E
+ for the character with value 133 (0x85). (The DEL character is
+ displayed as ^?, regular control characters are displayed as the
+ character ^ followed by the character obtained by adding the
+ five low-order bits of the character to 0x40, and the C1 control
+ characters 0x80 - 0x9F are displayed as the character ~ followed
+ by the character obtained by adding the five low-order bits of
+ the character to 0x40.) Sometimes, in cases where changing a
+ single control character into a two-character sequence would
+ confuse _Alpine_'s display routines, a question mark is
+ substituted for the control character.
+ If you wish to filter out regular control characters but pass
+ the so-called C1 control characters (0x80 <= char < 0xA0)
+ through unchanged, then you may leave this feature unset and set
+ the feature pass-c1-control-characters-as-is instead.
+ _predict-nntp-server_
+ This feature allows _Alpine_ to assume that the open NNTP server
+ at the time of composition is the NNTP server to which the
+ message should be posted. This is especially recommended when
+ there are multiple News collections. If this feature is not set,
+ _Alpine_ will try to post to the first server in the nntp-server
+ variable. Setting this feature also negates the need to add News
+ collection servers to the nntp-server variable.
+ This feature can be especially handy when used in conjunction
+ with enable-multiple-newsrcs.
+ This option is displayed as "NNTP Server (for news)".
+ _prefer-plain-text_
+ A message being viewed may contain alternate versions of the
+ same content. Those alternate versions are ordered by the
+ sending software such that the first alternative is the least
+ preferred and the last alternative is the most preferred.
+ _Alpine_ will normally display the most-preferred version that it
+ knows how to display. This is most often encountered where the
+ two alternate versions are a plain text version and an HTML
+ version, with the HTML version listed last as the most
+ preferred.
+ If this option is set, then any plain text version will be
+ preferred to all other versions.
+ _preopen-stayopen-folders_
+ This feature is related to the option Stay-Open-Folders.
+ Normally, Stay Open folders are only opened on demand, when the
+ user asks to open them. From then on they are kept open for the
+ duration of the session. However, if this feature is set, then
+ the Stay Open folders will all be opened at startup, at the same
+ time that the INBOX is opened.
+ _preserve-start-stop-characters_
+ This feature controls how special control key characters,
+ typically _^S_ and _^Q_, are interpreted when input to _Alpine_.
+ These characters are known as the "start" and "stop" characters
+ and are sometimes used in communications paths to control data
+ flow between devices that operate at different speeds.
+ By default, _Alpine_ turns the system's handling of these
+ special characters off except during printing. However, if you
+ see _Alpine_ reporting input errors such as:
+
+ [ Command "^Q" not defined for this screen. ]
+ and, at the same time, see your display become garbled, then it
+ is likely that setting this option will solve the problem. Be
+ aware, though, that enabling this feature will also cause
+ _Alpine_ to ostensibly "hang" whenever the _Ctrl-S_ key
+ combination is entered as the system is now interpreting such
+ input as a "stop output" command. To "start output" again,
+ simply type _Ctrl-Q_.
+ This feature is displayed as "Preserve Start/Stop Characters".
+ _print-formfeed-between-messages_
+ Setting this feature causes a formfeed to be printed between
+ messages when printing multiple messages with the _Apply Print_
+ command.
+ _print-includes-from-line_
+ If this feature is set, then the Unix mail style From line is
+ included at the start of each message that is printed. This line
+ looks something like the following, with the address replaced by
+ the address from the From line of the message being printed:
+
+ From user@domain.somewhere.com Mon May 13 14:11:06 1996
+ _print-index-enabled_
+ This feature controls the behavior of the _Print_ command when
+ in the "Folder Index" screen. If set, the _Print_ command will
+ give you a prompt asking if you wish to print the message index,
+ or the currently highlighted message. If not set, the message
+ will be printed.
+ _print-offers-custom-cmd-prompt_
+ When this feature is set, the _Print_ command will have an
+ additional subcommand called _C CustomPrint_. If selected, you
+ will have the opportunity to enter any system print command,
+ instead of being restricted to using those that have been
+ previously configured in the _Setup/Printer_ screen.
+ This feature is displayed as "Print Offers Custom Command
+ Prompt".
+ _prune-uses-yyyy-mm_
+ By default, _Alpine_ asks monthly whether or not you would like
+ to rename some folders to a new name containing the date. It
+ also asks whether or not you would like to delete some old
+ folders. See the pruning-rule option for an explanation.
+ By default, the name used when renaming a folder looks like
+
+ <foldername>-<month>-<year>
+ For example, the first time you run _Alpine_ in May of 2004, the
+ folder "sent-mail" might be renamed to
+
+ sent-mail-apr-2004
+ If this feature is set, the name used will be of the form
+
+ <foldername>-<yyyy>-<mm>
+ where "yyyy" is the year and "mm" is the two-digit month (01,
+ 02, ..., 12). For the April, 2004 example above, it would
+ instead be
+
+ sent-mail-2004-04
+ because April is the 4th month of the year. A reason you might
+ want to set this feature is so that the folders will sort in
+ chronological order.
+ _publiccerts-in-keychain_
+ Mac OS X _Alpine_ only.
+ If this feature is set the Mac OS X default keychain will be
+ used as the place to store public certificates instead of a
+ smime-public-cert-directory or a smime-public-cert-container.
+ This feature is displayed as "S/MIME -- Public Certs in MacOS
+ Keychain".
+ _quell-attachment-extension-warn_
+ This feature suppresses the extra warning you can get when
+ trying to view an attachment for which there is no mime-type
+ match. Turning on this feature will just run the program
+ according to extension instead of first warning the user that it
+ will run according to the file's extension.
+ This feature can be used along side
+ quell-attachment-extra-prompt to preserve the behavior exhibited
+ in _Pine_ versions prior to _Pine_ 4.50.
+ This feature is displayed as "Suppress Attachment Extension
+ Warning".
+ _quell-attachment-extra-prompt_
+ By default, when you attempt to view an attachment externally
+ from the "Attachment View" screen, you are asked if you really
+ want to view the selected attachment.
+ If this feature is set, you will _not_ be prompted to confirm
+ your selection. Prior to _Pine_ 4.50, the default behavior was
+ to not prompt. This feature was added for those wanting to
+ preserve that behavior.
+ This feature is displayed as "Suppress Attachment Extra Prompt".
+ _quell-berkeley-format-timezone_
+ POSIX mandates a timezone in UNIX mailbox format folder
+ delimiters (the line which begins with From ). Some versions of
+ Berkeley mail have trouble with this, and don't recognize the
+ line as a message delimiter. If this feature is set, the
+ timezone will be left off the delimiter line.
+ This feature is displayed as "Suppress Berkeley Format
+ Timezone".
+ _quell-charset-warning_
+ By default, if the message you are viewing contains characters
+ that are not representable in your display-character-set then
+ _Alpine_ will add a warning to the start of the displayed text.
+ If this option is set, then that editorial message will be
+ suppressed.
+ Setting this feature also suppresses the comment about the
+ character set in header lines. For example, when viewing a
+ message you might see
+
+ From: "[ISO-8859-2] Name" <address>
+ in the From header if your Character-Set is something other than
+ ISO-8859-2. If you set this feature, the comment about the
+ character set will no longer be there.
+ This feature is displayed as "Suppress Character Set Warning".
+ _quell-content-id_
+ This feature changes the behavior of _Alpine_ when sending
+ messages. It is intended to work around a bug in Microsoft's
+ Outlook XP mail user agent. As of this writing, Microsoft has
+ acknowledged the bug but has not added it to the Knowledge Base.
+ We have been told that there will be a post-SP1 hotfix for
+ Outlook XP. This particular bug has bug fix number
+ OfficeQFE:4781. The nature of the bug is that messages with
+ attachments which contain a Content-ID header (which standard
+ _Alpine_ attachments do) do not show the attachment indicator (a
+ paperclip) when viewed with Outlook XP. So the user has no
+ indication that the message contains an attachment.
+ If this feature is set then _Alpine_ will remove most Content-ID
+ headers before sending a message. If an attachment is of type
+ MESSAGE, then the existing Content-ID headers inside the message
+ will be left intact. This would only happen with _Alpine_ if a
+ message was forwarded as an attachment or if a message with a
+ message attached was forwarded. Similarly if an attachment of
+ type MULTIPART/ALTERNATIVE is forwarded, the Content-ID headers
+ of the alternative parts will not be removed.
+ Because the Content-ID header is a standard part of MIME it is
+ possible that setting this feature will break something. For
+ example, if an attachment has a Content-ID header which is
+ necessary for the correct functioning of that attachment, it is
+ possible that _Alpine_ may remove that header when the
+ attachment is forwarded. However, it seems fairly safe at this
+ time.
+ This feature is displayed as "Suppress Content-ID".
+ _quell-dead-letter-on-cancel_
+ This feature affects _Alpine_'s behavior when you cancel a
+ message being composed. _Alpine_'s usual behavior is to write
+ the canceled message to a file named dead.letter in your home
+ directory (under UNIX; DEADLETR under WINDOWS/DOS) overwriting
+ any previous message. Under some conditions (some routine), this
+ can introduce a noticeable delay.
+ Setting this feature will cause _Alpine_ NOT to write canceled
+ compositions into the file called dead.letter.
+ This feature affects the newer option Dead-Letter-Files, which
+ specifies the number of dead letter files to keep around. If
+ this feature is set, then the Dead-Letter-Files option has no
+ effect.
+ This feature is displayed as "Do Not Save to Deadletter on
+ Cancel".
+ _quell-empty-directories_
+ This feature causes _Alpine_ to remove from the display any
+ directories that do not contain at least one file or directory.
+ This can be useful to prevent overly cluttered folder lists when
+ a collection is stored on a server that treats all names as both
+ a folder and a directory.
+ Note, enabling this feature can cause surprising behavior! For
+ example, you can still use Add to create a directory, but unless
+ you immediately enter that directory and create a folder, that
+ newly created directory may not be displayed next time you enter
+ the folder list.
+ This feature is displayed as "Hide Empty Directories".
+ _quell-extra-post-prompt_
+ This feature causes _Alpine_ to skip the extra question about
+ posting a message which may go to thousands of readers when you
+ are about to post to a newsgroup.
+ This feature is displayed as "Suppress Extra Posting Prompt".
+ _quell-filtering-done-message_
+ This feature causes _Alpine_ to suppress the "filtering done"
+ message.
+ This feature is displayed as "Suppress Filtering Done Message".
+ _quell-filtering-messages_
+ This feature causes _Alpine_ to suppress the messages about
+ moving filtered messages and setting flags in messages, due to
+ Filter Rules.
+ This feature is displayed as "Suppress Filtering Messages".
+ _quell-flowed-text_
+ _Alpine_ generates flowed text where possible. The method for
+ generating flowed text is defined by RFC 3676, the benefit of
+ doing so is to send message text that can properly be viewed
+ both on normal width displays and on displays with smaller or
+ larger than normal screen widths. With flowed text, a space at
+ the end of a line tells the receiving mail client that the
+ following line belongs to the same paragraph. Quoted text will
+ also be affected, with only the innermost level of ">" quoting
+ being followed by a space. However, if you have changed the
+ "Reply-Indent-String" so that it is not equal to the default
+ value of "> ", then quoted text will not be flowed. For this
+ reason, we recommend that you leave your "Reply-Indent-String"
+ set to the default.
+ This feature turns off the generation of flowed text, as it
+ might be desired to more tightly control how a message is
+ displayed on the receiving end.
+ If this feature is _not_ set, you can control on a message by
+ message basis whether or not flowed text is generated. You do
+ this by typing ^V at the Send confirmation prompt that you get
+ after typing ^X to send a message. ^V is a toggle which turns
+ flowing off and back on if typed again. If for some reason
+ flowing cannot be done on a particular message, then the ^V
+ command will not be available. This would be the case, for
+ example, if this feature was set, or if your
+ "Reply-Indent-String" was set to a non-default value. If the
+ feature Send-Without-Confirm is set, then the opportunity to
+ control on a message by message basis whether or not flowed text
+ is generated is lost.
+ When this feature is not set and you have typed ^V to turn off
+ flowing, the Send confirmation prompt will change to look like
+
+ Send message (not flowed)?
+ Strip-Whitespace-Before-Send will also turn off the sending of
+ flowed text messages, but it differs in that it also trims all
+ trailing white space from a message before sending it.
+ If alternate editors are used extensively, be aware that a
+ message will still be sent flowed if this feature is unset. In
+ most cases this will be fine, but if the editor has a "flowed
+ text" mode, it would be best to use that.
+ This feature is displayed as "Do Not Send Flowed Text".
+ _quell-folder-internal-msg_
+ This feature determines whether or not _Alpine_ will create
+ "pseudo messages" in folders that are in standard Unix or MMDF
+ format.
+ _Alpine_ will normally create these pseudo messages when they
+ are not already present in a standard Unix or MMDF folder. Their
+ purpose is to record certain mailbox state data needed for
+ correct IMAP and POP server operation, and also for _Alpine_ to
+ be able to mark messages as Answered when the Reply has been
+ postponed.
+ Sites which do not use IMAP/POP for remote mail access, and
+ which need to support mail tools that are adversely affected by
+ the presence of the pseudo-messages (e.g. some mail notification
+ tools) may enable this feature to tell _Alpine_ not to create
+ them. Note that _Alpine_'s "Answered" flag capability will be
+ adversely affected if this is done.
+ Note too that, even if this feature is enabled, _Alpine_ will
+ not remove pseudo-messages when it encounters them (e.g. those
+ created by UW's imapd or ipopd servers.) This feature has no
+ effect on folders that are not in standard Unix or MMDF format,
+ as pseudo-messages are not needed in the other formats to record
+ mailbox state information.
+ This feature is displayed as "Prevent Folder Internal Message".
+ _quell-full-header-auto-reset_
+ The HdrMode Command normally resets to the default state when
+ switching to a new message. For example, if you've used the "H"
+ command to turn on Full Headers for a message you are viewing,
+ and then you type the Next command to look at the next message,
+ the full headers will no longer be shown. Setting this feature
+ disables that reset. Instead, the Header Mode remains the same
+ from message to message.
+ The presence or absence of the HdrMode command is determined by
+ the "Enable-Full-Header-Cmd" Feature-List option.
+ This feature is displayed as "Suppress Full Header Auto Reset".
+ _quell-imap-envelope-update_
+ In the MESSAGE INDEX screen, if the open folder is being
+ accessed using IMAP, _Alpine_ normally tries to paint the index
+ lines on the screen as soon as the information arrives from the
+ IMAP server. This means that the index information makes it onto
+ the screen more quickly than it otherwise would. This sometimes
+ results in behavior that bothers some users. For example, when
+ paging to a new page of the index, it may be possible for the
+ lines to be painted on the screen in a random order, rather than
+ from top to bottom.
+ Setting this feature causes _Alpine_ to wait for all of the
+ information to be gathered before it paints the index screen.
+ Once it collects all of the information, the screen will be
+ painted quickly from top to bottom.
+ This feature is displayed as "Suppress IMAP Envelope Update".
+ _quell-lock-failure-warnings_
+ This feature affects _Alpine_'s behavior when it encounters a
+ problem acquiring a mail folder lock. Typically, a secondary
+ file associated with the mail folder being opened is created as
+ part of the locking process. On some systems, such file creation
+ has been administratively precluded by the system configuration.
+ _Alpine_ issues a warning when such failures occur, which can
+ become bothersome if the system is configured to disallow such
+ actions. Setting this feature causes _Alpine_ to remain silent
+ when this part of lock creation fails.
+ WARNING: systems that have been configured in a way that
+ precludes locking introduce some risk of mail folder corruption
+ when more than one program attempts to modify the mail folder.
+ This is most likely to occur to one's _INBOX_ or other "Incoming
+ Message Folder".
+ This feature is displayed as "Suppress Lock Failure Warnings".
+ _Quell-Mailchecks-Composing-Except-Inbox_
+ This option is closely related to the Mail-Check-Interval
+ option, the Mail-Check-Interval-Noncurrent option, and
+ Quell-Mailchecks-Composing-Inbox.
+ If this option is set, then the normal new-mail checking which
+ happens while you are composing will not happen for folders
+ other than your INBOX (which depends on the setting of
+ "Quell-Mailchecks-Composing-Inbox").
+ You might want to set this option if you are experiencing delays
+ while composing which you think might be related to the speed of
+ the new-mail checks.
+ Even with this option turned on, an occasional new-mail check
+ may be done in order to keep the server from killing the
+ connection to the folder. For example, IMAP servers may remove a
+ connection to a folder if there has been no activity on the
+ connection for 30 minutes or more. Instead of letting that
+ happen, _Alpine_ will check for new mail before the 30 minutes
+ is up even though you have turned on this feature to quell those
+ checks.
+ Besides new-mail checks, checkpoint operations on the folders
+ will also be quelled when you set this option. The purpose of
+ checkpointing is to write the changes to a folder out to disk
+ periodically in order to avoid losing those changes when system
+ or software problems occur. New-mail checking and checkpointing
+ while you are not composing are not affected by this option.
+ This feature is displayed as "Prevent Mailchecks While Composing
+ Except for INBOX".
+ _Quell-Mailchecks-Composing-Inbox_
+ This option is closely related to the Mail-Check-Interval
+ option, the Mail-Check-Interval-Noncurrent option, and
+ Quell-Mailchecks-Composing-Except-Inbox.
+ If this option is set, then the normal new-mail checking which
+ happens while you are composing will not happen for your INBOX.
+ Checking of other folders is controlled in a similar way with
+ the "Quell-Mailchecks-Composing-Except-Inbox" option.
+ You might want to set this option if you are experiencing delays
+ while composing which you think might be related to the speed of
+ the new-mail checks.
+ Even with this option turned on, an occasional new-mail check
+ may be done in order to keep the server from killing the
+ connection to the folder. For example, IMAP servers may remove a
+ connection to a folder if there has been no activity on the
+ connection for 30 minutes or more. Instead of letting that
+ happen, _Alpine_ will check for new mail before the 30 minutes
+ is up even though you have turned on this feature to quell those
+ checks.
+ Besides new-mail checks, checkpoint operations on the INBOX will
+ also be quelled when you set this option. The purpose of
+ checkpointing is to write the changes to a folder out to disk
+ periodically in order to avoid losing those changes when system
+ or software problems occur. New-mail checking and checkpointing
+ while you are not composing are not affected by this option.
+ This feature is displayed as "Prevent Mailchecks While Composing
+ for INBOX".
+ _quell-maildomain-warning_
+ When your configuration is set up so that your domain name
+ contains no dots, it is usually a configuration error. By
+ default, _Alpine_ will warn you about this when you start it up.
+ You will see a warning message that looks like
+
+ Incomplete maildomain "<domain>".
+ If this feature is set, the warning is turned off. This feature
+ is displayed as "Suppress Maildomain Warning".
+ _quell-news-envelope-update_
+ In the MESSAGE INDEX screen, if the open folder is being
+ accessed using NNTP (News), _Alpine_ normally tries to paint the
+ index lines on the screen as soon as the information arrives
+ from the NNTP server. This means that the index information
+ makes it onto the screen more quickly than it otherwise would.
+ This sometimes results in behavior that bothers some users. For
+ example, when paging to a new page of the index, it may be
+ possible for the lines to be painted on the screen in a random
+ order, rather than from top to bottom.
+ Setting this feature causes _Alpine_ to wait for all of the
+ information to be gathered before it paints the index screen.
+ Once it collects all of the information, the screen will be
+ painted quickly from top to bottom.
+ This feature is displayed as "Suppress News Envelope Update".
+ _quell-partial-fetching_
+ Partial fetching is a feature of the IMAP protocol. By default,
+ _Alpine_ will use partial fetching when copying the contents of a
+ message or attachment from the IMAP server to _Alpine_. This
+ means that the fetch will be done in many small chunks instead
+ of one big chunk. The main benefit of this approach is that the
+ fetch becomes interruptible. That is, the user can type _^C_ to
+ stop the fetch early. In some cases partial fetching may cause a
+ performance problem so that the fetching of data takes
+ significantly longer when partial fetching is used. Turning on
+ this feature will turn off partial fetching.
+ This feature is displayed as "Prevent Partial Fetching".
+ _quell-personal-name-prompt_
+ _PC-Alpine_ only. This feature quells the prompting for a
+ personal-name. This prompt normally happens before composing a
+ message, and only happens when there is no personal name already
+ set.
+ _quell-server-after-link-in-html_
+ By default, links in HTML text are displayed with the host the
+ link references appended, within square brackets, to the link
+ text. _Alpine_ does this to help indicate where a link will take
+ you, particularly when the link text might suggest a different
+ destination.
+ Setting this feature will prevent the server name from being
+ appended to the displayed text.
+ This feature is displayed as "Suppress Server After Link in
+ HTML".
+ _quell-ssl-largeblocks_
+ This feature (_PC-Alpine_ only) changes the behavior of fetching
+ messages and attachments so that the message data is fetched in
+ chunks no larger than 12K bytes. This works around a bug in
+ Microsoft's SSL/TLS support. Some versions of Microsoft SSL are
+ not able to read full-sized (16K) SSL/TLS packets. Some servers
+ will send such packets and this will cause _PC-Alpine_ to crash
+ with the error
+
+ incomplete SecBuffer exceeds maximum buffer size
+ Microsoft is aware of the problem and has developed a hotfix for
+ it, but as of this writing the hotfix has not yet been added to
+ the Knowledge Base.
+ This feature is displayed as "Prevent SSL Largeblocks".
+ _quell-status-message-beeping_
+ If set status messages will never emit a beep.
+ This feature is displayed as "Suppress Status Message Beeping".
+ _quell-timezone-comment-when-sending_
+ Normally, when _Alpine_ generates a Date header for outgoing
+ mail, it will try to include the symbolic timezone at the end of
+ the header inside parentheses. The symbolic timezone is often
+ three characters long, but on some operating systems, it may be
+ longer. Apparently there are some SMTP servers in the world
+ which will reject an incoming message if it has a Date header
+ longer than about 80 characters. If this feature is set, the
+ symbolic timezone normally generated by _Alpine_ will not be
+ included. You probably don't need to worry about this feature
+ unless you run into the problem described above.
+ This feature is displayed as "Suppress Timezone Comment When
+ Sending".
+ _quell-user-id-prompt_
+ _PC-Alpine_ only. This feature quells the prompting for a
+ user-id if the information can be obtained from the login name
+ used to open the INBOX. Normally, this prompt happens before
+ composing a message, and only happens when there is no user-id
+ already set in the configuration.
+ With this feature set, composing a message is only possible
+ after establishing a connection to the INBOX.
+ _quell-user-lookup-in-passwd-file_
+ This feature controls an aspect of _Alpine_'s Composer, and if
+ needed, will usually be set by the system manager in _Alpine_'s
+ system-wide configuration file. Specifically, if this feature is
+ set, _Alpine_ will not attempt to look in the system password
+ file to find a Full Name for the entered address.
+ Normally, names you enter into address fields (e.g. To: or Cc:)
+ are checked against your address book(s) to see if they match an
+ address book nickname. Failing that, (in Unix _Alpine_) the name
+ is then checked against the Unix password file. If the entered
+ name matches a username in the system password file, _Alpine_
+ extracts the corresponding Full Name information for that
+ individual, and adds that to the address being entered.
+ However, password file matching can have surprising (incorrect)
+ results if other users of the system do not receive mail at the
+ domain you are using. That is, if either the user-domain or
+ use-only-domain-name option is set such that the administrative
+ domain of other users on the system isn't accurately reflected,
+ _Alpine_ should be told that a password file match is
+ coincidental, and Full Name info will be incorrect. For example,
+ a personal name from the password file could get falsely paired
+ with the entered name as it is turned into an address in the
+ configured domain.
+ If you are seeing this behavior, enabling this feature will
+ prevent Unix _Alpine_ from looking up names in the password file
+ to find the Full Name for incomplete addresses you enter.
+ This feature is displayed as "Prevent User Lookup in Password
+ File".
+ _quit-without-confirm_
+ This feature controls whether or not _Alpine_ will ask for
+ confirmation when a _Quit_ command is received.
+ This feature is displayed as "Quit Without Confirming".
+ _quote-replace-nonflowed_
+ This feature, which is only active when Quote-Replace-String is
+ also set, enables quote-replacement on non-flowed messages. It
+ is off by default because a non-flowed message is more dependent
+ on its format, and thus quote-replacement may cause
+ less-than-pleasing results. Setting this feature will cause
+ quote-replacement similar to that of flowed messages, but with
+ the added possibility of long lines being wrapped into new lines
+ if the Quote-Replacement-String is longer than the string it is
+ replacing, which is "> ".
+ _reply-always-uses-reply-to_
+ If set, _Alpine_ will not prompt when a message being replied to
+ contains a _Reply-To:_ header value, but will simply use its
+ value (as opposed to using the _From:_ field's value).
+ _return-to-inbox-without-confirm_
+ Normally, when you use the TAB command and there are no more
+ folders or newsgroups to visit, you are asked if you want to
+ return to the INBOX. If this feature is set you will not be
+ asked. It will be assumed that you do want to return to the
+ INBOX.
+ This feature is displayed as "Return to INBOX Without
+ Confirming".
+ _save-aggregates-copy-sequence_
+ This feature will optimize an aggregate copy operation, if
+ possible, by issuing a single IMAP _COPY_ command with a list of
+ the messages to be copied. This feature is set by default. This
+ may reduce network traffic and elapsed time for the Save.
+ _However, many IMAP servers (including the UW IMAP server) do not
+ preserve the order of messages when this optimization is
+ applied._ If this feature is not set, _Alpine_ will copy each
+ message individually and the order of the messages will be
+ preserved.
+ This feature is displayed as "Save Combines Copies (may be out
+ of order)".
+ _save-partial-msg-without-confirm_
+ This feature controls an aspect of _Alpine_'s Save command. By
+ default, when you Save a message that has some deleted parts,
+ you will be asked to confirm that you want to Save with a prompt
+ that looks like:
+
+ Saved copy will NOT include entire message! Continue?
+ If this feature is set, you will not be asked.
+ This feature is displayed as "Save Partial Message Without
+ Confirming".
+ _save-will-advance_
+ If set, _Save_ will (in addition to copying the current message
+ to the designated folder) also advance to the next message.
+ _save-will-not-delete_
+ If set, _Save_ will not mark the message Deleted (its default
+ behavior) after it has been copied to the designated folder.
+ _save-will-quote-leading-froms_
+ This feature controls an aspect of the _Save_ command (and also
+ the way outgoing messages are saved to an FCC folder). If set,
+ _Alpine_ will add a leading > character in front of message lines
+ beginning with "From" when they are saved to another folder,
+ including lines syntactically distinguishable from the type of
+ message separator line commonly used on Unix systems.
+ The default behavior is that a > will be prepended only to lines
+ beginning with "From " that might otherwise be confused with a
+ message separator line on Unix systems. If _Alpine_ is the only
+ mail program you use, this default is reasonable. If another
+ program you use has trouble displaying a message with an
+ unquoted From saved by _Alpine_, you should enable this feature.
+ This feature only applies to the common Unix mailbox format that
+ uses message separator lines beginning with "From ". If _Alpine_
+ has been configured to use a different mailbox format (possibly
+ incompatible with other mail programs), then this issue does not
+ arise, and the feature is irrelevant.
+ _scramble-message-id_
+ Normally the Message-ID header that _Alpine_ generates when
+ sending a message contains the name of the computer from which
+ the message is being sent. Some believe that this hostname could
+ be used by spammers or could be used by others for nefarious
+ purposes. If this feature is set, that name will be transformed
+ with a simple Rot13 transformation. The result will still have
+ the correct syntax for a Message-ID but the part of the
+ MessageID that is often a domain name will not be an actual
+ domain name because the letters will be scrambled.
+ It is possible (but unlikely?) that some spam detection software
+ will use that as a reason to reject the mail as spam. It has
+ also been reported that some spam detection software uses the
+ fact that there are no dots after the "@" as a reason to reject
+ messages. If your _PC-Alpine_ Message-ID is using a name without
+ a dot that is because that is what Windows thinks is your "Full
+ computer name". The method used to set this varies from one type
+ of Windows to another but check under Settings -> Control Panel
+ -> System and look for Network Identification or Computer Name
+ or something similar. How to set it is beyond the scope of
+ _Alpine_.
+ This feature is displayed as "Scramble the Message-ID When
+ Sending".
+ _select-without-confirm_
+ This feature controls an aspect of _Alpine_'s _Save_, _Export_,
+ and _Goto_ commands. These commands all take text input to
+ specify the name of the folder or file to be used, but allow you
+ to press _^T_ for a list of possible names. If set, the selected
+ name will be used immediately, without further opportunity to
+ confirm or edit the name.
+ This feature is displayed as "Select Ctrl-T Foldername Without
+ Confirming".
+ _send-without-confirm_
+ By default, when you send or post a message you will be asked to
+ confirm with a question that looks something like:
+
+ Send message?
+ If this feature is set, you will _not_ be prompted to confirm
+ your intent to send and your message will be sent.
+ If this feature is set it disables some possibilities and
+ renders some other features meaningless. You will not be able to
+ use Sending Filters, Verbose sending mode, Background Sending,
+ Delivery Status Notifications, or ^V to turn off the generation
+ of flowed text for this message. These options are normally
+ available as suboptions in the Send prompt, but with no Send
+ prompt the options are gone.
+ A somewhat related feature is quell-extra-post-prompt. which may
+ be used to eliminate the extra confirmation question when
+ posting to a newsgroup.
+ This feature is displayed as "Send Without Confirming".
+ _separate-folder-and-directory-display_
+ This feature affects folder collections wherein a folder and
+ directory can have the same name. By default, _Alpine_ displays
+ them only once, denoting that it is both a folder and directory
+ by appending the folder name with the hierarchy character
+ enclosed in square brackets.
+ Enabling this feature will cause _Alpine_ to display such names
+ separately marking the name representing a directory with a
+ trailing hierarchy delimiter (typically the slash, "/",
+ character).
+ The feature also alters the command set slightly. By default,
+ the right-arrow descends into the directory, while hitting the
+ Return key will cause the folder by that name to be opened.
+ With this feature set, the Return key will open the highlighted
+ folder, or enter the highlighted directory.
+ _show-cursor_
+ If set, the system cursor will move to convenient locations in
+ the displays. For example, to the beginning of the status field
+ of the highlighted index line, or to the highlighted word after
+ a successful _WhereIs_ command. It is intended to draw your
+ attention to the _interesting_ spot on the screen.
+ _show-plain-text-internally_
+ This feature modifies the method _Alpine_ uses to display
+ Text/Plain MIME attachments from the Attachment Index screen.
+ Normally, the "View" command searches for any externally defined
+ (usually via the Mailcap file) viewer, and displays the selected
+ text within that viewer.
+ Enabling this feature causes _Alpine_ to ignore any external
+ viewer settings and always display text with _Alpine_'s internal
+ viewer.
+ _show-selected-in-boldface_
+ This feature controls an aspect of _Alpine_'s aggregate
+ operation commands; in particular, the _Select_ and _WhereIs_
+ commands. _Select_ and _WhereIs_ (with the _^X_ subcommand) will
+ search the current folder for messages meeting a specified
+ criteria, and _tag_ the resulting messages with an _X_ in the
+ first column of the applicable lines in the "Folder Index". If
+ this feature is set, instead of using the _X_ to denote a
+ selected message, _Alpine_ will attempt to display those index
+ lines in boldface. Whether this is preferable to the _X_ will
+ depend on personal taste and the type of terminal being used.
+ _show-sort_
+ If this feature is set and there is sufficient space on the
+ screen, a short indication of the current sort order will be
+ added in the titlebar (the top line on the screen), before the
+ name of the folder. For example, with the default Arrival sort
+ in effect, the display would have the characters
+
+ [A]
+ added between the title of the screen and the folder name. The
+ letters are the same as the letters you may type to manually
+ sort a folder with the SortIndex command ($). The letters in the
+ table below are the ones that may show up in the titlebar line.
+
+ A _A_rrival
+ S _S_ubject
+ F _F_rom
+ T _T_o
+ C _C_c
+ D _D_ate
+ Z si_Z_e
+ O _O_rderedsubject
+ E scor_E_
+ H t_H_read
+ If the sort order is Reversed, the letter above will be preceded
+ by the letter "R", for example
+
+ [RS]
+ means that a Reverse Subject sort is in effect. For the case
+ where the sort is in Reverse Arrival order, the "A" is left out,
+ and just an "R" is shown.
+
+ [R]
+ This feature is displayed as "Show Sort in Titlebar".
+ _signature-at-bottom_
+ If this feature is set, and a message being _Repl_ied to is
+ being included in the reply, then the contents of the signature
+ file (if any) will be inserted after the included message. This
+ feature does not affect the results of a _Forward_ command.
+ _single-column-folder-list_
+ If set, the "Folder List" screen will list one folder per line
+ instead of several per line.
+ _slash-collapses-entire-thread_
+ Normally, the Collapse/Expand Thread command Collapses or
+ Expands the subthread which starts at the currently highlighted
+ message, if any. If this feature is set, then the slash command
+ Collapses or Expands the _entire_ current thread instead of just
+ the subthread.
+ _smime-dont-do-smime_
+ UNIX _Alpine_ only.
+ Setting this feature turns off all of _Alpine_'s S/MIME support.
+ You might want to set this if you are having trouble due to the
+ S/MIME support.
+ + General S/MIME Overview
+ This feature is displayed as "S/MIME -- Turn off S/MIME".
+ _smime-encrypt-by-default_
+ UNIX _Alpine_ only.
+ This feature only has an effect if your version of _Alpine_
+ includes support for S/MIME. It affects _Alpine_'s behavior when
+ you send a message. If this option is set, the "Encrypt" option
+ will default to ON when sending messages.
+ Only the default value is affected. In any case, you may still
+ toggle the Encrypt option on or off before sending with the "E
+ Encrypt" command (provided you have a the public digital ID for
+ the recipient).
+ + General S/MIME Overview
+ This feature is displayed as "S/MIME -- Encrypt by Default".
+ _smime-remember-passphrase_
+ UNIX _Alpine_ only.
+ This feature only has an effect if your version of _Alpine_
+ includes support for S/MIME. If this option is set, you will
+ only have to enter your passphrase for your private key once
+ during an _Alpine_ session.
+ + General S/MIME Overview
+ This feature is displayed as "S/MIME -- Remember S/MIME
+ Passphrase".
+ _smime-sign-by-default_
+ UNIX _Alpine_ only.
+ This feature only has an effect if your version of _Alpine_
+ includes support for S/MIME. It affects _Alpine_'s behavior when
+ you send a message. If this option is set, the "Sign" option
+ will default to ON when sending messages.
+ Only the default value is affected. In any case, you may still
+ toggle the Signing option on or off before sending with the "G
+ Sign" command (provided you have a personal digital ID
+ certificate).
+ + General S/MIME Overview
+ This feature is displayed as "S/MIME -- Sign by Default".
+ _sort-default-fcc-alpha_
+ This feature controls an aspect of _Alpine_'s FOLDER LIST
+ screen. If set, the default FCC folder will be sorted
+ alphabetically with the other folders instead of appearing right
+ after the INBOX.
+ This feature is displayed as "Sort Default Fcc Folder
+ Alphabetically".
+ _sort-default-save-alpha_
+ This feature controls an aspect of _Alpine_'s FOLDER LIST
+ screen. If set, the default save folder will be sorted
+ alphabetically with the other folders instead of appearing right
+ after the INBOX (and default FCC folder).
+ This feature is displayed as "Sort Default Save Folder
+ Alphabetically".
+ _spell-check-before-sending_
+ When this feature is set, every composed message will be
+ spell-checked before being sent.
+ _store-window-position-in-config_
+ Normally, _PC-Alpine_ will store its window size and position in
+ the Windows Registry. This is convenient if you want to use the
+ same remote configuration from more than one PC. If you use
+ multiple configuration files to start _PC-Alpine_, you may want
+ to store the window size and position in the configuration file
+ instead of in the Registry. Setting this feature causes that to
+ happen.
+ _strip-from-sigdashes-on-reply_
+ This feature doesn't do anything if the feature enable-sigdashes
+ is turned on. However, if the _enable-sigdashes_ feature is not
+ turned on, then turning on this feature enables support for the
+ convention of not including text beyond the sigdashes line when
+ Replying or Following up to a message and including the text of
+ that message.
+ In other words, this is a way to turn on the signature stripping
+ behavior without also turning on the dashes-adding behavior.
+ _strip-whitespace-before=send_
+ Trailing whitespace is not stripped from a message before
+ sending. Trailing whitespace should have no effect on an email
+ message, and in flowed text can aid in delimiting paragraphs.
+ However, the old behavior of stripping trailing whitespace was
+ in place to better deal with older clients that couldn't handle
+ certain types of text encodings. This feature restores the old
+ behavior
+ Trailing whitespace is of aid to flowed-text-formatted messages,
+ which are generated by default but can be turned off via the
+ quell-flowed-text feature. strip-whitespace-before-send also has
+ the effect of turning off sending of flowed text.
+ This feature is displayed as "Strip Whitespace Before Sending".
+ _suppress-asterisks-in-password-prompt_
+ When you are running _Alpine_ you will sometimes be asked for a
+ password in a prompt on the third line from the bottom of the
+ screen. Normally each password character you type will cause an
+ asterisk to echo on the screen. That gives you some feedback to
+ know that your typing is being recognized. There is a very
+ slight security risk in doing it this way because someone
+ watching over your shoulder might be able to see how many
+ characters there are in your password. If you'd like to suppress
+ the echoing of the asterisks set this feature.
+ _suppress-user-agent-when-sending_
+ If this feature is set then _Alpine_ will not generate a
+ User-Agent header in outgoing messages.
+ _tab-checks-recent_
+ In a FOLDER LIST screen, the TAB key usually just changes which
+ folder is highlighted. If this feature is set, then the TAB key
+ will cause the number of recent messages and the total number of
+ messages in the highlighted folder to be displayed instead.
+ This feature is displayed as "Tab Checks for Recent Messages".
+ _tab-uses-unseen-for-next-folder_
+ This feature affects _Alpine_'s behavior when using the TAB
+ NextNew Command to move from one folder to the next. _Alpine_'s
+ usual behavior is to search for folders with _Recent_ messages
+ in them. Recent messages are messages which have arrived since
+ the last time the folder was opened.
+ Setting this feature causes _Alpine_ to search for _Unseen_
+ messages instead of Recent messages. Unseen messages remain
+ Unseen until you view them (or flag then as Seen with the Flag
+ Command). Setting this feature allows you to locate messages you
+ have not read instead of only recently received messages. When
+ this feature is set, the feature Enable-Fast-Recent-Test will
+ have no effect, so the checking may be slower.
+ Another reason why you might want to use this feature is that
+ _Alpine_ sometimes opens folders implicitly behind the scenes,
+ and this clears the Recent status of all messages in the folder.
+ One example where this happens is when Saving or filtering a
+ message to another folder. If that message has some keywords
+ set, then because of some shortcomings in the IMAP
+ specification, the best way to ensure that those keywords are
+ still set in the saved copy of the message is to open the folder
+ and set the keywords explicitly. Because this clears the Recent
+ status of all messages in that folder the folder will not be
+ found by the NextNew command unless this feature is set.
+ _tab-visits-next-new-message-only_
+ This feature affects _Alpine_'s behavior when using the _TAB_
+ key to move from one message to the next. _Alpine_'s usual
+ behavior is to select the next _Unread_ message or message
+ flagged as _Important_.
+ Setting this feature causes _Alpine_ to skip the messages
+ flagged as _Important_, and select _Unread_ messages
+ exclusively. Tab behavior when there are no new messages left to
+ select remains unchanged.
+ _termdef-takes-precedence_
+ This feature may affect _Alpine_'s low-level input routines.
+ Termcap (or terminfo, depending on how your copy of _Alpine_ was
+ compiled and linked) is the name of the database which describes
+ terminal capabilities. In particular, it describes the sequences
+ of characters that various keys will emit.
+ An example would be the Up Arrow key on the keyboard. Up Arrow
+ is not a distinct character on most Unix systems. When you press
+ the Up Arrow key a short sequence of characters are produced.
+ This sequence is supposed to be described in the termcap
+ database by the "ku" capability (or by the "kcuu1" capability if
+ you are using terminfo instead of termcap).
+ By default, _Alpine_ defines some terminal escape sequences that
+ are commonly used. For example, the sequence "ESC O A" is
+ recognized as an Up Arrow key. The sequence "ESC [ A" is also
+ recognized as an Up Arrow key. These are chosen because common
+ terminals like VT100's or ANSI standard terminals produce these
+ sequences when you press the Up Arrow key.
+ If your system's termcap (terminfo) database assigns some other
+ function to the sequence "ESC O A" it is usually ignored by
+ _Alpine_. Also, if your termcap (terminfo) database assigns a
+ sequence which doesn't begin with an escape character (ESC) it
+ is usually ignored by _Alpine_. This usually works fine because
+ most terminals emit the escape sequences that _Alpine_ has
+ defined by default. We have also found that it is usually better
+ to have these defaults take precedence over the definitions
+ contained in the database because the defaults are more likely
+ to be correct than the database.
+ There are some terminals where this breaks down. If you want
+ _Alpine_ to believe the definitions given in your termcap
+ (terminfo) database in preference to the defaults the _Alpine_
+ itself sets up, then you may turn this feature on. Then,
+ sequences of characters which are defined in both termcap
+ (terminfo) and in _Alpine_'s set of defaults will be interpreted
+ the way that termcap (terminfo) says they should be interpreted.
+ Also, if your terminal capabilities database assigns a sequence
+ which doesn't begin with escape, it will not be ignored.
+ _thread-index-shows-important-color_
+ This option affects only the THREAD INDEX screen. Whether or not
+ you ever see a THREAD INDEX screen depends on the setting of the
+ configuration option threading-index-style and on the sort order
+ of the index. If a message within a thread is flagged as
+ Important and this option is set, then the entire line in the
+ THREAD INDEX will be colored the color of the Index-important
+ Symbol, which can be set using the Setup Kolor screen.
+ _try-alternative-authentication-driver-first_
+ This feature affects how _Alpine_ connects to IMAP servers. It's
+ utility has largely been overtaken by events, but it may still
+ be useful in some circumstances. If you only connect to modern
+ IMAP servers that support "TLS" you can ignore this feature.
+ Details:
+ By default, _Alpine_ will attempt to connect to an IMAP server
+ on the normal IMAP service port (143), and if the server offers
+ "Transport Layer Security" (TLS) and _Alpine_ has been compiled
+ with encryption capability, then a secure (encrypted) session
+ will be negotiated.
+ With this feature enabled, before connecting on the normal IMAP
+ port, _Alpine_ will first attempt to connect to an alternate
+ IMAP service port (993) used specifically for encrypted IMAP
+ sessions via the Secure Sockets Layer (SSL) method. If the SSL
+ attempt fails, _Alpine_ will then try the default behavior
+ described in the previous paragraph.
+ TLS negotiation on the normal port is preferred, and supersedes
+ the use of SSL on port 993, but older servers may not provide
+ TLS support. This feature may be convenient when accessing IMAP
+ servers that do not support TLS, but do support SSL connections
+ on port 993. However, it is important to understand that with
+ this feature enabled, _Alpine_ will _attempt_ to make a secure
+ connection if that is possible, but it will proceed to make an
+ insecure connection if that is the only option offered by the
+ server, or if the _Alpine_ in question has been built without
+ encryption capability.
+ Note that this feature specifies a per-user (or system-wide)
+ default behavior, but host/folder specification flags may be
+ used to control the behavior of any specific connection. This
+ feature interacts with some of the possible host/folder path
+ specification flags as follows:
+ The /tls host flag, for example,
+
+ {foo.example.com/tls}INBOX
+ will over-ride this feature for the specified host by bypassing
+ the SSL connection attempt. Moreover, with /tls specified, the
+ connection attempt will fail if the service on port 143 does not
+ offer TLS support.
+ The /ssl host flag, for example,
+
+ {foo.example.com/ssl}INBOX
+ will insist on an SSL connection for the specified host, and
+ will fail if the SSL service on port 993 is not available.
+ _Alpine_ will not subsequently retry a connection on port 143 if
+ /ssl is specified.
+ _unselect-will-not-advance_
+ Normally, when the Unselect current message command (:) is typed
+ when the current message is selected, the message will be
+ unselected and the next message will become the current message.
+ If this feature is set, the cursor will not advance to the next
+ message. Instead, the current message will remain the current
+ message after unselecting.
+ _use-current-dir_
+ This feature controls an aspect of several commands. If set,
+ your "current working directory" will be used instead of your
+ home directory for all of the following operations:
+ + _Export_ in the "Folder Index" and "Message Text" screens
+ + Attachment _Save_ in the "Message Text" and "Attachment Text"
+ screens
+ + _^R_ file inclusion in the Composer
+ + _^J_ file attachment in the Composer
+ This feature is displayed as "Use Current Directory".
+ _use-function-keys_
+ This feature specifies that _Alpine_ will respond to function
+ keys instead of the normal single-letter commands. In this mode,
+ the key menus at the bottom of each screen will show function
+ key designations instead of the normal mnemonic key.
+ _use-regular-startup-rule-for-stayopen-folders_
+ This feature affects which message is selected as the current
+ message when you enter a Stay Open folder.
+ Normally, the starting position for an incoming folder (which
+ most Stay Open folders will likely be) is controlled by the
+ Incoming-Startup-Rule. However, if a folder is a Stay Open
+ folder, when you re-enter the folder after the first time the
+ current message will be the same as it was when you left the
+ folder. An exception is made if you use the TAB command to get
+ to the folder. In that case, the message number will be
+ incremented by one from what it was when you left the folder.
+ The above special behavior is thought to be useful. However, it
+ is special and different from what you might at first expect. If
+ this feature is set, then Stay Open folders will not be treated
+ specially as far as the startup rule is concerned.
+ _use-resent-to-in-rules_
+ This feature is turned off by default because turning it on
+ causes problems with some deficient IMAP servers. In _Alpine_
+ Filters and other types of Rules, if the Pattern contains a To
+ header pattern and this feature is turned on, then a check is
+ made in the message to see if a Resent-To header is present, and
+ that is used instead of the To header. If this feature is not
+ turned on, then the regular To header will always be used.
+ _use-sender-not-x-sender_
+ Normally _Alpine_ on Unix adds a header line labeled
+ _X-X-Sender_, if the sender is different from the _From:_ line.
+ The standard specifies that this header line should be labeled
+ _Sender_, not _X-X-Sender_. Setting this feature causes _Sender_
+ to be used instead of _X-X-Sender_. The standard also states
+ that the data associated with this header field should not be
+ used as a Reply address. Unfortunately, certain implementations
+ of mail list management servers will use the Sender address for
+ such purposes. These implementations often even recognize the
+ _X-Sender_ fields as being equivalent to the _Sender_ field, and
+ use it if present. This is why _Alpine_ defaults to
+ _X-X-Sender_.
+ Note, _PC-Alpine_ always adds either an _X-X-Sender_ line if
+ there is an open, remote mailbox, or an _X-Warning:
+ UNAuthenticated User_ otherwise
+ This feature is displayed as "Use Sender Instead of X-X-Sender".
+ _use-subshell-for-suspend_
+ This feature affects _Alpine_'s behavior when process suspension
+ is enabled and then activated via the _^Z_ key. _Alpine_
+ suspension allows one to temporarily interact with the operating
+ system command "shell" without quitting _Alpine_, and then
+ subsequently resume the still-active _Alpine_ session.
+ When the _enable-suspend_ feature is set and subsequently the
+ _^Z_ key is pressed, _Alpine_ will normally suspend itself and
+ return temporary control to _Alpine_'s parent shell process.
+ However, if this feature is set, _Alpine_ will instead create an
+ inferior subshell process. This is useful when the parent
+ process is not intended to be used interactively. Examples
+ include invoking _Alpine_ via the -e argument of the Unix _xterm_
+ program, or via a menu system.
+ Note that one typically resumes a suspended _Alpine_ by entering
+ the Unix _fg_ command, but if this feature is set, it will be
+ necessary to enter the _exit_ command instead.
+ _use-system-translation_
+ UNIX _Alpine_ only. _Alpine_ normally uses its own internal
+ software to convert between the multi-byte representation of
+ characters and the Unicode representation of those same
+ characters ( see the section on International Character Sets).
+ It converts from the multi-byte characters your keyboard
+ produces to Unicode, and from Unicode to the multi-byte
+ characters your display expects. Alpine also uses its own
+ internal software to decide how much space on the screen a
+ particular Unicode character will occupy.
+ Setting this feature tells _Alpine_ to use the system-supplied
+ routines to perform these tasks instead. In particular there are
+ three tasks and three system routines that will be used for
+ these tasks.
+ To convert from multi-byte to Unicode the routine
+
+ mbstowcs
+ is used. To convert from Unicode to multi-byte the routine
+
+ wcrtomb
+ is used. And to find the screen width a particular Unicode
+ character will occupy the routine used is
+
+ wcwidth
+ This feature has been only lightly tested. The internal routines
+ should normally be used unless you run into a problem that you
+ think may be solved by using the system routines. Note that your
+ environment needs to be set up for these routines to work
+ correctly. In particular, the LANG or LC_CTYPE variable in your
+ environment will need to be set.
+ _vertical-folder-list_
+ This feature controls an aspect of _Alpine_'s FOLDER LIST
+ screen. If set, the folders will be listed alphabetically down
+ the columns rather than across the columns as is the default.
+ This feature is displayed as "Use Vertical Folder List".
+ _warn-if-blank-subject_
+ This feature affects _Alpine_'s behavior when you send a message
+ being composed. If this option is set, _Alpine_ will check to
+ see if the message about to be sent has a subject or not. If
+ not, you will be asked if you want to send the message anyway.
+ _warn-if-blank-to-and-cc-and-newsgroups_
+ This feature affects _Alpine_'s behavior when you send a message
+ being composed. If this option is set, _Alpine_ will check to
+ see if the message about to be sent has either a To address, a
+ Cc address, or a Newsgroup. If none of these is set, you will be
+ asked if you want to send the message anyway.
+ This feature is closely related to fcc-only-without-confirm.
+ _Alpine_ will normally ask if you want to copy a message only to
+ the Fcc. This feature also applies to cases where there is a Bcc
+ but still no To, Cc, or Newsgroup. If the
+ Fcc-Only-Without-Confirm feature is set and you are sending a
+ message with only an Fcc, then you won't be asked about sending
+ with a blank To and Cc and Newsgroups header even if this
+ feature is set. Similarly, if you have already been asked if you
+ want to send to the Fcc only and you have answered Yes, then you
+ won't be asked again about sending with blank To, Cc, and
+ Newsgroups headers even if this feature is set.
+
+Hidden Config Variables and Features
+
+ There are several configuration variables and features which are
+ normally hidden from the user. That is, they don't appear on any of the
+ configuration screens. Some of these are suppressed because they are
+ intended to be used by system administrators, and in fact may only be
+ set in system-wide configuration files. Others are available to users
+ but are thought to be of such little value to most users that their
+ presence on the Config screens would cause more confusion than help.
+ Others are hidden in the Setup/Config screen because they are normally
+ configured in one of the other configuration screens. For example, all
+ of the colors are hidden because the normal way to configure colors is
+ through Setup/Colors not Setup/Config. You may set the feature
+ expose-hidden-config to cause most of these hidden variables and
+ features to show up at the bottom of the Setup/Config screen.
+
+ Hidden Variables Not Settable by Users
+
+ These variables are settable only in system-wide configuration files.
+ * bugs-additional-data
+ * bugs-address
+ * bugs-fullname
+ * forced-abook-entry
+ * kblock-passwd-count
+ * local-address
+ * local-fullname
+ * mail-directory
+ * standard-printer
+ * suggest-address
+ * suggest-fullname
+
+ Hidden Variables Which are Settable by Users
+
+ These variables are not shown to users but are settable by means of
+ hand editing the personal configuration file. This first group is
+ usually maintained by _Alpine_ and there will usually be no reason to
+ edit them by hand.
+ * last-version-used
+ * patterns-filters2
+ * patterns-indexcolors
+ * patterns-roles
+ * patterns-scores2
+ * remote-abook-metafile
+
+ This group is usually correct but may be changed by system managers or
+ users in special cases.
+ * disable-these-authenticators
+ * disable-these-drivers
+ * last-time-prune-questioned
+ * new-version-threshold
+ * remote-abook-history
+ * remote-abook-validity
+ * rsh-command
+ * rsh-open-timeout
+ * rsh-path
+ * sendmail-path
+ * ssh-command
+ * ssh-open-timeout
+ * ssh-path
+ * tcp-open-timeout
+ * tcp-query-timeout
+ * tcp-read-warning-timeout
+ * tcp-write-warning-timeout
+ * use-function-keys
+
+ System managers are usually interested in setting these in the
+ system-wide configuration files, though users may set them if they
+ wish.
+ * operating-dir
+ * user-input-timeout
+
+ Hidden Features Which are Settable by Users
+
+ These are _features_ (as opposed to variables) which users or system
+ administrators may set. Some of them only make sense for
+ administrators. To turn these on manually, the configuration file
+ should be edited and the feature added to the _feature-list_ variable.
+ You may set the feature expose-hidden-config to cause these hidden
+ features to show up in the Setup/Config screen. They will be at the
+ bottom of the screen.
+ * disable-config-cmd
+ * disable-keyboard-lock-cmd
+ * disable-password-cmd
+ * disable-pipes-in-sigs
+ * disable-pipes-in-templates
+ * disable-roles-setup-cmd
+ * disable-roles-sig-edit
+ * disable-roles-template-edit
+ * disable-setlocale-collate
+ * disable-shared-namespaces
+ * disable-signature-edit-cmd
+
+Retired Variables and Features
+
+ Variables and features that are no longer used by the current _Alpine_
+ version. When an obsolete variable is encountered, its value is applied
+ to any new corresponding setting. The replaced values include:
+
+ _character-set_
+ Replaced by three separate variables: _display-character-set_,
+ _keyboard-character-set_, and _posting-character-set_.
+ _compose-mime_
+ _elm-style-save_
+ Replaced by _saved-msg-name-rule_
+ _feature-level_
+ Replaced by _feature-list._
+ _header-in-reply_
+ Replaced by _include-header-in-reply_ in the _feature-list._
+ _old-style-reply_
+ Replaced by _signature-at-bottom_ in the _feature-list._
+ _use-old-unix-format-write_
+ No replacement.
+ _patterns_
+ Replaced by four separate patterns variables: _patterns-roles_,
+ _patterns-filters_, _patterns-scores_, and
+ _patterns-indexcolors_. Since then, _patterns-filters_ has also
+ become obsolete and is replaced by _patterns-filters2_;
+ _patterns-scores_ is replaced by _patterns-scores2_.
+ _save-by-sender_
+ Replaced by _saved-msg-name-rule._
+ _show-all-characters_
+ No replacement, it always works this way now.
+
+Tokens for Index and Replying
+
+ This set of special tokens may be used in the index-format option, in
+ the reply-leadin option, in signature files, in template files used in
+ roles, and in the folder name that is the target of a Filter Rule. Some
+ of them aren't available in all situations.
+
+ The tokens are used as they appear below for the _Index-Format_ option,
+ but they must be surrounded by underscores for the _Reply-Leadin_
+ option, in signature and template files, and in the target of Filter
+ Rules.
+
+ _Tokens Available for all Cases (except Filter Rules)_
+
+ SUBJECT
+ This token represents the Subject the sender gave the message.
+ Alternatives for use in the index screen are SUBJKEY,
+ SUBJKEYINIT, SUBJECTTEXT, SUBJKEYTEXT, and SUBJKEYINITTEXT. You
+ may color the subject text in the MESSAGE INDEX screen
+ differently by using the Index Subject Color and the Index
+ Opening Color. options available from the Setup Kolor screen.
+
+ FROM
+ This token represents the personal name (or email address if the
+ name is unavailable) of the person specified in the message's
+ "From:" header field. You may color the from text in the MESSAGE
+ INDEX screen differently by using the Index From Color option
+ available from the Setup Kolor screen.
+
+ ADDRESS
+ This is similar to the "FROM" token, only it is always the email
+ address, never the personal name. For example, "mailbox@domain".
+
+ MAILBOX
+ This is the same as the "ADDRESS" except that the domain part of
+ the address is left off. For example, "mailbox".
+
+ SENDER
+ This token represents the personal name (or email address) of
+ the person listed in the message's "Sender:" header field.
+
+ TO
+ This token represents the personal names (or email addresses if
+ the names are unavailable) of the persons specified in the
+ message's "To:" header field.
+
+ NEWSANDTO
+ This token represents the newsgroups from the message's
+ "Newsgroups:" header field _and_ the personal names (or email
+ addresses if the names are unavailable) of the persons specified
+ in the message's "To:" header field.
+
+ TOANDNEWS
+ Same as "NEWSANDTO" except in the opposite order.
+
+ NEWS
+ This token represents the newsgroups from the message's
+ "Newsgroups:" header field.
+
+ CC
+ This token represents the personal names (or email addresses if
+ the names are unavailable) of the persons specified in the
+ message's "Cc:" header field.
+
+ RECIPS
+ This token represents the personal names (or email addresses if
+ the names are unavailable) of the persons specified in both the
+ message's "To:" header field and the message's "Cc:" header
+ field.
+
+ NEWSANDRECIPS
+ This token represents the newsgroups from the message's
+ "Newsgroups:" header field _and_ the personal names (or email
+ addresses if the names are unavailable) of the persons specified
+ in the message's "To:" and "Cc:" header fields.
+
+ RECIPSANDNEWS
+ Same as "NEWSANDRECIPS" except in the opposite order.
+
+ INIT
+ This token represents the initials from the personal name of the
+ person specified in the message's "From:" header field. If there
+ is no personal name, it is blank.
+
+ DATE
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format MMM DD.
+ For example, "Oct 23". The feature convert-dates-to-localtime,
+ which adjusts for the timezone the message was sent from, may
+ have an affect on the value of this token as well as the values
+ of all of the other DATE or TIME tokens. Some of the DATE and
+ TIME tokens are displayed in a locale-specific way unless the
+ option Disable-Index-Locale-Dates is set.
+
+ SMARTDATE
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It is "Today" if the
+ message was sent today, "Yesterday" for yesterday, "Wednesday"
+ if it was last Wednesday, and so on. If the message is from last
+ year and is more than six months old it includes the year, as
+ well. There is no adjustment made for different time zones, so
+ you'll get the day the message was sent according to the time
+ zone the sender was in. See the SMARTDATE alternatives below, as
+ well.
+
+ SMARTTIME
+ This token represents the most relevant elements of the date on
+ which the message was sent (according to the "Date" header
+ field), in a compact form. If the message was sent today, only
+ the time is used (e.g. "9:22am", "10:07pm"); if it was sent
+ during the past week, the day of the week and the hour are used
+ (e.g. "Wed09am", "Thu10pm"); other dates are given as date,
+ month, and year (e.g. "23Aug00", "9Apr98"). There is no
+ adjustment made for different time zones, so you'll get the
+ day/time the message was sent according to the time zone the
+ sender was in.
+
+ SMARTDATETIME
+ This is a combination of SMARTDATE and SMARTTIME. It is
+ SMARTDATE unless the SMARTDATE value is "Today", in which case
+ it is SMARTTIME. See the SMARTDATETIME alternatives below, as
+ well.
+
+ DATEISO
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ YYYY-MM-DD. For example, "1998-10-23".
+
+ SHORTDATEISO
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ YY-MM-DD. For example, "98-10-23".
+
+ SHORTDATE1
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ MM/DD/YY. For example, "10/23/98".
+
+ SHORTDATE2
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ DD/MM/YY. For example, "23/10/98".
+
+ SHORTDATE3
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ DD.MM.YY. For example, "23.10.98".
+
+ SHORTDATE4
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format
+ YY.MM.DD. For example, "98.10.23".
+
+ LONGDATE
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It has the format MMM DD,
+ YYYY. For example, "Oct 23, 1998".
+
+ SMARTDATE alternatives
+ There are several versions of SMARTDATE which are all the same
+ except for the way they format dates far in the past. SMARTDATE
+ formats the date using the information from your locale settings
+ to format the date string. It may end up formatting dates so
+ that they look like DATEISO tokens, or SHORTDATE2 tokens, or
+ something else entirely. The feature convert-dates-to-localtime
+ may have an affect on the values of these tokens. If you want
+ more control you may use one of the following.
+
+ SMARTDATE
+ If the option Disable-Index-Locale-Dates is not set then
+ this will be locale specific. Control this with the
+ LC_TIME locale setting on a UNIX system. On Windows the
+ Regional Options control panel may be used to set the
+ Short date format. At the programming level, the strftime
+ routine is what _Alpine_ uses to print the date. If the
+ Disable-Index-Locale-Dates option is set then this is
+ equivalent to SMARTDATES1.
+
+ SMARTDATEISO
+ DATEISO format. See text above.
+
+ SMARTDATESHORTISO
+ SHORTDATEISO format.
+
+ SMARTDATES1
+ SHORTDATE1 format.
+
+ SMARTDATES2
+ SHORTDATE2 format.
+
+ SMARTDATES3
+ SHORTDATE3 format.
+
+ SMARTDATES4
+ SHORTDATE4 format.
+
+ SMARTDATETIME alternatives
+ There are several versions of SMARTDATETIME which are all very
+ similar. The ones which end in 24 use a 24-hour clock for
+ Today's messages instead of a 12-hour clock. The other variation
+ is for the way they format dates far in the past. SMARTDATETIME
+ and SMARTDATETIME24 format the date using the information from
+ your locale settings to format the date string. It may end up
+ formatting dates so that they look like DATEISO tokens, or
+ SHORTDATE2 tokens, or something else entirely. The feature
+ convert-dates-to-localtime may have an affect on the values of
+ these tokens. The possible choices are:
+
+ SMARTDATETIME
+ Locale specific. Control this with the LC_TIME locale
+ setting on a UNIX system. On Windows the Regional Options
+ control panel may be used to set the Short date format. At
+ the programming level, the strftime routine is what
+ _Alpine_ uses to print the date.
+
+ SMARTDATETIME
+ If the option Disable-Index-Locale-Dates is not set then
+ this will be locale specific. Control this with the
+ LC_TIME locale setting on a UNIX system. On Windows the
+ Regional Options control panel may be used to set the
+ Short date format. At the programming level, the strftime
+ routine is what _Alpine_ uses to print the date. If the
+ Disable-Index-Locale-Dates option is set then this is
+ equivalent to SMARTDATETIMES1.
+
+ SMARTDATETIME24
+ Use TIME24 for Today
+
+ SMARTDATETIMEISO
+ DATEISO format. See text above.
+
+ SMARTDATETIMEISO24
+ Use TIME24 for Today
+
+ SMARTDATETIMESHORTISO
+ SHORTDATEISO format.
+
+ SMARTDATETIMESHORTISO24
+ Use TIME24 for Today
+
+ SMARTDATETIMES1
+ SHORTDATE1 format.
+
+ SMARTDATETIMES124
+ Use TIME24 for Today
+
+ SMARTDATETIMES2
+ SHORTDATE2 format.
+
+ SMARTDATETIMES224
+ Use TIME24 for Today
+
+ SMARTDATETIMES3
+ SHORTDATE3 format.
+
+ SMARTDATETIMES324
+ Use TIME24 for Today
+
+ SMARTDATETIMES4
+ SHORTDATE4 format.
+
+ SMARTDATETIMES424
+ Use TIME24 for Today
+
+ DAYDATE
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It looks like "Sat, 23 Oct
+ 1998". This token is never converted in any locale-specific way.
+
+ PREFDATE
+ This token represents the date on which the message was sent,
+ according to the "Date" header field. It is your operating
+ system's idea of the preferred date representation for the
+ current locale. Internally it uses the %x version of the date
+ from the strftime routine.
+
+ PREFTIME
+ This token represents the time at which the message was sent,
+ according to the "Date" header field. It is the preferred time
+ representation for the current locale. Internally it uses the %X
+ version of the time from the strftime routine.
+
+ PREFDATETIME
+ This token represents the date and time at which the message was
+ sent, according to the "Date" header field. It is the preferred
+ date and time representation for the current locale. Internally
+ it uses the %c version of the time from the strftime routine.
+
+ DAY
+ This token represents the day of the month on which the message
+ was sent, according to the "Date" header field. For example,
+ "23" or "9".
+
+ DAY2DIGIT
+ This token represents the day of the month on which the message
+ was sent, according to the "Date" header field. For example,
+ "23" or "09". It is always 2 digits.
+
+ DAYORDINAL
+ This token represents the ordinal number which is the day of the
+ month on which the message was sent, according to the "Date"
+ header field. For example, "23rd" or "9th".
+
+ DAYOFWEEK
+ This token represents the day of the week on which the message
+ was sent, according to the "Date" header field. For example,
+ "Sunday" or "Wednesday".
+
+ DAYOFWEEKABBREV
+ This token represents the day of the week on which the message
+ was sent, according to the "Date" header field. For example,
+ "Sun" or "Wed".
+
+ MONTHABBREV
+ This token represents the month the message was sent, according
+ to the "Date" header field. For example, "Oct".
+
+ MONTHLONG
+ This token represents the month in which the message was sent,
+ according to the "Date" header field. For example, "October".
+
+ MONTH
+ This token represents the month in which the message was sent,
+ according to the "Date" header field. For example, "10" or "9".
+
+ MONTH2DIGIT
+ This token represents the month in which the message was sent,
+ according to the "Date" header field. For example, "10" or "09".
+ It is always 2 digits.
+
+ YEAR
+ This token represents the year the message was sent, according
+ to the "Date" header field. For example, "1998" or "2001".
+
+ YEAR2DIGIT
+ This token represents the year the message was sent, according
+ to the "Date" header field. For example, "98" or "01". It is
+ always 2 digits.
+
+ TIME24
+ This token represents the time at which the message was sent,
+ according to the "Date" header field. There is no adjustment
+ made for different time zones, so you'll get the time the
+ message was sent according to the time zone the sender was in.
+ It has the format HH:MM. For example, "17:28".
+
+ TIME12
+ This token represents the time at which the message was sent,
+ according to the "Date" header field. This time is for a 12 hour
+ clock. It has the format HH:MMpm. For example, "5:28pm" or
+ "11:13am".
+
+ TIMEZONE
+ This token represents the numeric timezone from the "Date"
+ header field. It has the format [+-]HHMM. For example, "-0800".
+
+ _Tokens Available Only for Index-Format_
+
+ MSGNO
+ This token represents the message's current position in the
+ folder which, of course, may change as the folder is sorted or
+ new mail arrives.
+
+ STATUS
+ This token represents a three character wide field displaying
+ various aspects of the message's state. The first character is
+ either blank, a '*' for message marked Important, or a '+'
+ indicating a message addressed directly to you (as opposed to
+ your having received it via a mailing list, for example). When
+ the feature mark-for-cc is set, if the first character would
+ have been blank then it will instead be a '-' if the message is
+ cc'd to you. The second character is typically blank, though the
+ arrow cursor may occupy it if either the assume-slow-link or the
+ force-arrow-cursor feature is set (or you actually are on a slow
+ link). The third character is either D (Deleted), A (Answered),
+ N (New), or blank.
+
+ If you are using a threaded view of the index and this message
+ is at the top of a collapsed portion of a thread, then this
+ token refers to all of the messages in the collapsed portion of
+ the thread instead of just the top message. The first character
+ will be a '*' if _any_ of the messages in the thread are marked
+ Important, else a '+' if any of the messages are addressed to
+ you, else a '-' if any of the messages are cc'd to you. The
+ third character will be a 'D' if _all_ of the messages in the
+ collapsed thread are marked deleted, an 'A' if _all_ of the
+ messages in the collapsed thread are marked answered, it will be
+ an 'N' if any of the messages are undeleted and unseen, and it
+ will be blank otherwise.
+
+ FULLSTATUS
+ This token represents a less abbreviated alternative to the
+ "STATUS" token. It is six characters wide. The first character
+ is '+', '-', or blank, the second blank, the third either '*' or
+ blank, the fourth N or blank, the fifth A or blank, and the
+ sixth character is either D or blank.
+
+ If you are using a threaded view of the index and this message
+ is at the top of a collapsed portion of a thread, then this
+ token refers to all of the messages in the collapsed portion of
+ the thread instead of just the top message. The first character
+ is '+', '-', or blank depending on whether _any_ of the messages
+ in the collapsed thread are addressed to you or cc'd to you. The
+ third character will be '*' if any of the messages are marked
+ Important. The fourth character will be 'N' if all of the
+ messages in the thread are New, else 'n' if some of the messages
+ in the thread are New, else blank. The fifth character will be
+ 'A' or 'a' or blank, and the sixth character will be 'D' or 'd'
+ or blank.
+
+ IMAPSTATUS
+ This token represents an even less abbreviated alternative to
+ the "STATUS" token. It differs from "FULLSTATUS" in only the
+ fourth character which is an 'N' if the message is new to this
+ folder since the last time it was opened _and_ it has not been
+ viewed, an 'R' (Recent) if the message is new to the folder and
+ has been viewed, a 'U' (Unseen) if the message is not new to the
+ folder since it was last opened _but_ has not been viewed, or a
+ blank if the message has been in the folder since it was last
+ opened and has been viewed.
+
+ If you are using a threaded view of the index and this message
+ is at the top of a collapsed portion of a thread, then the
+ fourth character will be 'N' if all of the messages in the
+ thread are unseen and recent; else 'n' if some of the messages
+ in the thread are unseen and recent; else 'U' if all of the
+ messages in the thread are unseen and not recent; else 'u' if
+ some of the messages in the thread are unseen and not recent;
+ else 'R' if all of the messages in the thread are seen and
+ recent; else 'r' if some of the messages in the thread are seen
+ and recent; else blank.
+
+ SHORTIMAPSTATUS
+ This is the same as the last four of the six characters of
+ IMAPSTATUS, so the '+' To Me information will be missing.
+
+ SIZE
+ This token represents the total size, in bytes, of the message.
+ If a "K" (Kilobyte) follows the number, the size is
+ approximately 1,000 times that many bytes (rounded to the
+ nearest 1,000). If an "M" (Megabyte) follows the number, the
+ size is approximately 1,000,000 times that many bytes. Commas
+ are not used in this field. This field is seven characters wide,
+ including the enclosing parentheses. Sizes are rounded when "K"
+ or "M" is present. The progression of sizes used looks like:
+
+ 0 1 ... 9999 10K ... 999K 1.0M ... 99.9M 100M ... 2000M
+
+ SIZECOMMA
+ This token represents the total size, in bytes, of the message.
+ If a "K" (Kilobyte) follows the number, the size is
+ approximately 1,000 times that many bytes (rounded to the
+ nearest 1,000). If an "M" (Megabyte) follows the number, the
+ size is approximately 1,000,000 times that many bytes. Commas
+ are used if the number shown is 1,000 or greater. The SIZECOMMA
+ field is one character wider than the SIZE field. Sizes are
+ rounded when "K" or "M" is present. The progression of sizes
+ used looks like:
+
+ 0 1 ... 99,999 100K ... 9,999K 10.0M ... 999.9M 1,000M ... 2,000M
+
+ KSIZE
+ This token represents the total size of the message, expressed
+ in kilobytes or megabytes, as most appropriate. These are 1,024
+ byte kilobytes and 1,024 x 1,024 byte megabytes. The progression
+ of sizes used looks like:
+
+ 0K 1K ... 1023K 1.0M ... 99.9M 100M ... 2047M
+
+ SIZENARROW
+ This token represents the total size, in bytes, of the message.
+ If a "K" (Kilobyte) follows the number, the size is
+ approximately 1,000 times that many bytes. If an "M" (Megabyte)
+ follows the number, the size is approximately 1,000,000 times
+ that many bytes. If a "G" (Gigabyte) follows the number, the
+ size is approximately 1,000,000,000 times that many bytes. This
+ field uses only five characters of screen width, including the
+ enclosing parentheses. The progression of sizes used looks like:
+
+ 0 1 ... 999 1K ... 99K .1M ... .9M 1M ... 99M .1G ... .9G 1G 2G
+
+ DESCRIPSIZE
+ This token is intended to represent a more useful description of
+ the message than just its size, but it isn't very useful at this
+ point. The plus sign in this view means there are attachments.
+ Note that including this token in the "Index-Format" could slow
+ down the display a little while _Alpine_ collects the necessary
+ information.
+
+ SUBJKEY
+ This token is the same as the SUBJECT token unless keywords are
+ set for the message. In that case, a list of keywords enclosed
+ in braces will be prepended to the subject of the message. Only
+ those keywords that you have defined in your Keywords option in
+ Setup/Config are considered in the list. In other words,
+ keywords that have been set by some other means, perhaps by
+ another email program, won't show up unless included in
+ Keywords. Having this set in the Index-Format will also cause
+ the keywords to be prepended to the subject in the MESSAGE TEXT
+ screen. If you have given a keyword a nickname (keywords), that
+ nickname is displayed instead of the actual keyword. The
+ keyword-surrounding-chars option may be used to modify this
+ token slightly. It is also possible to color keywords in the
+ index using the Setup/Kolor screen.
+
+ SUBJKEYINIT
+ This token is the same as the SUBJKEY token except that instead
+ of prepending a list of keywords to the subject, a list of first
+ initials of keywords will be prepended instead. For example, if
+ a message has the keywords _Work_ and _Now_ set (or Work and Now
+ are the _Alpine_ nicknames of keywords which are set) then the
+ SUBJKEY token would cause a result like
+
+ {Work Now} actual subject
+
+ whereas the SUBJKEYINIT token would give
+
+ {WN} actual subject
+
+ Only those keywords that you have defined in your Keywords
+ option in Setup/Config are considered in the list. In other
+ words, keywords that have been set by some other means, perhaps
+ by another email program, won't show up unless included in
+ Keywords. The keyword-surrounding-chars option may be used to
+ modify this token slightly. It is also possible to color
+ keywords in the index using the Setup/Kolor screen.
+
+ SUBJECTTEXT
+ Same as SUBJECT but if there is room in the Subject field for
+ more text, the opening part of the text of the message is
+ displayed after the subject. The time needed to fetch the text
+ may cause a performance problem which can, of course, be avoided
+ by using the SUBJECT version of the Subject instead. You may
+ color this opening text differently by using the Index Opening
+ Color option available from the Setup Kolor screen. You may
+ adjust the characters that are displayed between the Subject and
+ the opening text with the option Opening-Text-Separator-Chars.
+
+ SUBJKEYTEXT
+ Same as SUBJKEY but with the opening message text.
+
+ SUBJKEYINITTEXT
+ Same as SUBJKEYINIT but with the opening message text.
+
+ OPENINGTEXT
+ This is similar to SUBJECTTEXT. Instead of combining the Subject
+ and the opening text in a single field in the index screen this
+ token allows you to allocate a separate column just for the
+ opening text of the message. The time needed to fetch this text
+ may cause a performance problem. You may color this opening text
+ differently by using the Index Opening Color option available
+ from the Setup Kolor screen.
+
+ OPENINGTEXTNQ
+ This is very similar to OPENINGTEXT. The NQ stands for No
+ Quotes. The only difference is that quoted text (lines beginning
+ with >) is deleted. For some messages this may be confusing. For
+ example, a message might have a line preceding some quoted text
+ that reads something like "On May 8th person A said." That no
+ longer makes sense after the quoted text is deleted and it will
+ appear that person A said whatever the text after the quote is,
+ even though that is really person B talking.
+
+ KEY
+ This is a space-delimited list of keywords that are set for the
+ message. Only those keywords that you have defined in your
+ Keywords option in Setup/Config are considered in the list. In
+ other words, keywords that have been set by some other means,
+ perhaps by another email program, won't show up unless included
+ in Keywords. If you have given a keyword a nickname that
+ nickname is displayed instead of the actual keyword. It is also
+ possible to color keywords in the index using the Setup/Kolor
+ screen. This token defaults to an arbitrary width of 5. You
+ should set it to whatever width suits you using something like
+ KEY(17) in the Index-Format.
+
+ KEYINIT
+ This is a list of keyword initials that are set for the message.
+ If you have given a keyword a nickname the initial of that
+ nickname is displayed instead of the initial of the actual
+ keyword. It is also possible to color keyword initials in the
+ index using the Setup/Kolor screen. This token defaults to an
+ arbitrary width of 2. You should set it to whatever width suits
+ you using something like KEYINIT(3) in the Index-Format.
+
+ PRIORITY
+ The X-Priority header is a non-standard header that is used in a
+ somewhat standard way by many mail programs. _Alpine_ expects
+ the value of this header to be a digit with a value from 1 to 5,
+ with 1 being the highest priority and 5 the lowest priority.
+ Since this priority is something that the sender sets it is only
+ an indication of the priority that the sender attaches to the
+ mail and it is therefore almost totally unreliable for use as a
+ filtering criterion. This token will display the numeric value
+ of the priority if it is between 1 and 5. It will be suppressed
+ (blank) if the value is 3, which is normal priority. It is also
+ possible to set the color of the PRIORITY field. By default the
+ token is colored the same as the index line it is part of. You
+ may set it to be another color with the Index Priority Colors
+ options available from the Setup Kolor screen.
+
+ PRIORITYALPHA
+ This is a more verbose interpretation of the X-Priority field.
+ Once again nothing is displayed unless the value of the field is
+ 1, 2, 4, or 5. The values displayed for those values are:
+
+ 1 Highest
+ 2 High
+ 4 Low
+ 5 Lowest
+
+ You may color this token with the Index Priority Colors options.
+
+ PRIORITY!
+ This is a one character, non-numeric version of the X-Priority
+ field. If the value of the X-Priority header is 1 or 2 an
+ exclamation point is displayed. If the value is 4 or 5 a "v"
+ (think down arrow) is displayed. You may color this token with
+ the Index Priority Colors options.
+
+ ATT
+ This is a one column wide field which represents the number of
+ attachments a message has. It will be blank if there are no
+ attachments, a single digit for one to nine attachments, or an
+ asterisk for more than nine. Note that including this token in
+ the "Index-Format" could slow down the display a little while
+ _Alpine_ collects the necessary information.
+
+ FROMORTO
+ This token represents _either_ the personal name (or email
+ address) of the person listed in the message's "From:" header
+ field, _or_, if that address is yours or one of your alternate
+ addresses, the first person specified in the message's "To:"
+ header field with the prefix "To: " prepended. If the from
+ address is yours and there is also no "To" address, _Alpine_
+ will use the address on the "Cc" line. If there is no address
+ there, either, _Alpine_ will look for a newsgroup name from the
+ "Newsgroups" header field and put that after the "To: " prefix.
+
+ FROMORTONOTNEWS
+ This is almost the same as _FROMORTO_. The difference is that
+ newsgroups aren't considered. When a message is from you,
+ doesn't have a To or Cc, and does have a Newsgroups header; this
+ token will be your name instead of the name of the newsgroup
+ (like it would be with FROMORTO).
+
+ TEXT
+ This is a different sort of token. It allows you to display a
+ label within each index line. It will be the same fixed text for
+ each line. It is different from all the other tokens in that
+ there is no space column displayed after this token. Instead, it
+ is butted up against the following field. It also has a
+ different syntax. The text to display is given following a colon
+ after the word "TEXT". For example,
+
+ TEXT:abc=
+
+ would insert the literal text "abc=" (without the quotes) into
+ the index display line. You must quote the text if it includes
+ space characters, like
+
+ TEXT:"abc = "
+
+ HEADER
+ This allows you to display the text from a particular header
+ line in the message. The syntax for this token is substantially
+ different from all the others in order that you might be able to
+ display a portion of the text following a particular header. The
+ header name you are interested in is given following a colon
+ after the word "HEADER". For example,
+
+ HEADER:X-Spam
+
+ would display the text of the X-Spam header, if any. Like for
+ other index tokens a width field may (and probably should)
+ follow this.
+
+ HEADER:X-Spam(10)
+
+ displays the first ten characters of the X-Spam header. Unlike
+ other index tokens, the syntax for HEADER is more flexible. An
+ optional second argument comes after a comma inside the
+ parentheses. It specifies the "field" number. By default, the
+ field separator is a space character. No extra space characters
+ are allowed in the argument list.
+
+ HEADER:X-Spam(10,2)
+
+ would display the second field, left-justified, in a 10
+ character wide field. The second field would consist of all the
+ text after the first space up to the next space or the end of
+ the header. The default field number is zero, which stands for
+ the entire line. There is also an optional third argument which
+ is a list of field separators. It defaults to a space character.
+ The example
+
+ HEADER:X-Spam(10,2,:% )
+
+ would cause the field separators to be any of colon, percent, or
+ space (there is a space character between the percent and the
+ right parenthesis). The first field runs from the start of the
+ header value up to the first colon, percent, or space; the
+ second goes from there to the next; and so on. In order to use a
+ comma character as a field separator you must escape it by
+ preceding it with a backslash (\). The same is true of the
+ backslash character itself. There is one further optional
+ argument. It is an R or an L to specify right or left adjustment
+ of the text within the field. The default is to left justify,
+ however if you are displaying numbers you might prefer to right
+ justify.
+
+ Here's an example of a SpamAssassin header. The exact look of
+ the header will vary, but if your incoming mail contains headers
+ that look like the following
+
+ X-Spam-Status: Yes, hits=10.6 tagged_above=-999.0 required=7.0
+ tests=BAYE...
+
+ you might want to display the hits value. The first field starts
+ with the Y in Yes. To get what you're interested in you might
+ use "=" and space as the field separators and display the third
+ field, like
+
+ HEADER:X-Spam-Status(4,3,= )
+
+ or maybe you would break at the dot instead
+
+ HEADER:X-Spam-Status(2,2,=.,R)
+
+ Another example we've seen has headers that look like
+
+ X-Spam: Gauge=IIIIIII, Probability=7%, Report=...
+
+ Because there are two equals and a comma before the 7% and a
+ comma after it, the token
+
+ HEADER:X-Spam-Status(3,4,=\,,R)
+
+ should display the probability (for example 7% or 83%) right
+ justified in a 3-wide field.
+
+ ARROW
+ This gives an alternative way to display the current message in
+ the MESSAGE INDEX screen. Usually the current message is
+ indicated by the line being shown in reverse video. Instead, if
+ the ARROW token is included in your Index-Format, the current
+ line will include an "arrow" that looks like
+
+ ->
+
+ in the ARROW token's field. For all of the non-current messages,
+ the ARROW field will be filled with blanks. If you use the
+ fixed-field width feature the length of the "arrow" may be
+ adjusted. The arrow will be drawn as width-1 dashes followed by
+ a greater than sign. For example, if you use ARROW(3) you will
+ get
+
+ -->
+
+ and ARROW(1) will give you just
+
+ >
+
+ It is also possible to set the color of the ARROW field. By
+ default (and for non-current messages) the arrow is colored the
+ same as the index line it is part of. You may set it to be
+ another color with the Index Arrow Color option available from
+ the Setup Kolor screen.
+
+ SCORE
+ This gives the score of each message. This will be six columns
+ wide to accomodate the widest possible score. You will probably
+ want to use the Index-Format fixed-field width feature to limit
+ the width of the field to the widest score that you use (e.g.
+ SCORE(3) if your scores are always between 0 and 999). If you
+ have not defined any score rules the scores will all be zero. If
+ any of your score rules contain AllText or BodyText patterns
+ then including SCORE in the Index-Format may slow down the
+ display of the MESSAGE INDEX screen.
+
+ _Tokens Available for all but Index-Format_
+
+ CURNEWS
+ This token represents the current newsgroup if there is one. For
+ example, "comp.mail.pine".
+
+ MSGID
+ This token represents the message ID of the message. This token
+ does not work with Filter Rule folder names.
+
+ CURDATE
+ This token represents the current date. It has the format MMM
+ DD. For example, "Oct 23".
+
+ CURDATEISO
+ This token represents the current date. It has the format
+ YYYY-MM-DD. For example, "1998-10-23".
+
+ CURDATEISOS
+ This token represents the current date. It has the format
+ YY-MM-DD. For example, "98-10-23".
+
+ CURPREFDATE
+ This token represents the current date. It is your operating
+ system's idea of the preferred date representation for the
+ current locale. Internally it uses the %x version of the date
+ from the strftime routine.
+
+ CURPREFTIME
+ This token represents the current time. It is the preferred time
+ representation for the current locale. Internally it uses the %X
+ version of the time from the strftime routine.
+
+ CURPREFDATETIME
+ This token represents the current date and time. It is the
+ preferred date and time representation for the current locale.
+ Internally it uses the %c version of the time from the strftime
+ routine.
+
+ CURTIME24
+ This token represents the current time. It has the format HH:MM.
+ For example, "17:28".
+
+ CURTIME12
+ This token represents the current time. This time is for a 12
+ hour clock. It has the format HH:MMpm. For example, "5:28pm" or
+ "11:13am".
+
+ CURDAY
+ This token represents the current day of the month. For example,
+ "23" or "9".
+
+ CURDAY2DIGIT
+ This token represents the current day of the month. For example,
+ "23" or "09". It is always 2 digits.
+
+ CURDAYOFWEEK
+ This token represents the current day of the week. For example,
+ "Sunday" or "Wednesday".
+
+ CURDAYOFWEEKABBREV
+ This token represents the current day of the week. For example,
+ "Sun" or "Wed".
+
+ CURMONTH
+ This token represents the current month. For example, "10" or
+ "9".
+
+ CURMONTH2DIGIT
+ This token represents the current month. For example, "10" or
+ "09". It is always 2 digits.
+
+ CURMONTHLONG
+ This token represents the current month. For example, "October".
+
+ CURMONTHABBREV
+ This token represents the current month. For example, "Oct".
+
+ CURYEAR
+ This token represents the current year. For example, "1998" or
+ "2001".
+
+ CURYEAR2DIGIT
+ This token represents the current year. For example, "98" or
+ "01". It is always 2 digits.
+
+ LASTMONTH
+ This token represents last month. For example, if this is
+ November (the 11th month), it is equal to "10" or if this is
+ October (the 10th month), it is "9". It is possible that this
+ and the other tokens beginning with LASTMONTH below could be
+ useful when used with a Filtering Rule that has the "Beginning
+ of Month" option set.
+
+ LASTMONTH2DIGIT
+ This token represents last month. For example, if this is
+ November (the 11th month), it is equal to "10" or if this is
+ October (the 10th month), it is "09". It is always 2 digits.
+
+ LASTMONTHLONG
+ This token represents last month. For example, if this is
+ November the value is "October".
+
+ LASTMONTHABBREV
+ This token represents last month. For example, if this is
+ November the value is "Oct".
+
+ LASTMONTHYEAR
+ This token represents what the year was a month ago. For
+ example, if this is October, 1998, it is "1998". If this is
+ January, 1998, it is "1997".
+
+ LASTMONTHYEAR2DIGIT
+ This token represents what the year was a month ago. For
+ example, if this is October, 1998, it is "98". If this is
+ January, 1998, it is "97".
+
+ LASTYEAR
+ This token represents last year. For example, if this is 1998,
+ it equals "1997". It is possible that this could be useful when
+ used with a Filtering Rule that has the "Beginning of Year"
+ option set.
+
+ LASTYEAR2DIGIT
+ This token represents last year. For example, if this is 1998,
+ it equals "97". It is always 2 digits.
+
+ ROLENICK
+ This token represents the nickname of the role currently being
+ used. If no role is being used, then no text will be printed for
+ this token. This token does not work with Filter Rule folder
+ names.
+
+ _Token Available Only for Reply-Leadin_
+
+ See the help for the Reply-Leadin option, to see why you might want to
+ use this. Since the _Reply-Leadin_ contains free text this token must
+ be surrounded by underscores when used.
+
+ NEWLINE
+ This is an end of line marker.
+
+ _Token Available Only for Templates and Signatures_
+
+ CURSORPOS
+ This token is different from the others. When it is replaced it
+ is replaced with nothing, but it sets a _Alpine_ internal
+ variable which tells the composer to start with the cursor
+ positioned at the position where this token was. If both the
+ template file and the signature file contain a "CURSORPOS"
+ token, then the position in the template file is used. If there
+ is a template file and neither it nor the signature file
+ contains a "CURSORPOS" token, then the cursor is positioned
+ after the end of the contents of the template file when the
+ composer starts up.
+
+Conditional Inclusion of Text for Reply-Leadin, Signatures, and Templates
+
+ Conditional text inclusion may be used with the Reply-Leadin option, in
+ signature files, and in template files used in roles. It may _not_ be
+ used with the _Index-Format_ option.
+
+ There is a limited if-else capability for including text. The if-else
+ condition is based on whether or not a given token would result in
+ replacement text you specify. The syntax of this conditional inclusion
+ is
+
+ _token_(match_this, if_matched [ , if_not_matched ] )
+
+ The left parenthesis must follow the underscore immediately, with no
+ intervening space. It means the token is expanded and the results of
+ that expansion are compared against the "match_this" argument. If there
+ is an exact match, then the "if_matched" text is used as the
+ replacement text. Otherwise, the "if_not_matched" text is used. One of
+ the most useful values for the "match_this" argument is the empty
+ string, "". In that case the expansion is compared against the empty
+ string.
+
+ Here's an example to make it clearer. This text could be included in
+ one of your template files:
+
+ _NEWS_("", "I'm replying to email","I'm replying to news")
+
+ If that is included in a template file which you are using while
+ replying to a message (because you chose to use the role it was part
+ of), and that message has a newsgroup header and a newsgroup in that
+ header, then the text
+
+ I'm replying to news
+
+ will be included in the message you are about to compose. On the other
+ hand, if the message you are replying to does not have a newsgroup,
+ then the text
+
+ I'm replying to email
+
+ would be included instead. This would also work in signature files and
+ in the "Reply-Leadin" option. If the "match_this", "if_matched", or
+ "if_not_matched" arguments contain spaces, parentheses, or commas; they
+ have to be quoted with double quotation marks (like in the example
+ above). If you want to include a literal quote in the text you must
+ escape the quote by preceding it with a backslash character. If you
+ want to include a literal backslash character you must escape it by
+ preceding it with another backslash.
+
+ The comma followed by "if_not_matched" is optional. If there is no
+ "if_not_matched" present then no text is included if the not_matched
+ case is true. Here's another example:
+
+ _NEWS_("", "", "This msg was seen in group: _NEWS_.")
+
+ Here you can see that tokens may appear in the arguments. The same is
+ true for tokens with the conditional parentheses. They may appear in
+ arguments, though you do have to be careful to get the quoting and
+ escaping of nested double quotes correct. If this was in the signature
+ file being used and you were replying to a message sent to
+ comp.mail.pine the resulting text would be:
+
+ This msg was seen in group: comp.mail.pine.
+
+ If you were replying to a message which wasn't sent to any newsgroup
+ the resulting text would be a single blank line. The reason you'd get a
+ blank line is because the end of the line is outside of the
+ conditional, so is always included. If you wanted to get rid of that
+ blank line you could do so by moving the end of line inside the
+ conditional. In other words, it's ok to have multi-line "if_matched" or
+ "if_not_matched" arguments. The text just continues until the next
+ double quotation, even if it's not on the same line.
+
+ Here's one more (contrived) example illustrating a matching argument
+ which is not the empty string.
+
+ _SMARTDATE_("Today", _SMARTDATE_, "On _DATE_") _FROM_ wrote:
+
+ If this was the value of your "Reply-Leadin" option and you were
+ replying to a message which was sent today, then the value of the
+ "Reply-Leadin" would be
+
+ Today Fred Flintstone wrote:
+
+ But if you were replying to a message sent on Oct. 27 (and that wasn't
+ today) you would get
+
+ On Oct 27 Fred Flintstone wrote:
+
+Per Server Directory Configuration
+
+ This is only available if _Alpine_ was built with LDAP support. If
+ that's the case, there will be a Directory option underneath the Setup
+ command on the Main Menu. Each server that is defined there has several
+ configuration variables which control the behavior when using it.
+ _ldap-server_
+ This is the name of the host where an LDAP server is running.
+ To find out whether your organization has its own LDAP server,
+ contact its computing support staff.
+ _search-base_
+ This is the search base to be used on this server. It functions
+ as a filter by restricting your searches in the LDAP server
+ database to the specified contents of the specified fields.
+ Without it, searches submitted to this directory server may
+ fail. It might be something like:
+ O = <Your Organization Name>, C = US
+
+ or it might be blank. (Some LDAP servers actually ignore
+ anything specified here.)
+ If in doubt what parameters you should specify here, contact the
+ maintainers of the LDAP server.
+ _port_
+ This is the TCP port number to be used with this LDAP server. If
+ you leave this blank port 389 will be used.
+ _nickname_
+ This is a nickname to be used in displays. If you don't supply a
+ nickname the server name from "ldap-server" will be used
+ instead. This option is strictly for your convenience.
+ _use-implicitly-from-composer_
+ Set this feature to have lookups done to this server implicitly
+ from the composer. If an address doesn't look like a
+ fully-qualified address, it will be looked up in your address
+ books, and if it doesn't match a nickname there, then it will be
+ looked up on the LDAP servers which have this feature set. The
+ lookups will also be done when using the address completion
+ feature (TAB command) in the composer if any of the serves have
+ this feature set. Also see the LDAP feature
+ lookup-addrbook-contents and the Setup/Config feature
+ ldap-result-to-addrbook-add.
+ _lookup-addrbook-contents_
+ Normally implicit LDAP lookups from the composer are done only
+ for the strings you type in from the composer screen. In other
+ words, you type in something in the To or CC field and press
+ return, then the string is looked up. First that string is
+ looked up in your address books. If a match is found there, then
+ the results of that match are looked up again. If you place a
+ string in your address book that you want to have looked up on
+ the LDAP directory server, you need to turn on this feature. If
+ you set this feature for a server, you almost always will also
+ want to set the use-implicitly-from-composer feature. An example
+ might serve to best illustrate this feature.
+ If an LDAP lookup of "William Clinton" normally returns an entry
+ with an address of pres@whitehouse.gov, then you might put an
+ entry in your address book that looks like:
+ Nickname Address
+ bill "William Clinton"
+
+ Now, when you type "bill" into an address field in the composer
+ _Alpine_ will find the "bill" entry in your address book. It will
+ replace "bill" with "William Clinton". It will then search for
+ an entry with that nickname in your address book and not find
+ one. If this feature is set, _Alpine_ will then attempt to
+ lookup "William Clinton" on the LDAP server and find the entry
+ with address pres@whitehouse.gov.
+ A better way to accomplish the same thing is probably to use the
+ feature save-search-criteria-not-result.
+ _save-search-criteria-not-result_
+ Normally when you save the results of an LDAP directory lookup
+ to your address book the _results_ of the lookup are saved. If
+ this feature is set and the entry being saved was found on this
+ directory server, then the search _criteria_ is saved instead of
+ the _results_ of the search. When this address book entry is
+ used in the future, instead of copying the results from the
+ address book the directory lookup will be done again. This could
+ be useful if the copied result might become stale because the
+ data on the directory server changes (for example, the entry's
+ email address changes). You probably don't want to set this
+ feature if the server is at all slow or unreliable.
+ The way this actually works is that instead of saving the email
+ address in your address book, _Alpine_ saves enough information
+ to look up the same directory entry again. In particular, it
+ saves the server name and the distinguished name of the entry.
+ It's possible that the server administrators might change the
+ format of distinguished names on the server, or that the entry
+ might be removed from the server. If _Alpine_ notices this, you
+ will be warned and a backup copy of the email address will be
+ used. You may want to create a new entry in this case, since you
+ will get the annoying warning every time you use the old entry.
+ You may do that by Saving the entry to a new nickname in the
+ same address book. You will be asked whether or not you want to
+ use the backup email address.
+ A related feature in the Setup/Config screen is
+ ldap-result-to-addrbook-add.
+ _disable-ad-hoc-space-substitution_
+ Spaces in your input are normally handled specially. Each space
+ character is replaced by
+ * <SPACE>
+
+ in the search query (but not by "* <SPACE> *"). The reason this
+ is done is so the input string
+ Greg Donald
+
+ (which is converted to "Greg* Donald") will match the names
+ "Greg Donald", "Gregory Donald", "Greg F. Donald", and "Gregory
+ F Donald"; but it won't match "Greg McDonald". If the
+ "Search-Rule" you were using was "begins-with", then it would
+ also match the name "Greg Donaldson".
+ Turning on this feature will disable this substitution.
+ _search-type_
+ This affects the way that LDAP searches are done. In particular,
+ this tells the server where to look for the string to be
+ matched. If set to "name" then the string that is being searched
+ for will be compared with the string in the "Name" field on the
+ server (technically, it is the "commonname" field on the
+ server). "Surname" means we're looking for a match in the
+ "Surname" field on the server (actually the "sn" field).
+ "Givenname" really is "givenname" and "email" is the electronic
+ mail address (this is actually the field called "mail" or
+ "electronicmail" on the server). The other three types are
+ combinations of the types listed so far. "Name-or-email" means
+ the string should appear in either the "name" field OR the
+ "email" field. Likewise, "surname-or-givenname" means "surname"
+ OR "givenname" and "sur-or-given-or-name-or-email" means the
+ obvious thing.
+ This search _type_ is combined with the search rule to form the
+ actual search query.
+ The usual default value for this option is
+ "sur-or-given-or-name-or-email". This type of search may be slow
+ on some servers. Try "name-or-email", which is often faster, or
+ just "name" if the performance seems to be a problem.
+ Some servers have been configured with different attribute names
+ for these four fields. In other words, instead of using the
+ attribute name "mail" for the email address field, the server
+ might be configured to use something else, for example,
+ "rfc822mail" or "internetemailaddress". _Alpine_ can be
+ configured to use these different attribute names by using the
+ four per-server configuration options:
+ + email-attribute
+ + name-attribute
+ + surname-attribute
+ + givenname-attribute
+ _search-rule_
+ This affects the way that LDAP searches are done. If set to
+ "equals" then only exact matches count. "Contains" means that
+ the string you type in is a substring of what you are matching
+ against. "Begins-with" and "ends-with" mean that the string
+ starts or ends with the string you type in.
+ Spaces in your input are normally handled specially, but you can
+ turn that special handling off with the
+ disable-ad-hoc-space-substitution feature.
+ The usual default value for this option is _begins-with_.
+ _email-attribute_
+ This is the name of the attribute which is searched for when
+ looking for an email address. The default value for this option
+ is "mail" or "electronicmail". If the server you are using uses
+ a different attribute name for the email address, put that
+ attribute name here.
+ This will affect the search filter used if your Search-Type is
+ one that contains a search for "email". It will also cause the
+ attribute value matching this attribute name to be used as the
+ email address when you look up an entry from the composer.
+ _name-attribute_
+ This is the name of the attribute which is searched for when
+ looking for the name of the entry. The default value for this
+ option is "cn", which stands for common name. If the server you
+ are using uses a different attribute name for the name, put that
+ attribute name here. This will affect the search filter used if
+ your Search-Type is one that contains a search for "name".
+ _surname-attribute_
+ This is the name of the attribute which is searched for when
+ looking for the surname of the entry. The default value for this
+ option is "sn". If the server you are using uses a different
+ attribute name for the surname, put that attribute name here.
+ This will affect the search filter used if your Search-Type is
+ one that contains a search for "surname".
+ _givenname-attribute_
+ This is the name of the attribute which is searched for when
+ looking for the given name of the entry. The default value for
+ this option is "givenname". If the server you are using uses a
+ different attribute name for the given name, put that attribute
+ name here. This will affect the search filter used if your
+ Search-Type is one that contains a search for "givenname".
+ _timelimit_
+ This places a limit on the number of seconds the LDAP search
+ will continue. The default is 30 seconds. A value of 0 means no
+ limit. Note that some servers may place limits of their own on
+ searches.
+ _sizelimit_
+ This places a limit on the number of entries returned by the
+ LDAP server. A value of 0 means no limit. The default is 0. Note
+ that some servers may place limits of their own on searches.
+ _custom-search-filter_
+ This one is for advanced users only! If you define this, then
+ the search-type and search-rule defined are both ignored.
+ However, the feature disable-ad-hoc-space-substitution is still
+ in effect. That is, the space substitution will take place even
+ in a custom filter unless you disable it.
+ If your LDAP service stops working and you suspect it might be
+ because of your custom filter, just delete this filter and try
+ using the _search-type_ and _search-rule_ instead. Another
+ option that sometimes causes trouble is the search-base option.
+ This variable may be set to the string representation of an LDAP
+ search filter (see RFC1960). In the places where you want the
+ address string to be substituted in, put a '%s' in this filter
+ string. Here are some examples:
+ A "Search-Type" of "name" with "Search-Rule" of "begins-with" is
+ equivalent to the "custom-search-filter"
+ (cn=%s*)
+
+ When you try to match against the string "string" the program
+ replaces the "%s" with "string" (without the quotes). You may
+ have multiple "%s"'s and they will all be replaced with the
+ string. There is a limit of 10 "%s"'s.
+ A "Search-Type" of "name-or-email" with "Search-Rule" of
+ "contains" is equivalent to
+ (|(cn=*%s*)(mail=*%s*))
+
+ If your server uses a different attribute _name_ than _Alpine_
+ uses by default, (for example, it uses "rfc822mail" instead of
+ "mail"), then you may be able to use one or more of the four
+ attribute configuration options instead of defining a custom
+ filter:
+ + email-attribute
+ + name-attribute
+ + surname-attribute
+ + givenname-attribute
+
+Color Configuration
+
+ If the terminal or terminal emulator you are using is capable of using
+ color (see color-style option), or if you are using _PC-Alpine_, then
+ it is possible to set up _Alpine_ so that various parts of the display
+ will be shown in colors you configure. This is done using the Setup
+ Color screen. The Setup Color screen is divided into five broad
+ sections: Options, General Colors, Index Colors, Header Colors, and
+ Keyword Colors. In addition to these five categories you may also color
+ lines in the MESSAGE INDEX screen by configuring the Index Line Color.
+
+ Each color is defined as a foreground color (the color of the actual
+ text) and a background color (the color of the area behind the text).
+
+ Color Options
+
+ _current-indexline-style_
+ This option affects the colors used to display the current line
+ in the MESSAGE INDEX screen. If you do not have Index Line
+ Colors defined, then this option will have no effect in the
+ index. Those Rules may be defined by going to the
+ Setup/Rules/Indexcolor screen.
+
+ If the option enable-incoming-folders-checking is turned on and
+ the Incoming Unseen Color is set to something other than the
+ default, then this option also affects the color used to display
+ the current folder in the Incoming FOLDER LIST screen.
+
+ The available options include:
+
+ flip-colors
+ This is the default. If an index line is colored because
+ it matches one of your Index Color Rules, then its colors
+ will be reversed when it is the currently highlighted
+ line. For example, if the line is normally red text on a
+ blue background, then when it is the current line it will
+ be drawn as blue text on a red background.
+
+ The rest of the option values all revert to this
+ flip-colors behavior if there is no Reverse Color defined.
+
+ reverse
+ With this option the Reverse color is always used to
+ highlight the current line.
+
+ reverse-fg
+ The foreground part of the Reverse Color is used to
+ highlight the current line. If this would cause the text
+ to be unreadable (because the foreground and background
+ colors are the same) or if it would cause no change in the
+ color of the index line, then the colors are flipped
+ instead.
+
+ Some people think this works particularly well if you use
+ different background colors to emphasize "interesting"
+ lines, but always with the same Normal foreground color,
+ and you use a different foreground color for the Reverse
+ Color.
+
+ reverse-fg-no-ambiguity
+ With the "reverse-fg" rule above, it is possible that the
+ resulting color will be exactly the same as the regular
+ Reverse Color. That can lead to some possible confusion
+ because an "interesting" line which is the current line
+ will be displayed exactly the same as a non-interesting
+ line which is current. You can't tell whether the line is
+ just a regular current line or if it is an "interesting"
+ current line by looking at the color. Setting the option
+ to this value removes that ambiguity. It is the same as
+ the "reverse-fg" setting unless the resulting interesting
+ current line would look just like a non-interesting
+ current line. In that case, the interesting line's colors
+ are simply flipped (like in the default behavior).
+
+ As an alternative way to preserve the line's
+ interestingness in this case, you may find that using both
+ a different foreground and a different background color
+ for the interesting line will help.
+
+ reverse-bg
+ The background part of the Reverse Color is used to
+ highlight the current line. If this would cause the text
+ to be unreadable (because the foreground and background
+ colors are the same) or if it would cause no change in the
+ color of the index line, then the colors are flipped
+ instead.
+
+ Some people think this works particularly well if you use
+ different foreground colors to emphasize "interesting"
+ lines, but always with the same Normal background color,
+ and you use a different background color for the Reverse
+ Color.
+
+ reverse-bg-no-ambiguity
+ As with the "reverse-fg" case, the "reverse-bg" rule may
+ also result in a color which is exactly the same as the
+ regular Reverse Color. Setting the option to this value
+ removes that ambiguity. It is the same as the "reverse-bg"
+ setting unless the resulting current line has the same
+ color as the Reverse Color. In that case, the interesting
+ line's colors are simply flipped (like in the default
+ behavior).
+
+ _titlebar-color-style_
+ This option affects the colors used to display the titlebar (the
+ top line on the screen) when viewing a message.
+
+ The available options include:
+
+ default
+ The color of the titlebar will be the color you set for
+ the Title Color. The Title Color may be set by using the
+
+ indexline
+ The color of the titlebar will be the same as the color of
+ the index line corresponding to the message being viewed.
+ The rules which determine what color the index line will
+ be may be set up by going to the Setup/Rules/Indexcolor
+ screen. If the index line for a message is not colored
+ explicitly by the Indexcolor rules, then the titlebar will
+ be colored the same as for the "default" option above
+ (which is not the same color that the index line itself
+ will have).
+
+ reverse-indexline
+ This is similar to the "indexline" option except the
+ foreground and background colors from the corresponding
+ index line will be reversed. For example, if the index
+ line color is red letters on a white background, then the
+ titlebar will be white letters on a red background. If the
+ index line for a message is not colored explicitly by the
+ Indexcolor rules, then the titlebar will be colored the
+ same as for the "default" option above (which is not the
+ same color that the index line itself will have).
+
+ General Colors
+
+ _Normal Color_
+ This is the color which most of the screen is painted in. By
+ default this color is black characters on a white background.
+ _Reverse Color_
+ The color _Alpine_ uses for reverse video characters. Actually,
+ the name is misleading. This used to be reverse video and so the
+ name remains. It is still used to highlight certain parts of the
+ screen but the color may be set to whatever you'd like.
+ _Title Color_
+ The color _Alpine_ uses for the titlebar (the top line on the
+ screen). By default, the Title Color is black characters on a
+ yellow background. The actual titlebar color may be different
+ from the Title Color if the option titlebar-color-style is set
+ to some value other than the default. It may also be different
+ if the current folder is closed and the Title Closed Color is
+ set to something different from the Title Color.
+ _Title-closed Color_
+ The color _Alpine_ uses for the titlebar (the top line on the
+ screen) when the current folder is closed. By default, the Title
+ Color Closed Color is white characters on a red background.
+ _Status Color_
+ The color _Alpine_ uses for messages written to the status
+ message line near the bottom of the screen. By default, the
+ Status Color is the same as the Reverse Color.
+ _KeyLabel Color_
+ The color _Alpine_ uses for the labels of the commands in the
+ two-line menu at the bottom of the screen. The label is the long
+ name, for example, "PrevMsg". By default, the KeyLabel Color is
+ the same as the Normal Color.
+ WARNING: Some terminal emulators have the property that the
+ screen will scroll down one line whenever a character is written
+ to the character cell in the lower right corner of the screen.
+ _Alpine_ can usually avoid writing a character in that corner of
+ the screen. However, if you have defined a KeyLabel Color then
+ _Alpine_ does have to write a character in that cell in order to
+ color the cell correctly. If you find that your display
+ sometimes scrolls up a line this could be the problem. The most
+ obvious symptom is probably that the titlebar at the top of the
+ screen scrolls off the screen. Try setting KeyLabel Color to
+ Default to see if that fixes the problem.
+ _KeyName Color_
+ The color _Alpine_ uses for the names of the commands in the
+ two-line menu at the bottom of the screen. The KeyName is the
+ shorter name in the menu. For example, the "W" before the
+ "WhereIs". By default, the KeyName Color is the same as the
+ Normal Color.
+ _Selectable-item Color_
+ The color _Alpine_ uses for displaying selectable items, such as
+ URLs. By default, the Selectable-item Color is the same as the
+ Normal Color, except it is also Bold.
+ _Meta-message Color_
+ The color _Alpine_ uses in the MESSAGE TEXT screen for messages
+ to you that aren't part of the message itself. By default, the
+ Meta-Message Color is black characters on a yellow background.
+ _Quote Colors_
+ The colors _Alpine_ uses for coloring quoted text in the MESSAGE
+ TEXT screen. If a line begins with a > character (or space
+ followed by >) it is considered a quote. That line will be given
+ the Quote1 Color (first level quote). If there is a second level
+ of quoting then the Quote2 Color will be used. _Alpine_
+ considers there to be a second level of quoting if that first >
+ is followed by another > (or space followed by >). If there are
+ characters other than whitespace and > signs, then it isn't
+ considered another level of quoting. Similarly, if there is a
+ third level of quoting the Quote3 Color will be used. If there
+ are more levels after that the Quote Colors are reused. If you
+ define all three colors then it would repeat like Color1,
+ Color2, Color3, Color1, Color2, Color3, ... If you only define
+ the first two it would be Color1, Color2, Color1, Color2, ... If
+ you define only the Quote1 Color, then the entire quote would be
+ that color regardless of the quoting levels. By default, the
+ Quote1 Color is black characters on a greenish-blue background;
+ the Quote2 Color is black characters on a dull yellow
+ background; and the Quote3 Color is black characters on a green
+ background.
+ _Incoming Unseen Color_
+ If the option enable-incoming-folders-checking is turned on it
+ is possible to highlight the folders that contain unseen
+ messages by coloring them with this color. By default, this is
+ the same as the Normal Color and no highlighting is done.
+ Usually the "current" folder (the folder the cursor is on) is
+ highlighted using reverse video. If the current folder is
+ colored because it contains unseen messages then the color used
+ to show that it is also the current folder is controlled by the
+ current-indexline-style feature at the top of the SETUP COLOR
+ screen.
+ _Signature Color_
+ The color _Alpine_ uses for coloring the signature in the
+ MESSAGE TEXT screen. According to USENET conventions, the
+ signature is defined as the paragraph following the "sigdashes",
+ that is, the special line consisting of the three characters
+ "-- " (i.e., dash, dash, and space). _Alpine_ allows for one
+ empty line right after the sigdashes to be considered as part of
+ the signature. By default, the Signature Color is blue
+ characters on a white background.
+ _Prompt Color_
+ The color _Alpine_ uses for confirmation prompts and questions
+ which appear in the status message line near the bottom of the
+ screen. By default, the Prompt Color is the same as the Reverse
+ Color.
+
+ Index Colors
+
+ You may add color to the single character symbols which give the status
+ of each message in the MESSAGE INDEX. By default the characters "+",
+ "*", "D", "A", and "N" show up near the left hand side of the screen,
+ depending on whether the message is addressed to you, and whether the
+ message is marked Important, is Deleted, is Answered, or is New. You
+ may set the color of those symbols. By default, all of these symbols
+ are drawn with the same color as the rest of the index line they are a
+ part of.
+
+ Besides coloring the message status symbols, you may also color the
+ entire index line. This is done by using the Index Line Color
+ configuration screen. It is also possible to color (keywords in the
+ index using the Setup/Kolor screen (Keyword Colors); the ARROW cursor;
+ the Subject using Index Subject Color; the From using Index From Color;
+ and the Index Opening text.
+
+ _Index-to-me Symbol Color_
+ The color used for drawing the "+" symbol which signifies a
+ message is addressed directly to you.
+ _Index-important Symbol Color_
+ The color used for drawing the "*" symbol which signifies a
+ message has been flagged Important.
+ _Index-deleted Symbol Color_
+ The color used for drawing the "D" symbol which signifies a
+ message has been marked Deleted.
+ _Index-answered Symbol Color_
+ The color used for drawing the "A" symbol which signifies a
+ message has been answered.
+ _Index-new Symbol Color_
+ The color used for drawing the "N" symbol which signifies a
+ message is New.
+ _Index-recent Symbol Color_
+ The color used for drawing the "R" symbol which signifies a
+ message is Recent (only visible if the "IMAPSTATUS" or
+ "SHORTIMAPSTATUS" token is part of the index-format option).
+ _Index-unseen Symbol Color_
+ The color used for drawing the "U" symbol which signifies a
+ message is Unseen (only visible if the "IMAPSTATUS" or
+ "SHORTIMAPSTATUS" token is part of the Index-Format option).
+ _Index-priority Symbol Colors_
+ The colors used for drawing the tokens "PRIORITY",
+ "PRIORITYALPHA", and "PRIORITY!" when these are configured as
+ part of the Index-Format option. You may set the color used to
+ draw these tokens by use of the colors Index High Priority
+ Symbol Color and Index Low Priority Symbol Color. This coloring
+ takes place for all but the current index line, and the Priority
+ Color appears to be in front of any color from an Index Color
+ Rule. If the priority has a value of 1 or 2 the High Priority
+ color will be used, and if the value is 4 or 5 the Low Priority
+ color will be used.
+ If you don't set these colors the index line will be colored in
+ the same color as the bulk of the index line.
+ _Index-arrow Symbol Color_
+ The color used for drawing the "ARROW" token when it is
+ configured as part of the Index-Format option.
+ _Index-subject Symbol Color_
+ You may set the color used to draw the Subject part of the index
+ line. This coloring takes place for all but the current index
+ line, and the Subject Color appears to be in front of any color
+ from an Index Color Rule.
+ If you don't set this color it will be colored in the same color
+ as the bulk of the index line.
+ _Index-from Symbol Color_
+ You may set the color used to draw the From part of the index
+ line. This coloring takes place for all but the current index
+ line, and the From Color appears to be in front of any color
+ from an Index Color Rule.
+ If you don't set this color it will be colored in the same color
+ as the bulk of the index line.
+ _Index-opening Symbol Color_
+ It is possible to configure the Index-Format option so that it
+ includes the subject followed by the "opening" text of the
+ message if there is enough space. This is done by using one of
+ the tokens SUBJECTTEXT, SUBJKEYTEXT, or SUBJKEYINITTEXT. The
+ color used for drawing this opening text is given by this
+ option. The coloring happens for all but the current index line,
+ and this opening color appears to be in front of any color from
+ an Index Color Rule.
+ By default the Index Opening Color is gray characters on a white
+ background.
+
+ The default colors for these symbols are:
+
+ Index-to-me black on cyan
+ Index-important white on bright red
+ Index-deleted same as Normal Color
+ Index-answered bright red on yellow
+ Index-new white on magenta
+ Index-recent same as Normal Color
+ Index-unseen same as Normal Color
+
+ Header Colors
+
+ You may add color to the header fields in the MESSAGE TEXT screen. The
+
+ _Header-general Color_
+ may be used to color all of the headers of the message.
+
+ It is also possible to set the colors for specific header fields, for
+ example for the Subject or From fields, using the viewer-hdr-colors
+ option.
+
+ For Header Colors, there is an additional line on the configuration
+ screen labeled "Pattern to match". If you leave that blank, then the
+ whole field for that header will always be colored. However, if you
+ give a pattern to match, the coloring will only take place if there is
+ a match for that pattern in the value of the field. For example, if you
+ are working on a color for the Subject header and you fill in a pattern
+ of "important", then only Subjects which contain the word "important"
+ will be colored. For address fields like From or To, a pattern match
+ will cause only the addresses which match the pattern to be colored.
+
+ If the pattern you enter is a comma-separated list of patterns, then
+ coloring happens if any of those patterns matches.
+
+ Keyword Colors
+
+ Sets the colors _Alpine_ uses for Keyword fields in the MESSAGE INDEX
+ screen. Keywords may be displayed as part of the Subject of a message
+ by using the "SUBJKEY" or "SUBJKEYINIT" tokens in the Index-Format
+ option. Keywords may also be displayed in a column of their own in the
+ MESSAGE INDEX screen by using the "KEY" or "KEYINIT" tokens.
+
+ For example, you might have set up a Keyword "Work" using the Keywords
+ option in the Setup/Config screen. You could cause that Keyword to show
+ up as a special color by setting up the Keyword Color using this
+ option, and then including it in the MESSAGE INDEX screen using one of
+ the tokens listed above in the Index-Format.
+
+ Index Line Colors
+
+ You may color whole index lines by using roles. This isn't configured
+ in the Setup Colors screen, but is configured in the Setup Rules
+ IndexColor screen.
+
+Index Line Color Configuration
+
+ Index Line Color causes lines in the MESSAGE INDEX screen to be
+ colored. This action is only available if your terminal is capable of
+ displaying color and color display has been enabled with the
+ Color-Style option. (In PC-Alpine, color is always enabled so there is
+ no option to turn on.)
+
+ Each rule has a "Pattern", which is used to decide which of the rules
+ is used; and the color which is used if the Pattern matches a
+ particular message.
+
+ Rule Patterns
+
+ In order to determine whether or not a message matches a rule the
+ message is compared with the rule's Pattern. These Patterns are the
+ same for use with Roles, Filtering, Index Coloring, Scoring, Other
+ Rules, and Search Rules, so are described in only one place, "here".
+
+ Index Line Color
+
+ This is the color that index lines are colored when there is a matching
+ Pattern. This colors the whole index line, except possibly the status
+ letters which may be colored separately using the Setup Kolor screen.
+
+Role Configuration
+
+ You may play different roles depending on who you are replying to. For
+ example, if you are replying to a message addressed to _help-desk_ you
+ may be acting as a Help Desk Worker. That role may require that you use
+ a different return address and/or a different signature.
+
+ Roles are optional. If you set up roles they work like this: Each role
+ has a set of "Uses", which indicate whether or not a role is eligible
+ to be considered for a particular use; a "Pattern", which is used to
+ decide which of the eligible roles is used; and a set of "Actions",
+ which are taken when that role is used. When you reply to a message,
+ the message you are replying to is compared with the Patterns of the
+ roles marked as eligible for use when replying. The comparisons start
+ with the first eligible role and keep going until there is a match. If
+ a match is found, the matching role's Actions are taken.
+
+ It is also possible to set a default role and to change that role
+ during your _Alpine_ session. When you start _Alpine_ no default role
+ will be set. You may set or change the current default role by using
+ the "D" command in the role selection screen. You'll see that screen
+ while composing a message and being asked to select a role. An easy way
+ to get to that screen is to use the Role Command to compose a message.
+ You may find a default role useful if you normally perform the duties
+ of one of your roles for a while, then you switch to another role and
+ stay in the new role for another period of time. It may be easier than
+ using the Role Command to select the role each time you compose a
+ message.
+
+ Role Uses
+
+ There are three types of use to be configured; one for Replying, one
+ for Forwarding, and one for Composing. These indicate whether or not
+ you want a role to be considered when you type the Reply, Forward, or
+ Compose commands. (The Role command is an alternate form of the Compose
+ command, and it is not affected by these settings.) Each of these Use
+ types has three possible values. The value "Never" means that the role
+ will never be considered as a candidate for use with the corresponding
+ command. For example, if you set a role's Reply Use to Never, then when
+ you Reply to a message, the role won't even be considered. (That isn't
+ quite true. If the message you are replying to matches some other role
+ which requires confirmation, then there will be a ^T command available
+ which allows you to select a role from all of your roles, not just the
+ reply-eligible roles.)
+
+ The options "With confirmation" and "Without confirmation" both mean
+ that you do want to consider this role when using the corresponding
+ command. For either of these settings the role's Pattern will be
+ checked to see if it matches the message. For Reply Use, the message
+ used to compare the Patterns with is the message being replied to. For
+ Forward Use, the message used to compare the Pattern with is the
+ message being forwarded. For Compose Use, there is no message, so the
+ parts of the Pattern which depend on a message (everything other than
+ Current Folder Type) are ignored. In all cases, the Current Folder is
+ checked if defined. If there is a match then this role will either be
+ used without confirmation or will be the default when confirmation is
+ asked for, depending on which of the two options is selected. If
+ confirmation is requested, you will have a chance to choose No Role
+ instead of the offered role, or to change the role to any one of your
+ other roles (with the ^T command).
+
+ Role Patterns
+
+ In order to determine whether or not a message matches a role the
+ message is compared with the Role Pattern. These Patterns are the same
+ for use with Roles, Filtering, Index Coloring, Scoring, Other Rules,
+ and Search Rules, so are described in only one place, "here".
+
+ Since header patterns, AllText patterns, and BodyText patterns which
+ are unset are ignored, a role which has all header patterns unset, the
+ AllText pattern unset, the BodyText pattern unset, the Score Interval
+ unset, and the Current Folder Type set to "Any" may be used as a
+ default role. It should be put last in the list of roles since the
+ matching starts at the beginning and proceeds until one of the roles is
+ a match. If no roles at all match, then _Alpine_ will use its regular
+ methods of defining the role. If you wanted to, you could define a
+ different "default" role for Replying, Forwarding, and Composing by
+ setting the "Use" fields appropriately.
+
+ Role Actions
+
+ Once a role match is found, the role's Actions are taken. For each role
+ there are several possible actions that may be defined. They are
+ actions to set the From address, the Reply-To address, the Fcc, the
+ Signature file, and the Template file.
+
+ Initialize Settings Using Role
+
+ This is a power user feature. You will usually want to leave this field
+ empty. The value of this field is the nickname of another one of your
+ roles. The Action values from that other role are used as the initial
+ values of the Action items for this role. If you put something in any
+ of the action fields for this role, that will override whatever was in
+ the corresponding field of the initializer role.
+
+ You might use this field if the "Action" part of one of your roles is
+ something you want to use in more than one role. Instead of filling in
+ those action values again for each role, you may give the nickname of
+ the role where the values are filled in. It's just a shortcut way to
+ define Role Actions.
+
+ Here's an example to help explain how this works. Suppose you have a
+ role with nickname "role1" and role1 has (among other things)
+
+ Set Reply-To = The Pres <president@example.com>
+
+ set. If in "role2" you set "Initialize settings using role" to "role1",
+ then role2 will inherit the Set Reply-To value from role1 by default
+ (and any of the other inheritable action values that are set). So if
+ role2 had
+
+ Set Reply-To = <No Value Set>
+
+ defined, the Reply-To used with role2 would be "The Pres
+ <president@example.com>" However, if role2 had
+
+ Set Reply-To = VP <vicepresident@example.com>
+
+ defined, then the Reply-To used with role2 would be "VP
+ <vicepresident@example.com>" instead.
+
+ If you wish, you may choose a nickname from your list of roles by using
+ the "T" command. If the role you are using to initialize also has a
+ role it initializes from, then that initialization happens first. That
+ is, inheritance works as expected with the grandparent and
+ great-grandparent (and so on) roles having the expected effect.
+
+ Set From
+
+ This field consists of a single address which will be used as the From
+ address on the message you are sending. This should be a
+ fully-qualified address like
+
+ Full Name <user@domain>
+
+ or just
+
+ user@domain
+
+ If this is left blank, then the normal From address will be used.
+
+ Set Reply-To
+
+ The Reply-To address is the address used on the Reply-To line of the
+ message you are sending. You don't need a Reply-To address unless it is
+ different from the From address. This should be a fully-qualified
+ address like
+
+ Full Name <user@domain>
+
+ or just
+
+ user@domain
+
+ If this is left blank, then there won't be a Reply-To address unless
+ you have configured one specially with the customized-hdrs
+ configuration option.
+
+ Set Other-Hdrs
+
+ This field gives you a way to set values for headers besides "From" and
+ "Reply-To". If you want to set either of those, use the specific "Set
+ From" and "Set Reply-To" settings.
+
+ This field is similar to the customized-hdrs option. Each header you
+ specify here must include the header tag ("To:", "Approved:", etc.) and
+ may optionally include a value for that header. In order to see these
+ headers when you compose using this role you must use the rich header
+ command. Here's an example which shows how you might set the To
+ address.
+
+ Set Other Hdrs = To: Full Name <user@domain>
+
+ Headers set in this way are different from headers set with the
+ customized-hdrs option in that the value you give for a header here
+ will replace any value that already exists. For example, if you are
+ Replying to a message there will already be at least one address in the
+ To header (the address you are Replying to). However, if you Reply
+ using a role which sets the To header, that role's To header value will
+ be used instead. The customized-hdrs headers are defaults.
+
+ Limitation: Because commas are used to separate the list of Other
+ Headers, it is not possible to have the value of a header contain a
+ comma; nor is there currently an "escape" mechanism provided to make
+ this work.
+
+ Set Fcc
+
+ This field consists of a single folder name which will be used in the
+ Fcc field of the message you are sending. You may put anything here
+ that you would normally type into the Fcc field from the composer.
+
+ In addition, an fcc of "" (two double quotation marks) means no Fcc.
+
+ A blank field here means that _Alpine_ will use its normal rules for
+ deciding the default value of the Fcc field. For many roles, perhaps
+ most, it may make more sense for you to use the other _Alpine_
+ facilities for setting the Fcc. In particular, if you want the Fcc to
+ depend on who you are sending the message to then the fcc-name-rule is
+ probably more useful. In that case, you would want to leave the Fcc
+ field here blank. However, if you have a role that depends on who the
+ message you are replying to was From, or what address that message was
+ sent to; then it might make sense to set the Fcc for that role here.
+
+ Set LiteralSig
+
+ This field contains the actual text for your signature, as opposed to
+ the name of a file containing your signature. If this is defined it
+ takes precedence over any value set in the _Set Signature_ field.
+
+ This is simply a different way to store the signature. The signature is
+ stored inside your Alpine configuration file instead of in a separate
+ signature file. Tokens work the same way they do with _Set Signature_.
+
+ The two character sequence \n (backslash followed by the character n)
+ will be used to signify a line-break in your signature. You don't have
+ to enter the \n, but it will be visible in the CHANGE THIS ROLE RULE
+ window after you are done editing the signature.
+
+ Set Signature
+
+ The Signature is the name of a file to be used as the signature file
+ when this role is being used. If the filename is followed by a vertical
+ bar (|) then instead of reading the contents of the file the file is
+ assumed to be a program which will produce the text to be used on its
+ standard output. The program can't have any arguments and doesn't
+ receive any input from _Alpine_, but the rest of the processing works
+ as if the contents came from a file.
+
+ Signature files may be stored remotely on an IMAP server. In order to
+ do that you just give the file a remote name. This works just like the
+ regular signature-file option which is configured from the
+ Setup/Configuration screen. A remote signature file name might look
+ like:
+
+ {myimaphost.myschool.k12.wa.us}mail/sig3
+
+ or, if you have an SSL-capable version of _Alpine_, you might try
+
+ {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/sig3
+
+ Once you have named the remote signature file you create its contents
+ by using the "F" "editFile" command when the cursor is on the "Set
+ Signature" line of the role editor.
+
+ Besides containing regular text, a signature file may also contain (or
+ a signature program may produce) tokens which are replaced with text
+ which depends on the message you are replying to or forwarding. The
+ tokens all look like _word_ (a word surrounded by underscores). For
+ example, if the token
+
+ _DATE_
+
+ is included in the text of the signature file, then when you reply to
+ or forward a message, the token will be replaced with the actual date
+ the message you are replying to or forwarding was sent.
+
+ If you use a role which has a signature file for a plain composition
+ (that is, not a reply or forward) then there is no original message, so
+ any tokens which depend on the message will be replaced with nothing.
+ So if you want a signature file to be useful for new compositions it
+ shouldn't include any of the tokens which depend on the message being
+ replied to or forwarded.
+
+ The list of available tokens is here.
+
+ Actually, for the adventurous, there is a way to conditionally include
+ text based on whether or not a token would result in specific
+ replacement text. For example, you could include some text based on
+ whether or not the _NEWS_ token would result in any newsgroups if it
+ was used. It's explained in detail here.
+
+ In the very unlikely event that you want to include a literal token in
+ a signature file, you must precede it with a backslash character. For
+ example, to include the literal text _DATE_ you must actually use
+ \_DATE_. It is not possible to have a literal backslash followed by an
+ expanded token.
+
+ A blank field here means that _Alpine_ will use its normal rules for
+ deciding which file (if any) to use for the signature file.
+
+ Set Template
+
+ A Template is the name of a file to be included in the message when
+ this role is being used. The template file is a file which is included
+ at the top of the message you are composing.
+
+ If the filename is followed by a vertical bar (|) then instead of
+ reading the contents of the file the file is assumed to be a program
+ which will produce the text to be used on its standard output. The
+ program can't have any arguments and doesn't receive any input from
+ _Alpine_, but the rest of the processing works as if the contents came
+ from a file.
+
+ Template files may be stored remotely on an IMAP server. In order to do
+ that you just give the file a remote name. This works just like the
+ regular signature-file option which is configured from the
+ Setup/Configuration screen. A remote template file name might look
+ like:
+
+ {myimaphost.myschool.k12.wa.us}mail/templ3
+
+ or, if you have an SSL-capable version of _Alpine_, you might try
+
+ {myimaphost.myschool.k12.wa.us/user=loginname/ssl}mail/templ3
+
+ Once you have named the remote template file you create its contents by
+ using the "F" "editFile" command when the cursor is on the "Set
+ Template" line of the role editor.
+
+ Besides containing regular text, a template file may also contain (or a
+ template file program may produce) tokens which are replaced with text
+ which depends on the message you are replying to or forwarding. The
+ tokens all look like _word_ (a word surrounded by underscores). For
+ example, if the token
+
+ _DATE_
+
+ is included in the text of the template file, then when you reply to or
+ forward a message, the token will be replaced with the actual date the
+ message you are replying to or forwarding was sent.
+
+ If you use a role which has a template file for a plain composition
+ (that is, not a reply or forward) then there is no original message, so
+ any tokens which depend on the message will be replaced with nothing.
+ So if you want a template file to be useful for new compositions it
+ shouldn't include any of the tokens which depend on the message being
+ replied to or forwarded.
+
+ The list of available tokens is here.
+
+ Actually, for the adventurous, there is a way to conditionally include
+ text based on whether or not a token would result in specific
+ replacement text. For example, you could include some text based on
+ whether or not the _NEWS_ token would result in any newsgroups if it
+ was used. It's explained in detail here.
+
+ In the very unlikely event that you want to include a literal token in
+ a template file, you must precede it with a backslash character. For
+ example, to include the literal text _DATE_ you must actually use
+ \_DATE_. It is not possible to have a literal backslash followed by an
+ expanded token.
+
+ A blank field here means that _Alpine_ will not use a template file
+ when this role is being used.
+
+ Use SMTP Server
+
+ If this field has a value, then it will be used as the SMTP server to
+ send mail when this role is being used (unless the SMTP server variable
+ is set in the system-wide fixed configuration file). It has the same
+ semantics as the smtp-server variable in the Setup/Config screen. When
+ you postpone the composition this SMTP server list will be saved with
+ the postponed composition and it cannot be changed later. Because of
+ that, you may want to make this a list of SMTP servers with the
+ preferred server at the front of the list and alternate servers later
+ in the list.
+
+ If any of the actions are left unset, then the action depends on what
+ is present in the "Initialize settings using role" field. If you've
+ listed the nickname of another one of your roles there, then the
+ corresponding action from that role will be used here. If that action
+ is also blank, or if there is no nickname specified, then _Alpine_ will
+ do whatever it normally does to set these actions. This depends on
+ other configuration options and features you've set.
+
+Filtering Configuration
+
+ The software which actually delivers mail (the stuff that happens
+ before _Alpine_ is involved) for you is in a better position to do mail
+ filtering than _Alpine_ itself. If possible, you may want to look into
+ using that sort of mail filtering to deliver mail to different folders,
+ delete it, or forward it. However, if you'd like _Alpine_ to help with
+ this, _Alpine_'s filtering is for you.
+
+ Filtering is a way to automatically move certain messages from one
+ folder to another or to delete messages. It can also be used to set
+ message status bits (Important, Deleted, New, Answered). _Alpine_
+ doesn't have the ability to forward mail to another address.
+
+ Each filtering rule has a "Pattern" and a "Filter Action". When a
+ folder is opened, when new mail arrives in an open folder, or when mail
+ is Expunged from a folder; each message is compared with the Patterns
+ of your filtering rules. The comparisons start with the first rule and
+ keep going until there is a match. If a match is found, the message may
+ be deleted or moved, depending on the setting of the Filter Action. If
+ the message is not deleted, it may have its status altered.
+
+ For efficiency, each message is usually only checked once. When new
+ mail arrives, the new messages are checked but not the old. There are
+ some exceptions to this rule. The expunge command will cause all
+ messages to be rechecked, as will editing of the filtering rules.
+
+ _NOTE:_ When setting up a Pattern used to delete messages, it is
+ recommended that you test the Pattern first with a "Move" folder
+ specified in case unintended matches occur. Messages that are deleted
+ will be removed from the folder and _unrecoverable_ from within _Alpine_
+ after the next Expunge command or once the folder being filtered has
+ been closed.
+
+ Filter Patterns
+
+ In order to determine whether or not a message matches a filter the
+ message is compared with the Filter's Pattern. These Patterns are the
+ same for use with Roles, Filtering, Index Coloring, Scoring, Other
+ Rules, and Search Rules, so are described in only one place, "here".
+
+ Since filtering is a potentially destructive action, if you have a
+ filtering Pattern with nothing other than Current Folder Type set, that
+ filtering rule is ignored.
+
+ Filter Actions
+
+ Once a filter match is found for a particular message, there are some
+ actions which may be taken. First, the message may have its status
+ changed. This is the same message status that you can manipulate
+ manually using the Flag Command. There are four elements of message
+ status that you can control. You can set or clear the Important status,
+ the New status, the Deleted status, and the Answered status. Of course,
+ if the filter is going to delete the message, then there is no point in
+ setting message status. You may also set or clear user-defined keywords
+ for a message.
+
+ Second, the filter may delete or move the message. Deleting the message
+ marks it Deleted and removes it from view. It is effectively gone
+ forever (though it technically is still there until the next expunge
+ command, which may happen implicitly). Moving the message moves it from
+ the open folder into the folder listed on the "Folder List" line of the
+ filter configuration. If you list more than one folder name (separated
+ by commas) then the message will be copied to each of those folders. In
+ any case, if "Delete" or "Move" is set then the message is removed from
+ the current folder. If you just want to set the messages status without
+ deleting it from the folder, then set the filter action to "Just Set
+ Message Status".
+
+ (There is no way to do a Copy instead of a Move, due to the
+ difficulties involved in keeping track of whether or not a message has
+ already been copied by a previous _Alpine_ session.)
+
+ Move-only-if-not-deleted option
+
+ If you have specified a Move to Folder to filter messages into, then
+ this option has an effect. If this option is set then messages will
+ only be moved into the specified folder if they aren't already marked
+ deleted. This might be useful if you have more than one _Alpine_
+ session running simultaneously and you don't want messages to be
+ filtered into a folder more than once. This method is not foolproof.
+ There may be cases where a message gets marked deleted and so it is
+ never filtered into the folder. For example, if you deleted it in
+ another _Alpine_ or another mail program that didn't know about the
+ filtering rule.
+
+ This option has no effect if the Filter Action is not set to Move.
+
+ Dont-quit-even-if-rule-matches option
+
+ If this option is set then this is a non-terminating rule. Usually, for
+ each message, _Alpine_ searches through the filter rules until a match
+ is found and then it performs the action associated with that rule.
+ Rules following the match are not considered. If this option is set
+ then the search for matches will continue at the next rule.
+
+ If a non-terminating rule matches then the actions associated with that
+ rule, except for any implied deletion of the message, are performed
+ before the match for the next rule is checked. For example, if the
+ non-terminating rule sets the Important status, then that status will
+ be set when the next rule is considered. However, if the
+ non-terminating rule Moves the message, the message will actually be
+ copied instead of copied and deleted so that it is still there for the
+ next rule. A moved message is deleted after all the relevant rules have
+ been checked. The name of the "Move" action is confusing in this case
+ because a single message can be moved to more than one folder. It turns
+ the Move into a Copy instead, but it is still followed by a deletion at
+ the end.
+
+ This option may be useful if you want to have a single message filtered
+ to two different folders because it matches two different Patterns. For
+ example, suppose you normally filter messages to a particular mailing
+ list into one folder, and messages addressed directly to you into a
+ second folder. If a message is sent to both you and the list (and you
+ can tell that by looking at the headers of the message) this option may
+ give you a convenient way to capture a copy to each folder. (It may
+ also cause you to capture two copies to each folder, depending on
+ whether your mail system delivers one or two copies of the message to
+ you and on how the list works.)
+
+Scoring Configuration
+
+ Most people will not use scores at all, but if you do use them, here's
+ how they work in Alpine. Using this screen, you may define Scoring
+ rules. The score for a message is calculated by looking at every Score
+ rule defined and adding up the Score Values for the ones which match
+ the message. If there are no matches for a message, it has a score of
+ zero. Message scores may be used a couple of ways in Alpine.
+
+ Sorting by Score
+
+ One of the methods you may use to sort message indexes is to sort by
+ score. The scores of all the messages in a folder will be calculated
+ and then the index will be ordered by placing the messages in order of
+ ascending or descending score.
+
+ Scores for use in Patterns
+
+ The Patterns used for Roles, Index Line Coloring, and Filtering have a
+ category labeled "Score Interval". When a message is being compared
+ with a Pattern to check for a match, if the Score Interval is set only
+ messages which have a score somewhere in the interval are a match.
+
+ Scoring Rule Patterns
+
+ In order to determine whether or not a message matches a scoring rule
+ the message is compared with the rule's Pattern. These Patterns are the
+ same for use with Roles, Filtering, Index Coloring, Scoring, Other
+ Rules, and Search Rules, so are described in only one place, "here".
+
+ Actually, Scoring rule Patterns are slightly different from the other
+ types of Patterns because Scoring rule Patterns don't contain a Score
+ Interval. In other words, when calculating the score for a message,
+ which is done by looking at the Scoring rule Patterns, scores aren't
+ used.
+
+ Score Value
+
+ This is the value that will be added to the score for a message if the
+ rule's Pattern is a match. Each individual Score Value is an integer
+ between -100 and 100, and the values from matching rules are added
+ together to get a message's score. There is also a way to extract the
+ value from a particular header of each message. See the help text for
+ Score Value for further information.
+
+Other Rules Configuration
+
+ Using this screen, you may define configuration Rules which don't fit
+ nicely into the other Rules categories.
+
+ Other Rule Patterns
+
+ Other Rules are a little different from the rest of the Rules because
+ they depend only on the current folder, and not on a particular
+ message. In order to determine whether or not a rule's actions should
+ be applied the current folder is compared with the rule's Pattern,
+ which consists of only the Current Folder Type. Current Folder Type
+ works the same for Other Rules as it does for Roles, Filtering, Index
+ Coloring, and Scoring. Keep in mind that the only part of the Pattern
+ which applies to Other Rules is the Current Folder Type when looking at
+ the description of Patterns given "here".
+
+ Other Rule Actions
+
+ Once a pattern match is found, the rule's Actions are taken. Neither of
+ the following two rule's depends on a message for its match. That means
+ that all the parts of the Pattern which depend on matching an attribute
+ of a message are ignored. So the only part of the Pattern that matters
+ for these Actions is the Current Folder Type.
+
+ Set Sort Order
+
+ When you enter a new folder, these rules will be checked to see if you
+ have set a sort order which is different from your default sort order.
+ The default is set in the Setup/Config screen with the Sort-Key option.
+ If the Sort Order action is set, then the folder will be displayed
+ sorted in that sort order instead of in the default order.
+
+ A possible point of confusion arises when you change the configuration
+ of the Sort Order for the currently open folder. The folder will
+ normally be re-sorted when you go back to viewing the index. However,
+ if you have manually sorted the folder with the Sort command, it will
+ not be re-sorted.
+
+ Set Index Format
+
+ When you enter a new folder, these rules will be checked to see if you
+ have set an Index Format which is different from your default Index
+ Format, which is set with the Index-Format option. If so, the index
+ will be displayed with this format instead of the default.
+
+ Set Startup Rule
+
+ When you enter a new folder, these rules will be checked to see if you
+ have set a startup rule which is different from the default startup
+ rule. The default for incoming folders is set in the Setup/Config
+ screen with the "incoming-startup-rule" option. The default for folders
+ other than INBOX that are not part of your incoming collection (see
+ enable-incoming-folders feature) is to start with the last message in
+ the folder. If the Startup Rule is set to something other than
+ "default", then the rule will determine which message will be the
+ current message when the folder is first opened.
+
+ The various startup rule possibilities work the same here as they do in
+ the incoming collection, except that the folder can be any specific
+ folder or any folder type.
+
+Search Rules Configuration
+
+ One of the commands that becomes available when that feature is turned
+ on is the "; Select" command, which is used in the MESSAGE INDEX screen
+ to select a set of messages. One way of selecting messages is to use a
+ Rule. All of the messages which match (or don't match if you wish) a
+ Rule's Pattern will be selected.
+
+ Any of your Rules may be used for this purpose. You might already have
+ Rules set up for filtering, index line color, scores, or roles; and you
+ may use any of those Rules with the Select command. However, you might
+ find it more convenient to set up a separate set of Rules just for this
+ purpose without having to worry about what other effects they may
+ cause. That is the purpose of these Select Rules.
+
+ Rule Patterns
+
+ In order to determine whether or not a message is selected by a rule
+ the message is compared with the rule's Pattern. These Patterns are the
+ same for use with Roles, Filtering, Index Coloring, Scoring, Other
+ Rules, and Search Rules, so are described in only one place, "here".
+
+ There is no action associated with these Search Rules. Only their
+ Patterns are used.
+
+Patterns
+
+ Patterns are used with Roles, Filtering, Index Coloring, Scoring, Other
+ Rules, and Search Rules. Patterns are compared with a message to see if
+ there is a match. For Filtering, the messages being checked are all the
+ messages in the folder, one at a time. For Index Line Coloring, each
+ message that is visible on the screen is checked for matches with the
+ Index Coloring Patterns. Roles are used with the Reply, Forward, and
+ Compose commands. For Reply, the message used to compare the Pattern
+ with is the message being replied to; for Forward, the message used to
+ compare the Pattern with is the message being forwarded; and for
+ Compose, there is no message, so the parts of the Pattern which depend
+ on a message (everything other than Current Folder Type and the
+ Beginning of Month and Year) are not used. Only the Current Folder Type
+ matters for Compose (plus the Beginning of Month or Year, which you
+ wouldn't usually use for a Role). For Scoring, the message being scored
+ is compared with all of the Score Patterns, and the Score Values from
+ the ones that match are added together to get the message's score. For
+ Other Rules, there is no message. Only the Current Folder Type is
+ checked for Other Rules.
+
+ Each Pattern has several possible parts, all of which are optional. In
+ order for there to be a match, _ALL_ of the _defined_ parts of the
+ Pattern must match the message. If a part is not defined it is
+ considered a match. For example, if the To pattern is not defined it
+ will be displayed as
+
+ To pattern = <No Value Set>
+
+ That is considered a match because it is not defined. This means that
+ the Pattern with nothing defined is a match if the Current Folder Type
+ matches, but there is an exception. Because filtering is a potentially
+ destructive action, filtering Patterns with nothing other than Current
+ Folder Type defined are ignored. If you really want a filtering Pattern
+ to match all messages (subject to Current Folder Type) the best way to
+ do it is to define a Score interval which includes all possible scores.
+ This would be the score interval (-INF,INF). This can be used even if
+ you haven't defined any rules to Set Scores.
+
+ There are six predefined header patterns called the To, From, Sender,
+ Cc, News, and Subject patterns. Besides those six predefined header
+ patterns, you may add additional header patterns with header fieldnames
+ of your choosing. You add an extra header pattern by placing the cursor
+ on one of the patterns while in the role editor and using the
+ "eXtraHdr" command. The Recip pattern is a header pattern which stands
+ for Recipient (To OR Cc) and the Partic pattern is a header pattern
+ which stands for Participant (From OR To OR Cc). (Defining the Recip
+ pattern does not have the same effect as defining both the To and Cc
+ patterns. Recip is To _OR_ Cc, not To _AND_ Cc.) Similar to the header
+ patterns are the AllText pattern and the BodyText pattern. Instead of
+ comparing this pattern's text against only the contents of a particular
+ header field, the text for the AllText pattern is compared with text
+ anywhere in the message's header or body, and the text for the BodyText
+ pattern is compared with text anywhere in the message's body.
+
+ Any of the header patterns, the AllText pattern, or the BodyText
+ pattern may be negated with the "!" "toggle NOT" command. You can tell
+ that _NOT_ has been turned on by looking for the character "!" at the
+ beginning of the pattern line. When the "!" is present, it reverses the
+ meaning of the match. That is, if the pattern matches then it is
+ considered to NOT be a match, and if it does not match it is considered
+ to be a match.
+
+ Don't make the mistake of putting the "!" in the data field for a
+ pattern. For example, if you type the characters "!urgent" into the
+ Subject pattern, the pattern will look like:
+
+ Subject pattern = !urgent
+
+ This means you want to match the 7 character sequence "!urgent". In
+ order to match messages which do not have "urgent" in their Subject
+ field, first type the characters "urgent" followed by carriage return
+ for the value of the Subject pattern, then negate it by typing the "!"
+ command. It should look like
+
+ ! Subject pattern = urgent
+
+ The contents of each of these header patterns (or the AllText or
+ BodyText patterns) may be a complete email address, part of an address,
+ or a random set of characters to match against. It may also be a list
+ of such patterns, which means you are looking for a match against the
+ first pattern in the list _OR_ the second pattern _OR_ the third and so
+ on. For example, a Subject pattern equal to
+
+ Subject pattern = urgent
+ emergency
+ alert
+
+ would match all messages with a subject which contained at least one of
+ those words. It would also match subjects containing the words "alerts"
+ or "Urgently".
+
+ The same example with "NOT" turned on would be
+
+ ! Subject pattern = urgent
+ emergency
+ alert
+
+ which would match all messages with a subject which did NOT contain any
+ of those words. You can use the "Add Value" command to add new words to
+ the list, or you can enter them as a comma-separated list.
+
+ (It is not possible to specify two patterns which must _BOTH_ be
+ present for a match. It is only possible to specify that _EITHER_
+ pattern1 _OR_ pattern2 must be present, and that is exactly what using
+ a list does.)
+
+ The "Current Folder Type" and the "Score Interval" are also part of the
+ Pattern, although the "Score Interval" is not used when checking for
+ matches for Scoring. There are five similar settings which relate to
+ the status of the message. These settings rely on the message being New
+ or not, Deleted or not, Answered or not, Important or not, and Recent
+ or not. There are also some other miscellaneous settings. The first is
+ the Age of the message in days. Another is the Size of the message in
+ bytes. The third is a setting which detects whether or not the Subject
+ of a message contains raw 8-bit characters (unencoded characters with
+ the most significant bit set). There is a setting which detects whether
+ or not this is the first time _Alpine_ has been run this month (doesn't
+ depend on individual messages), and another which detects whether or
+ not this is the first time _Alpine_ has been run this year. Other parts
+ of the Pattern detect whether or not the From address of a message
+ appears in your address book, whether or not certain keywords are set
+ for a message, and whether or not certain character sets are used in a
+ message.
+
+ Parts of a Pattern
+
+ Header patterns
+
+ A header pattern is simply text which is searched for in the
+ corresponding header field. For example, if a Pattern has a From header
+ pattern with the value "@company.com", then only messages which have a
+ From header which contains the text "@company.com" will be possible
+ matches. Matches don't have to be exact. For example, if the relevant
+ field of a message contains the text "mailbox@domain" somewhere in it,
+ then header patterns of "box", or "x@d", or "mailbox@domain" are all
+ matches.
+
+ All parts of the Pattern must match so, for example, if a message
+ matches a defined From pattern, it still must be checked against the
+ other parts of the Pattern which have been defined. The To header
+ pattern is a slightly special case. If the message being checked has a
+ Resent-To header and the feature Use-Resent-To-in-Rules is turned on,
+ the addresses there are used in place of the addresses in the To
+ header. This is only true for the To header. Resent-cc and Resent-From
+ headers are never used unless you add them with the eXtraHdrs command.
+
+ The meaning of a header pattern may be negated with the "!" "toggle
+ NOT" command. You can tell that _NOT_ has been turned on by looking for
+ the character "!" at the beginning of the pattern line. It would look
+ something like
+
+ ! From pattern = susan@example.com
+
+ When the "!" is present, it reverses the meaning of the match.
+
+ If you want to check for the presence of a header field but don't care
+ about its value, then the empty pattern which you get by entering a
+ pair of double quotes ("") should match any message which has the
+ corresponding header field.
+
+ AllText patterns
+
+ AllText patterns are just like header patterns except that the text is
+ searched for anywhere in the message's headers or body, not just in the
+ contents of a particular header field.
+
+ BodyText patterns
+
+ BodyText patterns are just like header patterns except that the text is
+ searched for anywhere in the message's body, not just in the contents
+ of a particular header field.
+
+ If there is more than one header pattern or AllText pattern or BodyText
+ pattern for which you want to take the same action there is a shorthand
+ notation which may be used. Any of these patterns may be a list of
+ patterns instead of just a single pattern. If any one of the patterns
+ in the list matches the message then it is considered a match. For
+ example, if "company1" and "company2" both required you to use the same
+ role when replying to messages, you might have a To pattern which looks
+ like
+
+ To pattern = company1.com
+ company2.com
+
+ This means that if the mail you are replying to was addressed to either
+ "anything@company1.com" or "anything@company2.com", then this Pattern
+ is a match and the same actions will be taken.
+
+ The meaning of an AllText or BodyText pattern may be negated with the
+ "!" "toggle NOT" command. You can tell that _NOT_ has been turned on by
+ looking for the character "!" at the beginning of the pattern line.
+ When the "!" is present, it reverses the meaning of the match.
+
+ A technicality: Since comma is the character used to separate multiple
+ values in any of the fields which may have multiple values (such as
+ header patterns, AllText patterns, BodyText patterns, keywords, folder
+ lists, and so on), you must escape comma with a backslash (\) if you
+ want to include a literal comma in one of those fields. In other words,
+ if you type a backslash followed by a comma it will be interpreted as a
+ comma by _Alpine_, instead of as a separator between pattern values.
+ All other backslashes (those not followed by a comma) are literal
+ backslashes and should not be escaped. It's unlikely you'll ever need
+ to enter a literal comma or backslash in any of the patterns.
+
+ Current Folder Type
+
+ The "Current Folder Type" may be set to one of four different values:
+ "Any", "News", "Email", or "Specific". If the value is set to "News",
+ then the Pattern will only match if the currently open folder is a
+ newsgroup. The value "Email" only matches if the current folder is not
+ news and the value "Any" causes any folder to match. If the value of
+ "Current Folder Type" is set to "Specific", then you must fill in a
+ value for "Folder", which is on the line below the "Specific" line. In
+ this case you will only get a match if the currently open folder is the
+ specific folder you list. You may give a list of folders instead of
+ just a single folder name, in which case the Pattern will match if the
+ open folder is any one of the folders in the list. The name of each
+ folder in the list may be either "INBOX", the technical specification
+ of the folder (like what appears in your configuration file) or, if the
+ folder is one of your incoming folders, it may be the nickname you've
+ given the folder. Here are some samples of specific folder names:
+
+ {monet.art.example.com}mail/art-class
+
+ {news.example.com/nntp}#news.comp.mail.pine
+
+ mail/local-folder
+
+ The easiest way to fill in the "Folder" field is to use the "T" command
+ which is available when the "Folder" line is hilighted, or to use the
+ "Take" command with the configuration feature "enable-rules-under-take"
+ turned on.
+
+ When reading a newsgroup, there may be a performance penalty incurred
+ when collecting the information necessary to check whether or not a
+ Pattern matches a message. For this reason, the default Current Folder
+ Type is set to "Email". If you have Patterns with a Current Folder Type
+ of either "Any" or "News" and those Patterns are used for Index Line
+ Coloring or Scoring, you may experience slower screen redrawing in the
+ MESSAGE INDEX screen when in a newsgroup.
+
+ Age Interval
+
+ The "Age Interval" may be set to an interval of message ages which
+ should be considered a match. Like the other parts of the Pattern, if
+ it is unset it will be ignored. The Age Interval looks like
+
+ (min_age,max_age)
+
+ where "min_age" and "max_age" are integers greater than or equal to
+ zero. The special value "INF" may be used for the max value. It
+ represents infinity.
+
+ Actually, this option may be defined as a list of intervals instead of
+ just a single interval. The list is separated by commas. It can look
+ like
+
+ (min_age1,max_age1),(min_age2,max_age2),...
+
+ When there is an Age Interval defined, it is a match if the age, in
+ days, of the message is contained in any of the intervals. The
+ intervals include both endpoints.
+
+ Even though this option is called Age, it isn't actually the _age_ of
+ the message. Instead, it is how many days ago the message arrived in
+ one of your folders. If the current time is a little past midnight,
+ then a message that arrived just before midnight arrived yesterday,
+ even though the message is only a few minutes old. By default, the date
+ being used is not the date in the Date header of the message. It is the
+ date that the message arrived in one of your folders. When you Save a
+ message from one folder to another that arrival date is preserved. If
+ you would like to use the date in the Date header that is possible.
+ Turn on the option _use-date-header-for-age_ near the bottom of the
+ rule definition.
+
+ A value of 0 is today, 1 is yesterday, 2 is the day before yesterday,
+ and so on.
+
+ Size Interval
+
+ The "Size Interval" may be set to an interval of message sizes which
+ should be considered a match. Like the other parts of the Pattern, if
+ it is unset it will be ignored. The Size Interval looks like
+
+ (min_size,max_size)
+
+ where "min_size" and "max_size" are integers greater than or equal to
+ zero. The special value "INF" may be used for the max value. It
+ represents infinity.
+
+ Actually, this option may be defined as a list of intervals instead of
+ just a single interval. The list is separated by commas. It can look
+ like
+
+ (min_size1,max_size1),(min_size2,max_size2),...
+
+ When there is a Size Interval defined, it is a match if the size, in
+ bytes, of the message is contained in any of the intervals. The
+ intervals include both endpoints.
+
+ Score Interval
+
+ The "Score Interval" may be set to an interval of message scores which
+ should be considered a match. Like the other parts of the Pattern, if
+ it is unset it will be ignored. The Score Interval looks like
+
+ (min_score,max_score)
+
+ where "min_score" and "max_score" are integers between -32000 and
+ 32000. The special values "-INF" and "INF" may be used for the min and
+ max values to represent negative and positive infinity.
+
+ Actually, a list of intervals may be used if you wish. A list would
+ look like
+
+ (min_score1,max_score1),(min_score2,max_score2),...
+
+ When there is a Score Interval defined, it is a match if the score for
+ the message is contained in any of the intervals in the list. The
+ intervals include the endpoints. The score for a message is calculated
+ by looking at every Score rule defined and adding up the Score Values
+ for the ones which match the message. When deciding whether or not a
+ Pattern matches a message for purposes of calculating the score, the
+ Score Interval is ignored.
+
+ Message Status
+
+ There are five separate message status settings. By default, all five
+ are set to the value "Don't care", which will match any message. The
+ value "Yes" means that the particular status must be true for a match,
+ and the value "No" means that the particular status must not be true
+ for a match. For example, one of the five Message Status settings is
+ whether a message is marked Important or not. A "Yes" means that the
+ message must be Important to be considered a match and "No" means that
+ the message must not be Important to be considered a match. The same is
+ true of the other four message status settings which depend on whether
+ or not the message is New; whether the message has been Answered or
+ not; whether the message has been Deleted or not, and whether the
+ message is Recent or not.
+
+ The nomenclature for New and Recent is a bit confusing:
+
+ New means that the message is Unseen. It could have been in your
+ mailbox for a long time but if you haven't looked at it, it is still
+ considered New. That matches the default _Alpine_ index display that
+ shows an N for such a message.
+
+ Recent means that the message was added to this folder since the last
+ time you opened the folder. _Alpine_ also shows an N by default for
+ these types of messages. If you were to run two copies of _Alpine_ that
+ opened a folder one right after the other, a message would only show up
+ as Recent in (at most) the first _Alpine_ session.
+
+ Message Keywords
+
+ Keywords are similar to Message Status, but they are chosen by the
+ user. Provided the mail server allows for it, you may add a set of
+ possible keywords to a folder and then you may set those keywords or
+ not for each message in the folder. The syntax of this part of the
+ Pattern is similar to the header patterns. It is a list of keywords.
+ The Keyword part of the Pattern is a match if the message has any of
+ the keywords in the list set. Like other parts of the Pattern, if this
+ is unset it will be ignored.
+
+ Message Character Set
+
+ A message may use one or more character sets. This part of the Pattern
+ matches messages which make use of one or more of the character sets
+ specified in the pattern. It will be considered a match if a message
+ uses any of the character sets in the list you give here. The syntax of
+ this part of the Pattern is similar to the header patterns and the
+ Message Keywords pattern. It is a list of character sets.
+
+ Besides actual character set names (for example, ISO-8859-7, KOI8-R, or
+ GB2312) you may also use some shorthand names that _Alpine_ provides.
+ These names are more understandable shorthand names for sets of
+ character set names. Two examples are "Cyrillic" and "Greek". Selecting
+ one of these shorthand names is equivalent to selecting all of the
+ character sets that make up the set. You can see all of these shorthand
+ names and the lists of character sets they stand for by typing the "T"
+ command with the Character Set pattern highlighted. The Character Set
+ part of the Pattern is a match if the message uses any of the character
+ sets in the list. Like other parts of the Pattern, if this is unset it
+ will be ignored.
+
+ Raw 8-bit in Subject
+
+ It seems that lots of unwanted email contains unencoded 8-bit
+ characters in the Subject. Normally, characters with the 8th bit set
+ are not allowed in the Subject header unless they are MIME-encoded.
+ This option gives you a way to match messages which have Subjects which
+ contain unencoded 8-bit characters. Setting this option will affect
+ performance in large folders because the subject of each message in the
+ folder has to be checked.
+
+ Beginning of Month
+
+ This option gives you a way to take some action once per month. The
+ value "Yes" means that this must be the first time _Alpine_ has been
+ run this month in order to count as a match,
+
+ Beginning of Year
+
+ This option gives you a way to take some action once per year. The
+ value "Yes" means that this must be the first time _Alpine_ has been
+ run this year in order to count as a match,
+
+ From or Reply-To address in Address Books
+
+ This option gives you a way to match messages which have a From or a
+ Reply-To address which is in one of your address books. Only the simple
+ entries in your address books are searched. Address book distribution
+ lists are ignored! Setting this option will affect performance in large
+ folders because the From and Reply-To of each message in the folder
+ have to be checked.
+
+ Categorizer Command
+
+ This is a command that is run with its standard input set to the
+ message being checked and its standard output discarded. The full
+ directory path should be specified. The command will be run and then
+ its exit status will be checked against the Exit Status Interval, which
+ defaults to just the value zero. If the exit status of the command
+ falls in the interval, it is considered a match, otherwise it is not a
+ match.
+
+ This option may actually be a list of commands. The first one that
+ exists and is executable is used. That makes it possible to use the
+ same configuration with Unix _Alpine_ and _PC-Alpine_.
+
+ If none of the commands in the list exists and is executable then the
+ rule is _not_ a match. If it is possible that the command may not
+ exist, you should be careful to structure your rules so that nothing
+ destructive happens when the command does not exist. For example, you
+ might have a filter that filters away spam when there is a match but
+ does nothing when there is not a match. That would continue to work
+ correctly if the command didn't exist. However, if you have a filter
+ which filters away spam when there is not a match and keeps it when
+ there is a match, that would filter everything if the categorizer
+ command didn't exist.
+
+ Help Configuring Pattern Fields
+
+ _Nickname_
+ This is a nickname to help you. You should have a different
+ nickname for each role you define. The nickname will be used in
+ the SETUP ROLE RULES screen to allow you to pick a role to edit.
+ It will also be used when you send a message to let you know you
+ are sending with a different role than you use by default, and
+ it will be useful for choosing a role when composing with the
+ Role command or when composing with one of the Role Uses set to
+ With Confirmation. This field is not used in the outgoing
+ message.
+ _Comment_
+ This is a comment to help you. This comment does not play any
+ functional role, it is simply an optional comment to help you
+ remember what the rule is for.
+ _To pattern_
+ If this pattern is non-blank, then for this role to be
+ considered a match, at least one of the recipients from the To
+ line of the message being replied to or forwarded must match
+ this pattern. In the case of the Compose command, this pattern
+ and the other header patterns are ignored. If this pattern is a
+ list of patterns, then at least one of the recipients must match
+ at least one of the patterns. (Any other non-blank parts of the
+ Pattern must match, too.) If the message being replied to or
+ forwarded has a Resent-To header line, then that is used in
+ place of the To line. (Note that this special Resent rule only
+ applies to the To header. The Resent-From, Resent-Subject, and
+ so on are not consulted.)
+ It is possible to add a _NOT_ to the To Pattern meaning with the
+ "!" "toggle NOT" command. This changes the meaning of the To
+ pattern so that it has the opposite meaning. It will be
+ considered a match if there are no matches between the addresses
+ in the To: line and the list of To patterns.
+ Don't make the mistake of putting the "!" in the data field for
+ the pattern. For example, if you type the characters "!frizzle"
+ into the To pattern, the pattern will look like:
+ To pattern = !frizzle
+
+ This means you want to match the 8 character sequence
+ "!frizzle". In order to match messages which do not have
+ "frizzle" in their To field, first type the characters "frizzle"
+ followed by carriage return for the value of the To pattern,
+ then negate it by typing the "!" command. It should end up
+ looking like
+ ! To pattern = frizzle
+
+ _From pattern_
+ This is just like the To pattern except that it is compared with
+ the address from the From header of the message being replied to
+ or forwarded instead of the addresses from the To header.
+ _Sender pattern_
+ This is just like the To pattern except that it is compared with
+ the address from the Sender header of the message being replied
+ to or forwarded instead of the addresses from the To header. If
+ there is no Sender header, then the From header is used instead.
+ _Cc pattern_
+ This is just like the To pattern except that it is compared with
+ the address from the CC header of the message being replied to
+ or forwarded instead of the addresses from the To header.
+ _News pattern_
+ If this pattern is non-blank, then for this role to be
+ considered a match, at least one of the newsgroups from the
+ Newsgroups line of the message must match this pattern. If this
+ pattern is a list of patterns, then at least one of the
+ newsgroups must match at least one of the patterns. (Any other
+ non-blank parts of the Pattern must match, too.)
+ _Subject pattern_
+ This is similar to the other header patterns. It is compared
+ with the contents from the Subject of the message being replied
+ to or forwarded.
+ If you enter non-ascii characters in this field then the search
+ will be done using the character set you have defined with the
+ Character-Set configuration variable. (The truly sophisticated
+ may use an alternate character set for a search by entering the
+ MIME encoding of the header string here.)
+ _Extra header patterns_
+ There isn't actually a field called Extra header patterns, but
+ you may add extra header patterns by moving the cursor to one of
+ the header patterns and using the "eXtraHdr" command to add a
+ new header pattern. You would do this if the six predefined
+ header patterns don't cover the header you want to use for
+ pattern matching. Once you've added an extra header pattern, you
+ use it just like the Subject pattern. Of course, it is compared
+ with the contents from the particular header field of the
+ message being replied to or forwarded rather than the contents
+ from the subject field. To remove an extra header pattern from a
+ role, use the &quotRemoveHdr" command on the highlighted extra
+ header.
+ If you enter non-ascii characters in this field then the search
+ will be done using the character set you have defined with the
+ Character-Set configuration variable. (The truly sophisticated
+ may use an alternate character set for a search by entering the
+ MIME encoding of the header string here.)
+ _Recipient pattern_
+ This is just like the To pattern except that it is compared with
+ the addresses from both the To header and the Cc header instead
+ of just the addresses from the To header. It's equivalent to
+ having two different rules; one with a To pattern and the other
+ with the same Cc pattern.
+ _Participant pattern_
+ This is just like the To pattern except that it is compared with
+ the addresses from the To header, the Cc header, and the From
+ header instead of just the addresses from the To header. It's
+ equivalent to having three different rules; one with a To
+ pattern, another with the same Cc pattern, and another with the
+ same From pattern.
+ _AllText pattern_
+ This is similar to the header patterns. Instead of comparing
+ with text in a particular header field it is compared with all
+ of the text in the message header and body.
+ If you enter non-ascii characters in this field then the search
+ will be done using the character set you have defined with the
+ Character-Set configuration variable. (The truly sophisticated
+ may use an alternate character set for a search by entering the
+ MIME encoding of the header string here.)
+ _BodyText pattern_
+ Just like AllText, except it is compared only with the body of
+ the message, not the body and header.
+ If you enter non-ascii characters in this field then the search
+ will be done using the character set you have defined with the
+ Character-Set configuration variable. (The truly sophisticated
+ may use an alternate character set for a search by entering the
+ MIME encoding of the header string here.)
+ _Age Interval_
+ The Age Interval, if defined, is part of the Pattern. If you use
+ this, it should be set to something like:
+
+ (min_age,max_age)
+ where "min_age" and "max_age" are non-negative integers. The
+ special value "INF" may be used for the max value. It represents
+ infinity.
+ In rare cases it may be useful to use the more general form of
+ the value, which is a comma-separated list of intervals. It
+ would look something like:
+
+ (min_age1,max_age1),(min_age2,max_age2),...
+ When there is an Age Interval defined, it is a match if the age,
+ in days, of the message is contained in the interval. The
+ interval includes both endpoints. If the option is set to a list
+ of intervals then it is a match if the age of the message is
+ contained in any of the intervals.
+ Even though this option is called Age, it isn't actually the
+ _age_ of the message. Instead, it is how many days ago the
+ message arrived in one of your folders. If the current time is a
+ little past midnight, then a message that arrived just before
+ midnight arrived yesterday, even though the message is only a
+ few minutes old. By default, the date being used is not the date
+ in the Date header of the message. It is the date that the
+ message arrived in one of your folders. When you Save a message
+ from one folder to another that arrival date is preserved. If
+ you would like to use the date in the Date header that is
+ possible. Turn on the option _use-date-header-for-age_ near the
+ bottom of the rule definition.
+ A value of 0 is today, 1 is yesterday, 2 is the day before
+ yesterday, and so on. The age interval
+
+ (2,2)
+ matches all messages that arrived on the day before yesterday.
+ The interval
+
+ (180,INF)
+ matches all messages that arrived at least 180 days before
+ today. The interval
+
+ (0,1)
+ matches all messages that arrived today or yesterday.
+ _Score Interval_
+ The Score Interval, if defined, is part of the Pattern. If you
+ use this, it should be set to something like:
+
+ (min_score,max_score)
+ where "min_score" and "max_score" are integers between -32000
+ and 32000. The special values "-INF" and "INF" can be used for
+ the min and max values. These represent negative and positive
+ infinity.
+ Actually, the value may be a list of intervals rather than just
+ a single interval if that is useful. The elements of the list
+ are separated by commas like:
+
+ (min_score1,max_score1),(min_score2,max_score2),...
+ When there is a Score Interval defined, it is a match if the
+ score for the message is contained in any of the intervals. The
+ intervals include both endpoints. The score for a message is
+ calculated by looking at every scoring rule defined and adding
+ up the Score Values for the rules which match the message.
+ _Keyword pattern_
+ A folder may have user-defined keywords. These are similar to
+ the Important flag which the user may set using the Flag
+ command. The difference is that the Important flag is always
+ present for each folder. User-defined keywords are picked by the
+ user. You may add new keywords by defining them in the Keywords
+ option in the Setup/Config screen. After you have added a
+ potential keyword with the Keywords option, the Flag command may
+ be used to set or clear the keyword on individual messages. If
+ you have given a keyword a nickname when configuring it, that
+ nickname may be used instead of the actual keyword.
+ When filling in a value for this field, it may be easiest to use
+ the "T" command, which presents you with a list of the keywords
+ you have defined to choose from.
+ This part of the Pattern matches messages with certain keywords
+ set. It will be considered a match if a message has any of the
+ keywords in the list set.
+ It is possible to add a _NOT_ to the Keyword Pattern meaning
+ with the "!" "toggle NOT" command. This changes the meaning of
+ the Keyword pattern so that it has the opposite meaning. It will
+ be considered a match if none of the keywords in the list are
+ set for a message.
+ Don't make the mistake of putting the "!" in the data field for
+ the pattern. For example, if you type the characters "!frizzle"
+ into the Keyword pattern, the pattern will look like:
+ Keyword pattern = !frizzle
+
+ This means you want to match the 8 character sequence
+ "!frizzle". In order to match messages which do not have the
+ keyword "frizzle" set, first type the characters "frizzle"
+ followed by carriage return for the value of the Keyword
+ pattern, then negate it by typing the "!" command. It should end
+ up looking like
+ ! Keyword pattern = frizzle
+
+ _Character Set pattern_
+ A message may use one or more character sets. This part of the
+ Pattern matches messages which make use of certain specified
+ character sets. It will be considered a match if a message uses
+ any of the character sets in the list you give here.
+ When filling in a value for this field, you may use the "T"
+ command, which presents you with a large list of possible
+ character sets to choose from. You may also just type in the
+ name of a character set, and it need not be one that Alpine
+ knows about.
+ Besides actual character set names (for example, ISO-8859-7,
+ KOI8-R, or GB2312) you may also use some shorthand names that
+ Alpine provides. These names are more understandable shorthand
+ names for sets of character set names. Two examples are
+ "Cyrillic" and "Greek". Selecting one of these shorthand names
+ is equivalent to selecting all of the character sets that make
+ up the set. You can see all of these shorthand names and the
+ lists of character sets they stand for by typing the "T"
+ command.
+ For the purposes of this Pattern, _Alpine_ will search through a
+ message for all of the text parts and collect the character sets
+ declared for each part. It will also look in the Subject line
+ for a character set used there. _Alpine_ does not actually look
+ at the text of the message or the text of the Subject to
+ determine if a declared character set is actually used, it looks
+ only at the declarations themselves in the MIME part headers and
+ in the Subject.
+ It is possible to add a _NOT_ to the Character Set Pattern
+ meaning with the "!" "toggle NOT" command. This changes the
+ meaning of the Character Set pattern so that it has the opposite
+ meaning. It will be considered a match if none of the character
+ sets in the list are used in a message.
+ Don't make the mistake of putting the "!" in the data field for
+ the pattern. For example, if you type the characters "!GB2312"
+ into the Character Set pattern, the pattern will look like:
+ Charset pattern = !GB2312
+
+ This means you want to match the 7 character sequence "!GB2312".
+ In order to match messages which do not have the character set
+ "GB2312" set, first type the characters "GB2312" followed by
+ carriage return for the value of the Character Set pattern, then
+ negate it by typing the "!" command. It should end up looking
+ like
+ ! Charset pattern = GB2312
+
+ A technicality: Since comma is the character used to separate
+ multiple values in a pattern field, you have to escape comma
+ with a backslash (\) if you want to include a literal comma in
+ the field. In other words, if you type a backslash followed by a
+ comma it will be interpreted as a comma by _Alpine_, instead of
+ as a separator between pattern values. All other backslashes are
+ literal backslashes and should not be escaped.
+ _Current Folder Type_
+ The Current Folder Type is part of the Pattern. It refers to the
+ type of the currently open folder, which is the folder you were
+ last looking at from the MESSAGE INDEX or MESSAGE TEXT screen.
+ In order for a pattern to be considered a match, the current
+ folder must be of the type you set here. The three types "Any",
+ "News", and "Email" are all what you might think.
+ If the Current Folder Type for a Pattern is set to "News", for
+ example, then that will only be a match if the current folder is
+ a newsgroup and the rest of the Pattern matches. The value
+ "Specific" may be used when you want to limit the match to a
+ specific folder (not just a specific type of folder), or to a
+ list of specific folders. In order to match a specific folder
+ you must Select the "Specific" button _AND_ you must fill in the
+ name (or list of names) of the folder in the "Folder" field. If
+ the current folder is any of the folders in the list, that is
+ considered a match. The name of each folder in the list may be
+ either "INBOX", the technical specification of the folder (like
+ what appears in your configuration file) or, if the folder is
+ one of your incoming folders, it may be the nickname you've
+ given the folder. Here are a couple samples of specific folder
+ names:
+
+ {monet.art.example.com}mail/art-class
+
+ {news.example.com/nntp}#news.comp.mail.pine
+ The easiest way to fill in the "Folder" field is to use the T
+ command which is available when the "Folder" line is hilighted.
+ Note that you won't be able to edit the "Folder" line unless the
+ Current Folder Type is set to "Specific", and any value that
+ "Folder" has is ignored unless the type is set to "Specific".
+ When reading a newsgroup, there may be a performance penalty
+ incurred when collecting the information necessary to check a
+ Pattern. For this reason, the default Current Folder Type is set
+ to "Email". For example, a role with a non-Normal Index Line
+ Color and a Current Folder Type of "Any" or "News" may cause the
+ MESSAGE INDEX screen to draw more slowly when in a newsgroup.
+ _Message Status Important_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the message must be
+ flagged "Important" in order to be a match; or "No", which means
+ the message must _not_ be flagged "Important" in order to be
+ considered a match.
+ _Message Status New_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the message must be
+ "New" in order to be a match; or "No", which means the message
+ must _not_ be "New" in order to be a match. "New" is the same as
+ _Unseen_ and not "New" is the same as _Seen_.
+ The nomenclature for New and Recent is a bit confusing:
+ New means that the message is Unseen. It could have been in your
+ mailbox for a long time but if you haven't looked at it, it is
+ still considered New. That matches the default _Alpine_ index
+ display that shows an N for such a message.
+ Recent means that the message was added to this folder since the
+ last time you opened the folder. _Alpine_ also shows an N by
+ default for these types of messages. If you were to run two
+ copies of _Alpine_ that opened a folder one right after the
+ other, a message would only show up as Recent in (at most) the
+ first _Alpine_ session.
+ _Message Status Recent_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the message must be
+ "Recent" in order to be a match; or "No", which means the
+ message must _not_ be "Recent" in order to be a match. "Recent"
+ means that the message was added to the folder since the last
+ time the folder was opened. If more than one mail client has the
+ folder opened, the message will appear to be "Recent" to only
+ one of the clients.
+ The nomenclature for New and Recent is a bit confusing:
+ New means that the message is Unseen. It could have been in your
+ mailbox for a long time but if you haven't looked at it, it is
+ still considered New. That matches the default _Alpine_ index
+ display that shows an N for such a message.
+ Recent means that the message was added to this folder since the
+ last time you opened the folder. _Alpine_ also shows an N by
+ default for these types of messages. If you were to run two
+ copies of _Alpine_ that opened a folder one right after the
+ other, a message would only show up as Recent in (at most) the
+ first _Alpine_ session.
+ _Message Status Deleted_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the message must be
+ marked "Deleted" in order to be a match; or "No", which means
+ the message must _not_ be marked "Deleted" in order to be a
+ match.
+ If you are thinking of using this part of the Pattern as a way
+ to prevent messages from being filtered more than once in a
+ Filter Pattern, take a look at the Filter Option
+ "move-only-if-not-deleted" instead. It should work better than
+ using this field since it will hide the filtered messages even
+ if they are already Deleted.
+ _Message Status Answered_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the message must be
+ marked "Answered" in order to be a match; or "No", which means
+ the message must _not_ be marked "Answered" in order to be a
+ match.
+ _Subject Contains Raw 8-bit_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means the Subject of the
+ message must contain unencoded 8-bit characters (characters with
+ the most significant bit set) in order to be a match; or "No",
+ which means the Subject must _not_ contain unencoded 8-bit
+ characters in order to be a match.
+ _Beginning of Month_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means this is the first
+ time _Alpine_ has been run this month; or "No", which means this
+ is _not_ the first time _Alpine_ has been run this month. The
+ way that _Alpine_ decides if it is the beginning of the month or
+ not is to compare today's date with the date stored in the
+ Last-Time-Prune-Questioned variable in the config file. If the
+ month of today's date is later than the month stored in the
+ variable, then this is considered to be the first time you have
+ run Alpine this month, and that turns the Beginning of the Month
+ option on.
+ _Beginning of Year_
+ This part of the Pattern may have one of three possible values.
+ The default value is "Don't care", which matches any message.
+ The other two values are "Yes", which means this is the first
+ time _Alpine_ has been run this year; or "No", which means this
+ is _not_ the first time _Alpine_ has been run this year. The way
+ that _Alpine_ decides if it is the beginning of the year or not
+ is to compare today's date with the date stored in the
+ Last-Time-Prune-Questioned variable in the config file. If the
+ year of today's date is later than the year stored in the
+ variable, then this is considered to be the first time you have
+ run Alpine this year, and that turns the Beginning of the Year
+ option on.
+ _From or Reply-To in Address Book_
+ This part of the Pattern may have one of five possible values.
+ The default value is "Don't care", which matches any message.
+ The value "Yes, in any address book" means either the From
+ address or the Reply-To address of the message must be in at
+ least one of your address books in order to be a match. The
+ value "No, not in any address book" means neither the From nor
+ the Reply-To addresses may be in any of your address books in
+ order to be a match.
+ The values "Yes, in specific address books" and "No, not in any
+ of specific address books" are similar but instead of depending
+ on all address books you are allowed to give a list of address
+ books to look in. Usually this would be a single address book
+ but it may be a list of address books as well. For each of these
+ "specific" address book options you Select which of the Specific
+ options you want (Yes or No) _AND_ fill in the name (or list of
+ names) of the address book in the "Abook List" field. The names
+ to be used are those that appear in the ADDRESS BOOK LIST
+ screen. The easiest way to fill in the Abook List field it to
+ use the "T" command which is available when the "Abook List"
+ line is highlighted. Note that you won't be able to edit the
+ "Abook List" line unless the option is set to one of the two
+ "Specific", values.
+ _Categorizer Command_
+ This is a command that is run with its standard input set to the
+ message being checked and its standard output discarded. The
+ full directory path should be specified. The command will be run
+ and then its exit status will be checked against the _Exit
+ Status Interval_, which defaults to just the value zero. If the
+ exit status of the command falls in the interval, it is
+ considered a match, otherwise it is not a match.
+ This option may actually be a list of commands. The first one
+ that exists and is executable is used. That makes it possible to
+ use the same configuration with Unix _Alpine_ and _PC-Alpine_.
+ If none of the commands in the list exists and is executable
+ then the rule is _not_ a match. If it is possible that the
+ command may not exist, you should be careful to structure your
+ rules so that nothing destructive happens when the command does
+ not exist. For example, you might have a filter that filters
+ away spam when there is a match but does nothing when there is
+ not a match. That would continue to work correctly if the
+ command didn't exist. However, if you have a filter which
+ filters away spam when there is not a match and keeps it when
+ there is a match, that would filter everything if the
+ categorizer command didn't exist.
+ The categorizer command is run and the result is the exit status
+ of that command. If that exit status falls in the _Exit Status
+ Interval_ then it is considered a match, otherwise it is not a
+ match. Of course for the entire rule to match, it must also be
+ checked against the other defined parts of the Pattern.
+ The _Exit Status Interval_ defaults to the single value 0
+ (zero). If you define it, it should be set to something like:
+
+ (min_exit_value,max_exit_value)
+ where "min_exit_value" and "max_exit_value" are integers. The
+ special values "INF" and "-INF" may be used for large positive
+ and negative integers.
+ Actually, a list of intervals may be used if you wish. A list
+ would look like
+
+ (min_exit_value1,max_exit_value1),(min_exit_value2,max_exit_value2),...
+ When there is an _Exit Status Interval_ defined, it is a match
+ if the exit status of the categorizer command is contained in
+ any of the intervals. The intervals include both endpoints.
+ The default interval is
+
+ (0,0)
+ and it matches only if the command exits with exit status equal
+ to zero.
+ It is also possible to set a _Character Limit_ for the
+ categorizer command. Setting this option makes it possible to
+ limit how much of the message is made available to the
+ categorizer command as input. The default value (-1) means that
+ the entire message is fed to the command. A value of 0 (zero)
+ means that only the headers of the message are made available. A
+ positive integer means that the headers plus that many
+ characters from the body of the message are passed to the
+ categorizer.
+
+Configuring News
+
+ _Alpine_ can access news folders in any one of three different ways:
+
+ REMOTE NNTP
+ Using the Network News Transport Protocol (NNTP) to access news
+ on a remote news server. In this case the newsrc file is stored
+ on the machine where _Alpine_ is running.
+
+ To specify a remote news-collection accessed via NNTP use the
+ SETUP/collectionList screen's "Add" command. Set the Server:
+ value to the NNTP server's hostname appended with the
+ communication method "/service=NNTP", and set the Path: value to
+ the "#news." namespace (without the quotes).
+
+ Instead of specifying a news-collection, you may simply set the
+ nntp-server option, which will cause _Alpine_ to create a
+ default news-collection for you. Another NNTP option which may
+ be of interest is nntp-range.
+
+ REMOTE IMAP
+ Using the Internet Message Access Protocol (IMAP) to access news
+ on a remote news server. In this case, your newsrc file is
+ stored on the news server, in your home directory, so you must
+ have an account on the news server, but you would be running
+ _Alpine_ on a different machine. The news server must be running
+ an IMAPd server process.
+
+ To specify a remote news-collection accessed via IMAP use the
+ SETUP/collectionList screen's "Add" command. Set the Server:
+ value to the IMAP server's hostname, and set the Path: value to
+ the "#news." namespace (without the quotes).
+
+ LOCAL
+ Using local file access to the news database. In this case, your
+ newsrc file is stored on the news server, in your home
+ directory, so you must have an account on the news server, and
+ you would be running _Alpine_ on the same machine.
+
+ To specify a local news-collection use the SETUP/collectionList
+ screen's "Add" command. Leave the Server: value blank, and set
+ the Path: value to the "#news." namespace (without the quotes).
+
+ NOTE: Should no news-collection be defined as above, _Alpine_ will
+ automatically create one using the Setup/Config screen's "nntp-server"
+ variable's value if defined. The collection will be created as a
+ "Remote NNTP" as described above.
+
+ If you are a _PC-Alpine_ user, either option 1 (NNTP) or option 2
+ (IMAP) is possible. If you don't have an account on the news server, or
+ if the news server is not running an IMAP daemon, then you must use
+ NNTP. (If you are not sure, ask your service provider, university, or
+ company for help.) In this case, your Unix .newsrc file can be
+ transferred to your PC. A good place to put it would be in the same
+ directory as your PINERC file, under the name NEWSRC, but you can
+ specify a different location.
+
+ Other configuration features related to news are
+ Enable-8bit-Nntp-Posting. Compose-Sets-Newsgroup-Without-Confirm,
+ News-Approximates-New-Status, News-Deletes-Across-Groups,
+ News-Offers-Catchup-On-Close, News-Post-Without-Validation,
+ News-Read-in-Newsrc-Order, and Quell-Extra-Post-Prompt.
+ __________________________________________________________________
+
+ Notes on Configuration and Preferences
+
+Alpine in Function Key Mode
+
+ The standard _Alpine_ uses alphabetic keys for most commands, and
+ control keys in the composer. Despite possible appearances, the current
+ bindings are the result of much discussion and thought. All the
+ commands in the composer are single control characters. This keeps
+ things very neat and simple for users. Two character commands in the
+ composer are a possibility, but we're trying to avoid them because of
+ the added complexity for the user.
+
+ _Alpine_ can also operate in a function-key mode. To go into this mode
+ invoke _alpine -k_ or (on some UNIX systems) _alpinef._ On a UNIX
+ system, you can link or copy the _Alpine_ executable to _alpinef_ to
+ install _alpinef._ Alternatively, users and systems administrators can
+ set the _use-function-keys_ feature in the personal or system-wide
+ _Alpine_ configuration file. The command menus at the bottom of the
+ screen will show _F1-F12 _instead of the alphabetic commands. In
+ addition, the help screens will be written in terms of function keys
+ and not alphabetic keys.
+
+ One of the results of using _Alpine_ in function-key mode is that users
+ can only choose from twelve commands at any given time. In
+ alphabetic-key mode, a user can press a key for a command (say, q to
+ quit) and that command can be fulfilled. In function-key mode, the
+ command must be visible on the bottom key-menu in order to be used.
+ There are some screens where four screens of commands are operational;
+ function-key users can get to all of them, just not all at once.
+ __________________________________________________________________
+
+Domain Settings
+
+ _Alpine_ uses the default domain for a few different tasks. First, it
+ is tacked onto the user-id for outgoing email. Second, it is tacked
+ onto all "local" (unqualified) addresses in the "To:" or "Cc:" fields
+ of messages being composed (unless they are found in the address book
+ or on an LDAP server). The domain name is also used to generate
+ message-id lines for each outgoing message and to allow _Alpine_ to
+ check if an address is that of the current _Alpine_ user.
+
+ _Alpine_ determines the domain name according to whichever of these it
+ finds. The list here is in decreasing order of precedence.
+ 1. Value of the variable user-domain in the system fixed configuration
+ file
+ 2. Value of the variable _user-domain_ in the personal configuration
+ file
+ 3. Value of the variable _user-domain_ in the system-wide
+ configuration file
+ 4. Value from an external database (DNS, /etc/hosts, NIS) as modified
+ by a system fixed configuration file if use-only-domain-name set to
+ _yes_
+ 5. Value from an external database (DNS, /etc/hosts, NIS) as modified
+ by a personal configuration file if _use-only-domain-name_ set to
+ _yes_
+ 6. Value from an external database (DNS, /etc/hosts, NIS) as modified
+ by a system configuration file if _use-only-domain-name_ set to
+ _yes_
+ 7. Unmodified value (host name) from an external database
+
+ The easiest way for this system to work is for _PC-Alpine_ users and
+ UNIX _Alpine_ system administrators to set the _user-domain_ variable.
+ The variable _use-only-domain-name_ is helpful if your site
+ supports/requires hostless addressing, but for some reason you don't
+ want to use the _user-domain_ variable.
+ __________________________________________________________________
+
+Syntax for Collections
+
+ In many environments, it is quite common to have collections of
+ archived mail on various hosts around the network. Using the folder
+ collections facility in _Alpine_, access to these archives is just as
+ simple as access to folders on _Alpine_'s local disk.
+
+ "Collection" is the word we use in _Alpine_ to describe a set of
+ folders. A collection corresponds loosely to a "directory" containing
+ mail folders. Folders within a defined collection can be manipulated
+ (opened, saved-to, etc) using just their simple name. Any number of
+ folder collections can be defined, and _Alpine_ will adjust its menus
+ and prompts to help navigate them.
+
+ The way collections are defined in _Alpine_ is with the
+ folder-collections variable in the _Alpine_ configuration file.
+ _Folder-collections_ takes a list of one or more collections, each
+ (optionally) preceded by a user-defined logical name (label). Once
+ collections are defined, _Alpine_ adjusts its menus and behavior to
+ allow choosing files by their simple name within the collection.
+
+ Consider the following:
+ folder-collections= Local-Mail C:\MAIL\[],
+ Remote-Mail {imap.u.example.edu}mail/[]
+
+ The example shows two collections defined (a comma separated list;
+ newlines in the list are OK if there's one or more spaces before the
+ next entry), one local and one remote. Each collection is a
+ space-delimited pair of elements-first an optional logical-name and
+ second the collection specifier. The logical-name can have spaces if it
+ has quotes around it (but keeping the logical name short and
+ descriptive works best). _Alpine_ will use the logical-name (if
+ provided) to reference all folders in the collection, so the user never
+ has to see the ugliness of the collection specifier.
+
+ The collection specifier can be thought of as an extended IMAP format
+ (see the Remote Folders section for a description of IMAP format
+ names). Basically, a pair of square-brackets are placed in the fully
+ qualified IMAP path where the simple folder name (the part without the
+ host name and path) would appear. Like IMAP, the path can be either
+ fully qualified (i.e., with a leading '/') or relative to your home
+ directory.
+
+ An advanced feature of this notation is that a pattern within the
+ square brackets allows the user to define a collection to be a subset
+ of a directory. For example, a collection defined with the specifier:
+ M-Mail C:MAIL/[m*]
+
+
+ will provide a view in the folder lister of all folders in the PC's
+ "C:MAIL" directory that start with the letter 'm' (case insensitive
+ under DOS, of course). Further, the wildcard matching will honor
+ characters trailing the '*' in the pattern.
+
+ From within _Alpine_, the "Folder List" display will be adjusted to
+ allow browsing of the folders in any defined collection. Even more,
+ you'll notice in the _Goto_ and _Save_ commands a pair of sub-commands
+ to rotate through the list of logical collection names, so only a
+ simple name need be input in order to operate on a folder in any
+ collection.
+
+ The first collection specified in the _folder-collections_ has special
+ significance. That folder is the "default collection for saves". By
+ default, in cases where the user does not specify which collection
+ should be used to _Save_ a message, the default collection for saves
+ will be used. Also, if the default-fcc is a relative file name, then it
+ is relative to the default collection for saves. (See also
+ saved-msg-name-rule.
+
+ The notion of collections encompasses both email folders and news
+ reading. The variable news-collections uses nearly the same format as
+ _folder-collections_. Newsgroups can be defined for convenient access
+ via either IMAP or NNTP. There are advantages and disadvantages to both
+ access methods. In the IMAP case, your news environment state is
+ maintained on the server and, thus, will be seen by any client. The
+ downside is that, at the moment, you must have an account on the
+ server. In the NNTP case, server access is mostly anonymous and no
+ state/accounting need be maintained on it. The downside is that each
+ client, for now, must individually maintain news environment state.
+
+ An example pinerc entry might be:
+ news-collections= Remote-State {news.u.example.edu}#news.[],
+ Local-State {news.u.example.edu/nntp}#news.[]
+
+ Only newsgroups to which you are subscribed are included in the
+ collection.
+
+ The pattern matching facility can be applied so as to define a news
+ collection which is a subset of all the newsgroups you subscribe to.
+ For example, this could be a valid collection:
+ Newsfeed-News {news.u.example.edu/nntp}#news.[clari.*]
+
+ Collection handling is a tough problem to solve in a general way, and
+ the explanation of the syntax is a bit ugly. The upside is, hopefully,
+ that for a little complexity in the _Alpine_ configuration file you get
+ simple management of multiple folders in diverse locations.
+
+ Collection setup is handled by the _Setup/collectionList_ screen.
+ __________________________________________________________________
+
+Syntax for Folder Names
+
+ Remote folders are distinguished from local folders by a leading host
+ name bracketed by '{' and '}'. The path and folder name immediately
+ following the closing bracket, '}', is interpreted by the remote server
+ and is in a form compatible with that server (i.e., path delimiters and
+ naming syntax relative to that server).
+
+ The full syntax for a _Alpine_ folder name looks like
+
+ [{<remote-specification>}][#<namespace>]<namespace-specific-part>
+
+ The square brackets ([]) mean that the part is optional.
+
+ If there is no remote-specification, then the folder name is
+ interpreted locally on the computer running _Alpine_. Local folder
+ names depend on the operating system used by the computer running
+ _Alpine_, as well as the configuration of that system. For example,
+ "C:\ALPINE\FOLDERS\OCT-94" might exist on a PC, and
+ "~/mail/september-1994" might be a reasonable folder name on a system
+ running Unix.
+
+ _Alpine_ users have the option of using folders which are stored on
+ some other computer. _Alpine_ accesses remote folders via IMAP (the
+ Internet Message Access Protocol), or in the case of news, via NNTP
+ (the Network News Transport Protocol). To be able to access remote
+ folders in _Alpine_, the remote host must be running the appropriate
+ server software (imapd or nntpd) and you must correctly specify the
+ name of the folder to _Alpine_, including the domain name of the remote
+ machine. For example,
+
+ {monet.art.example.com}INBOX
+
+ could be a remote folder specification, and so could
+
+ {unixhost.art.example.com}~/mail/september-1994
+
+ and
+
+ {winhost.art.example.com}\mymail\SEP-94
+
+ Note that in the case of remote folders, the directory/file path in the
+ specification is determined by the operating system of the remote
+ computer, _not_ by the operating system of the computer on which you
+ are running _Alpine_.
+
+ As you can tell, the name of the computer is in {} brackets followed
+ immediately by the name of the folder. (In each of these cases the
+ optional namespace is missing.) If, as in these examples, there is no
+ remote access protocol specified, then IMAP is assumed. Check Server
+ Name Syntax for a more detailed look at what options can be placed
+ between the brackets. If there are no brackets at all, then the folder
+ name is interpreted locally on the computer on which you are running
+ _Alpine_.
+
+ To the right of the brackets when a server name is present, or at the
+ start of the foldername if no server is present, the sharp sign, "#",
+ holds special meaning. It indicates a folder name outside the area
+ reserved for your personal folders. In fact, it's used to indicate both
+ the name of the folder, and a special phrase telling _Alpine_ how to
+ interpret the name that follows.
+
+ So, for example, _Alpine_ can be used to access a newsgroup that might
+ be available on your computer using:
+
+ #news.comp.mail.pine
+
+ The sharp sign indicates the folder name is outside your personal
+ folder area. The "news." phrase after it tells _Alpine_ to interpret
+ the remainder of the name as a newsgroup.
+
+ Similarly, to access a newsgroup on your IMAP server, you might use
+ something like:
+
+ {wharhol.art.example.com}#news.comp.mail.misc
+
+ There are a number of such special phrases (or "namespaces") available.
+ For a more detailed explanation read about Namespaces.
+
+ Note that "INBOX" has special meaning in both local and remote folder
+ names. The name INBOX refers to your "principal incoming message
+ folder" and will be mapped to the actual file name used for your INBOX
+ on any given host. Therefore, a name like "{xxx.art.example.com}INBOX"
+ refers to whatever file is used to store incoming mail for you on that
+ particular host.
+ __________________________________________________________________
+
+Server Name Syntax
+
+ This section describes the syntax which may be used for server names
+ which may be associated with remote folders or SMTP servers.
+
+ A server name is the hostname of the server. It's a good idea to use
+ the host's fully-qualified network name.
+
+ foo.example.com
+
+ However, IP addresses are allowed if surrounded with square-brackets.
+
+ [127.0.0.1]
+
+ An optional network port number may be supplied by appending a colon
+ (:) followed by the port number to the server name. By default, the
+ IMAP port number, 143, is used.
+
+ foo.example.com:port
+
+ Besides server name and optional port number, various other optional
+ parameters may be supplied that alter _Alpine_'s interaction with the
+ server. A parameter is supplied by appending a slash (/) character
+ followed by the parameter's name and, depending on the particular
+ parameter, the value assigned to that name, to the server name (and
+ optional port number). Parameter names are _not_ case sensitive.
+ Currently supported parameters include:
+
+ User
+ This parameter requires an associated value, and is intended to
+ provide the username identifier with which to establish the
+ server connection. If your SMTP server offers SMTP AUTH
+ authentication, adding this parameter to the SMTP-Server option
+ will cause _Alpine_ to attempt to authenticate to the server
+ using the supplied username. Similarly, if your NNTP server
+ offers NNTP "AUTHINFO SASL" or "AUTHINFO USER" authentication,
+ adding this parameter to the NNTP-Server option (or to the
+ server name for any folder collection using NNTP) will cause
+ _Alpine_ to attempt to authenticate to the server using the
+ supplied username. An example might be:
+
+ /user=katie
+
+ TLS
+ Normally, when a new connection is made an attempt is made to
+ negotiate a secure (encrypted) session using Transport Layer
+ Security (TLS). If that fails then a non-encrypted connection
+ will be attempted instead. This is a unary parameter indicating
+ communication with the server must take place over a TLS
+ connection. If the attempt to use TLS fails then this parameter
+ will cause the connection to fail instead of falling back to an
+ unsecure connection.
+
+ /tls
+
+ SSL
+ This is a unary parameter indicating communication with the
+ server should take place over a Secure Socket Layer connection.
+ The server must support this method, and be prepared to accept
+ connections on the appropriate port (993 by default). _Alpine_
+ must be linked with an SSL library for this option to be
+ operational.
+
+ /ssl
+
+ NoValidate-Cert
+ Do not validate certificates (for TLS or SSL connections) from
+ the server. This is needed if the server uses self-signed
+ certificates or if _Alpine_ cannot validate the certificate for
+ some other known reason.
+
+ Anonymous
+ This is a unary parameter (that means it does not have a value)
+ indicating that the connection be logged in as "anonymous"
+ rather than a specific user. Not all servers offer anonymous
+ access; those which do generally only offer read-only access to
+ certain "public" folders.
+
+ /anonymous
+
+ Secure
+ This is a unary parameter indicating that the connection use the
+ most secure authentication method mutually supported by _Alpine_
+ and the server. _Alpine_ is capable of authenticating
+ connections to the server using several methods. By default,
+ _Alpine_ will attempt each method until either a connection is
+ established or the list of methods is exhausted. This parameter
+ causes _Alpine_ to instead fail the connection if the first
+ (generally most "secure") method fails.
+
+ /secure
+
+ Submit
+ This is a unary parameter for use with the "SMTP-Server" option.
+ It indicates that the connection should be made to the Submit
+ server (RFC 3676) (port 587) instead of the SMTP port (25). At
+ the time this help was written the submit option was equivalent
+ to specifying port 587.
+
+ /submit
+
+ or
+
+ host:587
+
+ Debug
+ This is a unary parameter indicating that the connection be
+ established in a verbose mode. Basically, it causes _Alpine_ to
+ log the communication with the server in _Alpine_'s debug file.
+ Normally, the alpine -d command-line flag would be used instead.
+
+ NoRsh
+ By default, _Alpine_ attempts to login using "rsh", the UNIX
+ remote shell program. Including "NoRsh" will cause connections
+ to this server to skip the "rsh" attempt. This might be useful
+ to avoid long timeouts caused by rsh firewalls, for example.
+
+ Service
+ This parameter requires an associated value. The default value
+ is "IMAP" which indicates communication with the server based on
+ the IMAP4rev1 protocol (defined in RFC 3501 -- see
+ http://www.imap.org/docs/rfc3501.html). Other service values
+ include:
+
+ NNTP
+ This value indicates communication with the server takes
+ place via the Network News Transfer Protocol. Use this to
+ define a collection of newsgroups on a remote news server.
+ So
+
+ /service=NNTP
+
+ or just
+
+ /NNTP
+
+ is the way to specify NNTP access.
+
+ POP3
+ This value indicates communication with the server takes
+ place via the Post Office Protocol 3 protocol.
+
+ /service=POP3
+
+ or just
+
+ /POP3
+
+ Note that there are several important issues to consider
+ when selecting this option:
+
+ 1. POP3 provides access to only your INBOX. In other words,
+ secondary folders such as your "saved-messages" are
+ inaccessible.
+ 2. _Alpine_'s implementation of POP3 does not follow the
+ traditional POP model and will leave your mail on the
+ server. Refer to the Mail Drop functionality for a
+ possible way around this problem.
+ 3. See the discussion about new-mail checking in
+ Folder-Reopen-Rule.
+
+ Note that it is possible to include more than one parameter in a server
+ specification by concatenating the parameters. For example:
+
+ foo.example.com:port/user=katie/novalidate-cert/debug
+ __________________________________________________________________
+
+Folder Namespaces
+
+ A _Alpine_ folder name looks like
+
+ [{<remote-specification>}][#<namespace>][<namespace-specific-part>]
+
+ The local part of a folder name has an optional "Namespace" which tells
+ _Alpine_ how to interpret the rest of the name.
+
+ By default the folder name is interpreted as defining a section of your
+ personal folder area. This area and how you specify it are defined by
+ the server, if one is specified, or, typically, the home directory, if
+ no server is defined.
+
+ If a namespace is specified, it begins with the sharp, "#", character
+ followed by the name of the namespace and then the namespace's
+ path-element-delimiter. Aside from the path's format, namespaces can
+ also imply access rights, content policy, audience, location, and,
+ occasionally, access methods.
+
+ Each server exports its own set (possibly of size one) of namespaces.
+ Hence, it's likely communication with your server's administrator will
+ be required for specific configurations. Some of the more common
+ namespaces, however, include:
+
+ #news.
+ This specifies a set of folders in the newsgroup namespace.
+ Newsgroup names are hierarchically defined with each level
+ delimited by a period.
+
+ #news.comp.mail.pine
+
+ #public/
+ This specifies a folder area that the server may export to the
+ general public.
+
+ #shared/
+ This specifies a folder area that the folder may export to
+ groups of users.
+
+ #ftp/
+ This specifies a folder area that is the same as that it may
+ have exported via the "File Transfer Protocol".
+
+ #mh/
+ This specifies the personal folder area associated with folders
+ and directories that were created using the MH message handling
+ system.
+
+ #move/
+ This namespace is interpreted locally by _Alpine_. It has an
+ unusual interpretation and format.
+
+ #move<DELIM><MailDropFolder><DELIM><DestinationFolder>
+
+ The #move namespace is followed by two folder names separated by
+ a delimiter character. The delimiter character may be any
+ character which does not appear in the MailDropFolder name. The
+ meaning of #move is that mail will be copied from the
+ MailDropFolder to the DestinationFolder and then deleted (if
+ possible) from the MailDropFolder. Periodic checks at frequency
+ Mail-Check-Interval, but with a minimum time between checks set
+ by MailDrop-Check-Minimum, are made for new mail arriving in the
+ MailDropFolder. An example which copies mail from a POP inbox to
+ a local folder follows
+
+ #move+{popserver.example.com/pop3/ssl}inbox+local folder
+
+ To you it appears that mail is being delivered to the local
+ folder when it is copied from the MailDropFolder, and you read
+ mail from the local folder.
+
+ Note that if the DestinationFolder does not exist then the
+ messages are not copied from the MailDropFolder. A #move folder
+ may only be used as an Incoming folder or an Inbox. When you are
+ in the FOLDER LIST of Incoming Message Folders (after turning on
+ the enable-incoming-folders option) the Add command has a
+ subcommand "Use Mail Drop" which may be helpful for defining the
+ folder in your _Alpine_ configuration. The same is true when you
+ edit the Inbox-Path option in Setup/Config. Each of these
+ configuration methods will also create the DestinationFolder if
+ it doesn't already exist. If you are having problems, make sure
+ the DestinationFolder exists.
+
+ In addition, the server may support access to other user's folders,
+ provided you have suitable permissions. Common methods use a prefix of
+ either "~user/", or "/user/" to indicate the root of the other user's
+ folder area.
+ __________________________________________________________________
+
+What is a Mail Drop?
+
+ In some situaions it may make sense to have your mail delivered to one
+ folder (the Mail Drop) and then when you want to read mail that has
+ been delivered to the Mail Drop folder _Alpine_ will move it to another
+ destination folder. Often the Mail Drop will be a remote folder and
+ messages will be moved from there to a local destination folder.
+
+ One example where this might make sense is if the Mail Drop folder is
+ accessible only with the POP protocol. You could designate your POP
+ inbox as the Mail Drop folder and have _Alpine_ move mail from there to
+ a local (on the same machine _Alpine_ is running on) destination
+ folder, where you'll read it.
+
+ A Mail Drop may only be used as your Inbox or as an Incoming folder.
+
+ There is no attempt to synchronize the contents of the destination
+ folder with the contents of the Mail Drop folder. All that happens is
+ that all of the messages in the Mail Drop folder are copied to the
+ destination folder and then they are deleted and expunged (if possible)
+ from the Mail Drop folder. The next time a check for new mail is made,
+ any messages in the Mail Drop folder are once again copied to the
+ destination folder and deleted and expunged from the Mail Drop folder.
+ (If the Mail Drop folder is a news group, then the messages can't be
+ expunged from the newsgroup. Instead, only Recent messages are copied
+ from the newsgroup to the destination folder.)
+
+ Configuration of a Mail Drop is a little different from configuration
+ of a folder which does not use a Mail Drop because you have to specify
+ two folder names instead of one. The two folders may be any types of
+ folders that _Alpine_ can normally use. They don't have to be a remote
+ folder and a local folder, that is simply the most common usage. When
+ you use a Mail Drop folder _Alpine_ will periodically re-open the Mail
+ Drop to check for new mail. The new-mail checks will happen at the
+ frequency set with the Mail-Check-Interval option, but with a minimum
+ time (MailDrop-Check-Minimum) between checks. Because of this minimum
+ you may notice that new mail does not appear promptly when you expect
+ it. The reason for this is to protect the server from over-zealous
+ opening and closing of the Mail Drop folder. If the user initiates the
+ check by typing ^L (Ctrl-L) or the Next command when at the end of the
+ folder index, then the check will happen, regardless of how long it has
+ been since the previous check.
+
+ If there is new mail, that mail will be copied to the destination
+ folder and then will be deleted from the Mail Drop. Note that using a
+ Mail Drop with a local destination folder does not make sense if you
+ read mail from more than one machine, because the mail is downloaded to
+ the destination folder (which is accessible from only one machine) and
+ deleted from the Mail Drop.
+
+ The feature Maildrops-Preserve-State modifies the operation of Mail
+ Drops.
+
+ The actual syntax used by _Alpine_ for a folder that uses a Mail Drop
+ is:
+
+ #move<DELIM><MailDropFolder><DELIM><DestinationFolder>
+
+ The brackets are not literal.
+
+ <DELIM>
+
+ is a single character which does not appear in the MailDropFolder name.
+ If the name doesn't contain spaces then it can be a space character.
+ The two folder names are full technical folder names as used by
+ _Alpine_. Here are a couple examples to give you an idea what is being
+ talked about:
+
+ #move {popserver.example.com/pop3}inbox localfolder
+
+ #move+{nntpserver.example.com/nntp}#news.comp.mail.pine+local folder
+
+ A #move folder may only be used as an Incoming folder or an Inbox. When
+ you are in the FOLDER LIST of Incoming Message Folders (after turning
+ on the Enable-Incoming-Folders option) the Add command has a subcommand
+ "Use Mail Drop" which may be helpful for defining the folder in your
+ _Alpine_ configuration. The same is true when you edit the Inbox-Path
+ option in Setup/Config.
+ if it doesn't already exist. If you are having problems, make sure the
+ DestinationFolder exists.
+ __________________________________________________________________
+
+Sorting a Folder
+
+ The mail index may be sorted by arrival, date, subject, from, size,
+ score, to, or cc order. Each sort order can also be reversed. The _$_
+ command will prompt the user for the sort order. The sort order can
+ also be specified on the command line with the _-sort_ flag or
+ (equivalently) with the sort-key variable in the _pinerc_ file. When a
+ user changes folders, the sort order will go back to the original sort
+ order. The command line (_-sort_) or configuration file sort
+ specification (_sort-key_) changes the original sort order.
+
+ When a folder is sorted and new mail arrives in the folder it will be
+ inserted in its properly sorted place. This can be a little odd when
+ the folder is sorted by something like the subject. It can also be a
+ little slow if you are viewing a large, sorted _INBOX_, since the
+ _INBOX_ will have to be re-sorted whenever new mail arrives.
+
+ The sorts are all independent of case and ignore leading or trailing
+ white space. There are actually two forms of subject sort. One called
+ _Subject_ and the other called _OrderedSubj_. They both ignore "Re:" at
+ the beginning and "(fwd)" at the end of the subjects. _Subject_ sorts
+ all the subjects alphabetically. _OrderedSubj_ sorts by subjects
+ alphabetically, groups messages with the same subject (pseudo-threads),
+ then sorts the groups by the date of the first message of the group.
+ Sorting by _Thread_ was added after _OrderedSubj_ and is usually a
+ better method. Thread sorting uses information in the message headers
+ References, Message-ID, and Subject. It is possible the sort will be
+ slightly slower with a Thread sort than with an OrderedSubj sort. The
+ sort by sender sorts by the user-id (part before the "@"), not the full
+ name. The arrival sort is no sort at all and the date sort depends on
+ the format of the date. Some dates are in strange formats and are
+ unparsable. The time zone is also taken into account.
+
+ Sorting large mail folders can be very slow since it requires fetching
+ all the headers of the mail messages. With UNIX _Alpine_, only the
+ first sort is slow since _Alpine_ keeps a copy of all the headers. One
+ exception is sorting in reverse arrival order. This is fast because no
+ headers have to be examined. _Alpine_ will show progress as it is
+ sorting.
+ __________________________________________________________________
+
+Alternate Editor
+
+ In the _Alpine_ composer you can use any text editor, such as _vi_ or
+ _emacs,_ for composing the message text. The addresses and subject still
+ must be edited using the standard _Alpine_ composer. If you include the
+ feature enable-alternate-editor-cmd in your _pinerc_ you can type _^__
+ while in the body of the message in the composer and be prompted for
+ the editor. If you also set the editor variable in your _pinerc_ then
+ _^__ will invoke the configured editor when you type it.
+
+ Turning on the feature enable-alternate-editor-implicitly will
+ automatically invoke the editor you have defined with the _editor_
+ variable whenever you enter the body of a message you are composing.
+ For example, when you move out of the last header line and into the
+ body of the message, the alternate editor will be automatically
+ invoked.
+
+ We know that many people would like to use the alternate editor to edit
+ the mail header as well. We considered several designs for this and
+ didn't come up with one that we liked and that was easy to implement.
+ One of the main problems is that you lose access to the address book.
+ __________________________________________________________________
+
+Signatures and Signature Placement
+
+ If the file _~/.signature_ (UNIX) or _<PINERC_directory>\PINE.SIG (PC)
+ exists, it will be included in all outgoing messages. It is included
+ before composition starts so that the user has a chance to edit it out
+ if he or she likes. The file name for the signature can be changed by
+ setting the signature-file variable in the _pinerc_. If the feature
+ enable-sigdashes is turned on then the line consisting of the three
+ characters "-- " is prepended to the signature file. When Replying or
+ Forwarding a message different signatures my be automatically included
+ by configuring them in the Roles setup screen. It's easy to include
+ different signatures by hand, by having multiple signature files
+ (_.sig1, .sig2, .sig3, etc_) and choosing to include (^R in the
+ composer) the correct one for the message being sent.
+
+ _Alpine_'s default behavior encourages a user to put his or her
+ contribution before the inclusion of the original text of the message
+ being forwarded or replied to, This is contrary to some conventions,
+ but makes the conversation more readable when a long original message
+ is included in a reply for context. The reader doesn't have to scroll
+ through the original text that he or she has probably already seen to
+ find the new text. If the reader wishes to see the old message(s), the
+ reader can scroll further into the message. Users who prefer to add
+ their input at the end of a message should set the signature-at-bottom
+ feature. The signature will then be appended to the end of the message
+ after any included text. This feature applies when _Reply_ing, not when
+ _Forward_ing.
+ __________________________________________________________________
+
+Feature List Variable
+
+ _Alpine_ used to have _feature levels_ for users with different amounts
+ of experience. We found that this was too restrictive. _Alpine_ now has
+ a feature-list instead. Each user may pick and choose which features
+ they would like enabled (simple to do in the _Setup/Config_ screen).
+ There is a short description of each in Configuration Features. There
+ is also a short on-line help explaining the effect of each of the
+ features in the _Setup/Config_ screen. When the cursor is highlighting
+ a feature, the _?_ command will show the help text for that feature.
+ Features don't have values, they are just turned on or off. They are
+ all off by default.
+
+ The _feature-list_ variable is different from all other configuration
+ variables in that its value is additive. That is, the system-wide
+ configuration file can have some features turned on by default. The
+ user can select other features in their personal configuration file and
+ those features will be _added_ to the set of features turned on in the
+ system-wide configuration file. (With all other configuration
+ variables, the user's values _replace_ the system-wide values.)
+ Likewise, additional features may be set on the command-line with the
+ argument "-feature-list=". These will be added to the others.
+
+ The treatment of _feature-list_ in the system-wide _fixed_
+ configuration file is also different from other variables. The system
+ management can fix the value of individual features by placing them in
+ the fixed configuration file. Users will not be able to alter those
+ features, but will still be able to set the other non-restricted
+ features the way they like.
+
+ Because _feature-list_ is additive, there is a way to turn features off
+ as well as on. Prepending the prefix "no-" to any feature sets it to
+ off. This is useful for over-riding the system-wide default in the
+ personal configuration file or for over-riding the system-wide default
+ or the personal configuration value on the command line. For example,
+ if the system-wide default configuration has the _quit-without-confirm_
+ feature set, the user can over-ride that (and turn it off) by including
+ _no-quit-without-confirm_ in the personal configuration file or by
+ giving the command line argument
+ _-feature-list=no-quit-without-confirm._ More features (options) will no
+ doubt continue to be added.
+ __________________________________________________________________
+
+Configuration Inheritance
+
+ We start with an explanation of how configuration works in hopes of
+ making it easier to describe how inheritance works.
+
+ _Alpine_ uses a hierarchy of configuration values from different
+ locations. There are five ways in which each configuration option
+ (configuration variable) can be set. In increasing order of precedence
+ they are:
+
+ 1. the system-wide configuration file.
+ 2. the personal configuration file
+ 3. the personal exceptions file
+ 4. a command line argument
+ 5. the system-wide _fixed_ configuration file (Unix _Alpine_ only)
+
+ The fixed configuration file is normally
+ /usr/local/lib/pine.conf.fixed.
+
+ The system-wide configuration file is normally /usr/local/lib/pine.conf
+ for Unix _Alpine_ and is normally not set for _PC-Alpine_. For
+ _PC-Alpine_, if the environment variable _$PINECONF_ is set, that is
+ used for the system-wide configuration. This location can be set or
+ changed on the command line with the -P flag. The system-wide
+ configuration file can be either a local file or a remote configuration
+ folder.
+
+ For Unix _Alpine_, the personal configuration file is normally the file
+ .pinerc in the user's home directory. This can be changed with the -p
+ command line flag. For _PC-Alpine_, the personal configuration file is
+ in $PINERC or <PineRC registry value> or ${HOME}\ALPINE\PINERC or
+ <ALPINE.EXE dir>\PINERC. This can be changed with the -p command line
+ flag. If -p or $PINERC is used, the configuration data may be in a
+ local file or a remote config folder.
+
+ For Unix _Alpine_, the personal exceptions configuration file is
+ specified with the "-x exceptions_config" command line argument.
+ "Exceptions_config" may be either a local file or a remote
+ configuration folder. If there is no "-x" command line option, _Alpine_
+ will look for the file ".pinercex" in the same local directory that the
+ regular config file is located in. If the regular config file is remote
+ then Unix _Alpine_ looks in the home directory for ".pinercex".
+
+ For _PC-Alpine_, the personal exceptions configuration file is
+ specified with the "-x exceptions_config" command line argument. If
+ there is no "-x" command line argument the environment variable
+ $PINERCEX may be set to the name of the "exceptions_config" instead.
+ "Exceptions_config" may be either a local file or a remote
+ configuration folder. If there is no "-x" command line option and
+ $PINERCEX is not set, _PC-Alpine_ will look for the file "PINERCEX" in
+ the same local directory that the regular config file is located in. If
+ the regular config file is remote then _PC-Alpine_ looks in the local
+ directory specified by the "-aux local_directory" command line
+ argument, or the directory ${HOME}\ALPINE, or in <ALPINE.EXE directory>
+ for a file named "PINERCEX".
+
+ To reiterate, the value of a configuration option is taken from the
+ last location in the list above in which it is set. Or, thinking about
+ it slightly differently, a default value for an option is established
+ in the system-wide configuration file (or in the source code if there
+ is no value in the system-wide file). That default remains in effect
+ until and unless it is overridden by a value in a location further down
+ the list, in which case a new "default" value is established. As we
+ continue down the list of locations we either retain the value at each
+ step or establish a new value. The value that is still set after going
+ through the whole list of configuration locations is the one that is
+ used.
+
+ So, for example, if an option is set in the system-wide configuration
+ file and in the personal configuration file, but is not set in the
+ exceptions, on the command line, or in the fixed file; then the value
+ from the personal configuration file is the one that is used. Or, if it
+ is set in the system-wide config, in the personal config, not in the
+ exceptions, but is set on the command line; then the value on the
+ command line is used.
+
+ Finally we get to inheritance. For configuration options which are
+ lists, like "smtp-server" or "incoming-folders", the inheritance
+ mechanism makes it possible to _combine_ the values from different
+ locations instead of _replacing_ the value. This is true of all
+ configuration lists other than the "feature-list", for which you may
+ already set whatever you want at any configuration location (by using
+ the "no-" prefix if necessary).
+
+ To use inheritance, set the first item in a configuration list to the
+ token "INHERIT". If the first item is "INHERIT", then instead of
+ replacing the default value established so far, the rest of the list is
+ appended to the default value established so far and that is the new
+ value.
+
+ Here is an example which may make it clearer. Suppose we have:
+
+ System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com
+ Personal config : smtp-server = INHERIT, mysmtp.home
+ Exceptions config : smtp-server = <No Value Set>
+ Command line : smtp-server = <No Value Set>
+ Fixed config : smtp-server = <No Value Set>
+
+ This would result in an effective smtp-server option of
+
+ smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home
+
+ The "INHERIT" token can be used in any of the configuration files and
+ the effect cascades. For example, if we change the above example to:
+
+ System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com
+ Personal config : smtp-server = INHERIT, mysmtp.home
+ Exceptions config : smtp-server = INHERIT, yoursmtp.org
+ Command line : smtp-server = <No Value Set>
+ Fixed config : smtp-server = <No Value Set>
+
+ This would result in:
+
+ smtp-server = smtp1.corp.com, smtp2.corp.com, mysmtp.home, yoursmtp.org
+
+ Unset variables are skipped over (the default value is carried forward)
+ so that, for example:
+
+ System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com
+ Personal config : smtp-server = <No Value Set>
+ Exceptions config : smtp-server = INHERIT, yoursmtp.org
+ Command line : smtp-server = <No Value Set>
+ Fixed config : smtp-server = <No Value Set>
+
+ produces:
+
+ smtp-server = smtp1.corp.com, smtp2.corp.com, yoursmtp.org
+
+ If any later configuration location has a value set (for a particular
+ list option) which does _not_ begin with "INHERIT", then that value
+ replaces whatever value has been defined up to that point. In other
+ words, that cancels out any previous inheritance.
+
+ System-wide config : smtp-server = smtp1.corp.com, smtp2.corp.com
+ Personal config : smtp-server = INHERIT, mysmtp.org
+ Exceptions config : smtp-server = yoursmtp.org
+ Command line : smtp-server = <No Value Set>
+ Fixed config : smtp-server = <No Value Set>
+
+ results in:
+
+ smtp-server = yoursmtp.org
+
+ For some configuration options, like "viewer-hdr-colors" or
+ "patterns-roles", it is difficult to insert the value "INHERIT" into
+ the list of values for the option using the normal Setup tools. In
+ other words, the color setting screen (for example) does not provide a
+ way to input the text "INHERIT" as the first item in the
+ viewer-hdr-colors option. The way to do this is to either edit the
+ pinerc file directly and manually insert it, or turn on the
+ "expose-hidden-config" feature and insert it using the Setup/Config
+ screen.
+ __________________________________________________________________
+
+Using Environment Variables
+
+ The values of _Alpine_ configuration options may include environment
+ variables which are replaced by the value of the variable at the time
+ _Alpine_ is run (and also at the time the config option is changed). The
+ syntax to use environment variables is a subset of the common Unix
+ shell dollar-syntax. For example, if
+
+ $VAR
+
+ appears in the value of a _Alpine_ configuration option it is looked up
+ in the environent (using getenv("VAR")) and its looked-up value
+ replaces the $VAR part of the option value. To include a literal dollar
+ sign you may precede the dollar sign with another dollar sign. In other
+ words, if the text
+
+ $$text
+
+ is the value of a configuration option, it will be expanded to
+
+ $text
+
+ and no environment lookup will be done. For Unix _Alpine_ it will also
+ work to use a backslash character to escape the special meaning of the
+ dollar sign, but $$ is preferable since it works for both _PC-Alpine_
+ and Unix _Alpine_, allowing the configuration option to be in a shared
+ configuration file.
+
+ This all sounds more complicated than it actually is. An example may
+ make it clearer. Unfortunately, the way in which environment variables
+ are set is OS-dependent and command shell-dependent. In some Unix
+ command shells you may use
+
+ PERSNAME="Fred Flintstone"
+
+ export PERSNAME
+
+ Now, if you use _Alpine_'s Setup/Config screen to set
+
+ personal-name=$PERSNAME
+
+ the $PERSNAME would be replaced by Fred Flintstone so that this would
+ be equivalent to
+
+ personal-name=Fred Flintstone
+
+ Note, environment variable substitution happens after configuration
+ options which are lists are split into the separate elements of the
+ list, so a single environment variable can't contain a list of values.
+
+ The environment variable doesn't have to be the only thing after the
+ equal sign. However, if the name of the variable is not at the end of
+ the line or followed by a space (so that you can tell where the
+ variable name ends), it must be enclosed in curly braces like
+
+ ${VAR}
+
+ It is always ok to use the braces even if you don't need to.
+
+ It is also possible to set a default value for an environment variable.
+ This default value will be used if the environment variable is not set
+ (that is, if getenv("VAR") returns NULL). The syntax used to set a
+ default value is
+
+ ${VAR:-default value}
+
+ If the config file contains
+
+ personal-name=${VAR:-Fred Flintstone}
+
+ then when _Alpine_ is run VAR will be looked up in the environment. If
+ VAR is found then personal-name will have the value that VAR was set
+ to, otherwise, personal-name will be set to Fred Flintstone, the
+ default value.
+
+ An example where an environment variable might be useful is the
+ variable inbox-path in the global configuration file. Suppose most
+ users used the server
+
+ imapserver.example.com
+
+ but that there were some exceptions who used
+
+ altimapserver.example.com
+
+ In this case, the system manager might include the following line in
+ the systemwide default _Alpine_ configuration file
+
+ inbox-path=${IMAPSERVER:-imapserver.example.com}
+
+ For the exceptional users adding
+
+ IMAPSERVER=altimapserver.example.com
+
+ to their environment should work.
+
+ Another example might be the case where a user has to use a different
+ SMTP server from work and from home. The setup might be something as
+ simple as
+
+ smtp-server=$SMTP
+
+ or perhaps a default value could be given. Note that, as mentioned
+ above, the variable SMTP cannot contain a list of SMTP servers.
+ __________________________________________________________________
+
+SMTP Servers
+
+ It is sometimes desirable to set smtp-server=localhost instead of
+ setting sendmail-path to overcome the inability to negotiate ESMTP
+ options when _sendmail_ is invoked with the _-t_ option. Sendmail can
+ also be subject to unacceptable delays due to slow DNS lookups and
+ other problems.
+
+ It is sometimes desirable to configure an SMTP server on a port other
+ than the default port 25. This may be used to provide an alternate
+ service that is optimized for a particular environment or provides
+ different features from the port 25 server. An example would be a
+ program that negotiates ESMTP options and queues a message, but does
+ not attempt to deliver messages. This would avoid delays frequently
+ encountered when invoking _sendmail_ directly.
+
+ A typical configuration would consist of
+ * A program that implements the SMTP or ESMTP protocol via stdio.
+ * An entry in /etc/services for the alternate service.
+ * An entry in /etc/inetd.conf for the alternate service.
+ * An entry in /usr/local/lib/pine.conf,
+ /usr/local/lib/pine.conf.fixed or ~/.pinerc.
+ __________________________________________________________________
+
+MIME.Types file
+
+ _Alpine_'s MIME-TYPE support is based on code contributed by Hans
+ Drexler &LT;drexler@mpi.nl&GT;. _Alpine_ assigns MIME Content-Types
+ according to file name extensions found in the system-wide files
+ /usr/local/lib/mime.types and /etc/mime.types, and a user specific
+ ~/.mime.types file.
+
+ In Windows, _Alpine_ looks in the same directory as the PINERC file and
+ the same dir as ALPINE.EXE. This is similar to the UNIX situation with
+ personal config info coming before potentially shared config data. An
+ alternate search path can be specified by setting the
+ mimetype-search-path variable in the user or system-wide configuration
+ or by setting the MIMETYPES environment variable.
+
+ These files specify file extensions that will be connected to a mime
+ type. Lines beginning with a '#' character are treated as comments and
+ ignored. All other lines are treated as a mime type definition. The
+ first word is a _type/subtype_ specification. All following words are
+ file _extensions_ belonging to that type/subtype. Words are separated
+ by whitespace characters. If a file extension occurs more than once,
+ then the first definition determines the file type and subtype. A
+ couple sample lines from a mime.types file follow:
+
+image/gif gif
+text/html html htm
+video/mpeg mpeg mpg mpe
+
+ __________________________________________________________________
+
+Color Details
+
+ UNIX _Alpine_ may display color if the terminal or terminal emulator
+ you are using is capable of displaying colors. If the terminal supports
+ ANSI color escape sequences you will be able to turn color on using the
+ color-style option and setting it to the value _force-ansi-8color_ or
+ _force-ansi-16color_. If instead you'd like _Alpine_ to automatically
+ detect whether or not you are on a color terminal, set _color-style_ to
+ _use-termdef_ _and_ configure the termcap entry to describe your
+ terminal's color capabilities.
+
+ If the _color-style_ option is set to _use-termdef_, _Alpine_ looks in
+ the terminal capabilities database, TERMINFO or TERMCAP, depending on
+ how _Alpine_ was compiled, to decide whether or not your terminal is
+ capable of color. For TERMINFO compiled _Alpine_s, the capabilities
+ that are used for color are "colors", "setaf", "setab", "op", and
+ "bce". If you have a terminal with color capabilities described by the
+ "scp" capability, _Alpine_ does not support it. The capabilities "setf"
+ and "setb" may be used instead of "setaf" and "setab". The capability
+ "bce" is optional and is used as an optimization, the other
+ capabilities are required. For TERMCAP compiled _Alpine_s, the
+ capabilities that are used for color are "Co", "AF", "AB", "op", and
+ "ut". The capabilities "Sf" and "Sb" may be used instead of "AF" and
+ "AB", though this isn't a useful feature.
+
+ Here are some short descriptions of the capabilities listed above. The
+ TERMINFO name is listed, followed by the TERMCAP name in parentheses.
+ _colors_ (_Co_)
+ The number of different colors.
+ _setaf_ (_AF_)
+ Set ANSI foreground color.
+ _setab_ (_AB_)
+ Set ANSI background color.
+ _setf_ (_Sf_)
+ Set foreground color. Alternate form of _setaf_.
+ _setb_ (_Sb_)
+ Set background color. Alternate form of _setab_.
+ _op_ (_op_)
+ Set default pair to its original value.
+ _bce_ (_ut_)
+ Screen is erased with current background color instead of
+ default background.
+
+ A standard ANSI terminal which supports color will have a TERMINFO
+ entry which contains:
+ colors#8
+ setaf=\E[3%p1%dm
+ setab=\E[4%p1%dm
+ op=\E[39;49m
+ bce
+
+ or the TERMCAP equivalent:
+ Co#8
+ AF=\E[3%dm
+ AB=\E[4%dm
+ op=\E[39;49m
+ ut
+
+ If there are eight colors, the program uses colors 0, 1, ..., 7. For an
+ ANSI terminal, the foreground color is set by sending the escape
+ sequence "Escape LeftBracket 3 color_number m" to the terminal. The
+ background color is set by sending the sequence "Escape LeftBracket 4
+ color_number m". ANSI colors zero through seven are defined to be
+ "black", "red", "green", "yellow", "blue", "magenta", "cyan", and
+ "white". Some terminal emulators will swap blue and red and swap yellow
+ and cyan. The capabilities "setf" and "setb" are usually designed for
+ those terminals so that they will flip the color numbers 1 and 4 and
+ the numbers 3 and 6 to compensate for this. _Alpine_ will use the ANSI
+ versions of the capabilities if they exist, and will use the non-ANSI
+ versions (setf and setb) if the ANSI versions don't exist. Here's a
+ version which does the flipping. This can only be used with TERMINFO
+ _Alpine_s, because of the arithmetic, which is not supported by TERMCAP.
+ colors#8
+ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
+ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
+ op=\E[39;49m
+ bce
+
+ Some terminal emulators are capable of displaying eight more colors
+ when the foreground colors 30-37 are replaced with 90-97 and the
+ background colors 40-47 are replaced with 100-107. These terminals
+ require a fancy termcap entry which can take foreground colors 0, 1,
+ ..., 15 and map that into 30, 31, ..., 37, 90, 91, ..., 97, and
+ similarly for the background colors. Here is a terminfo entry which
+ will do just that:
+ colors#16
+ setaf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%dm
+ setab=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%dm
+ op=\E[39;49m
+ bce
+
+ and here is the termcap equivalent:
+ Co#16
+ AF=\E[%i%i%>\001\034%>\045\064%dm
+ AB=\E[%i%i%>\001\046%>\057\064%dm
+ op=\E[39;49m
+ ut
+
+ This is a terminfo entry for 16 colors that also does the color
+ flipping:
+ colors#16
+ setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{
+4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m
+ setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{
+4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m
+ op=\E[39;49m
+ bce
+
+ If you are always using the same display it probably won't matter to
+ you if the color pairs red/blue and cyan/yellow are flipped, since
+ you'll always be seeing them flipped. You will get different defaults
+ than on a display with them not flipped, but that's about all. If you
+ are trying to use the same pinerc file from displays with different
+ color characteristics, or from _Alpine_ and _PC-Alpine_, you will have
+ to be more careful. The colors numbered 0 through 7 may be used
+ portably between different systems if you are careful to make them
+ correspond to the ANSI order mentioned above. You can check this by
+ looking at a color configuration screen for one of the colors. The
+ first eight colors should be in the order above. If they aren't, you
+ could fix that by modifying your termcap entry on the UNIX system. This
+ is not possible if your system uses TERMCAP instead of TERMINFO.
+ __________________________________________________________________
+
+S/MIME Overview
+
+ UNIX _Alpine_ only.
+
+ S/MIME is a standard for the public key encryption and signing of
+ email. UNIX _Alpine_ contains a basic implementation of S/MIME based on
+ the OpenSSL libraries.
+
+ Some limitations:
+ * There is no _PC-Alpine_ implementation.
+ * There is no provision for checking for CRLs (Certificate Revocation
+ Lists) in _Alpine_.
+ * This built-in S/MIME implementation is not compatible with and does
+ not help with PGP.
+ * There is no mechanism available for feeding either an entire
+ incoming or an entire outgoing message to an external filter and
+ using that external filter to do S/MIME or PGP processing.
+ * Because the implementation currently uses OpenSSL, there is only a
+ very limited integration with the Mac OS Keychain (the storing and
+ access of public certificates).
+ * There is no way to view or manipulate the lists of certificates
+ from within _Alpine_.
+
+ The S/MIME configuration screen is reached by going to the Main Menu
+ and typing the "S Setup" command followed by "M S/MIME".
+
+ S/MIME BASICS
+
+ In order to digitally sign messages you send you must have a
+ public/private key-pair. This may be obtained from a public Certificate
+ Authority (CA) such as Thawte, Verisign, Comodo, or GoDaddy; or from a
+ smaller CA such as a university which provides certificates for its
+ users or a company which provides certificates for its workers. These
+ certificates are bound to an email address, so the identity being
+ verified is the email address not a person's name.
+
+ Mail is signed by using the sender's private key, which only the owner
+ of the private key has access to. The signature is verified using the
+ signer's public key, which anyone can have access to. With _Alpine_,
+ the first time you receive a signed message the public key of the
+ sender will be stored for future use.
+
+ Mail is encrypted using the recipient's public key and decrypted by the
+ recipient with their private key.
+
+ You need a key of your own in order to sign outgoing messages and to
+ have others encrypt messages sent to you. You do not need a key of your
+ own to verify signed messages sent by others or to encrypt messages
+ sent to others.
+
+ ALPINE S/MIME CERTIFICATE STORAGE
+
+ By default UNIX _Alpine_ stores the certificates it uses in a directory
+ in your home directory. The directory name is
+
+ .alpine-smime
+
+ Within that directory are three subdirectories. Each of the three
+ subdirectories contains files with PEM-encoded contents, the default
+ format for OpenSSL. The "public" directory contains public
+ certificates. The files within that directory have names that are email
+ addresses with the suffix ".crt" appended. An example filename is
+
+ user@example.com.crt
+
+ The "private" directory contains private keys, probably just one for
+ your private key. These are also email addresses but with the suffix
+ ".key" instead. The third directory is "ca" and it contains
+ certificates for any Certificate Authorities that you want to trust but
+ that aren't contained in the set of system CAs. Those files may have
+ arbitrary names as long as they end with the suffix ".crt".
+
+ HOW TO SIGN AND ENCRYPT
+
+ If you have a certificate you may sign outgoing messages. After typing
+ the Ctrl-X command to send a message you will see the prompt
+
+ Send message?
+
+ Available subcommands include "G Sign" and "E Encrypt". Typing the "G"
+ command will change the prompt to
+
+ Send message (Signed)?
+
+ Typing the "E" command will change the prompt to
+
+ Send message (Encrypted)?
+
+ You may even type both to get
+
+ Send message (Encrypted, Signed)?
+
+ HOW TO READ SIGNED OR ENCRYPTED MESSAGES
+
+ The reading of a signed message should not require any special action
+ on your part. There should be an editorial addition at the start of the
+ message which says either
+
+ This message was cryptographically signed.
+
+ or
+
+ This message was cryptographically signed but the signature could not
+ be verified.
+
+ If an encrypted message is sent to you the encrypted text will not be
+ shown. You will have to type the "Ctrl-D Decrypt" command (from the
+ screen where you are viewing the message) and supply your passphrase
+ when asked.
+
+ For a signed or encrypted message there is also a "Ctrl-E Security"
+ command which gives you some information about the certificate used to
+ sign or encrypt the message.
+
+ MISCELLANEOUS
+
+ You may have access to a private certificate in the PKCS12 format,
+ which would sometimes be in a file with a ".p12" suffix. The UNIX shell
+ command
+
+ openssl pkcs12 -in file.p12 -out file.pem
+
+ may work to convert that from the PKCS12 format to the PEM format. Then
+ that file could be placed in the "private" directory with a filename of
+ your email address followed by the suffix ".key".
+ __________________________________________________________________
+
+Additional Notes on PC-Alpine
+
+ Below are a few odds and ends worth mentioning about _PC-Alpine_. They
+ have to do with DOS-specific behavior that is either necessary or
+ useful (and sometimes both!).
+
+ As _PC-Alpine_ runs in an environment with limited access control,
+ accounting or auditing, an additional line is automatically inserted
+ into the header of mail messages generated by _PC-Alpine_:
+ X-Sender: <userid>@<imap.host>
+
+
+ By popular demand of system administrators, _PC-Alpine_ has been
+ modified to prevent sending messages until the user has successfully
+ logged into a remote mail server. Even though _PC-Alpine_ cannot
+ prevent users from changing the apparent identity of the sender of a
+ message, the IMAP server login name and host name included in the
+ _X-Sender_ line provide some level of traceability by the recipient.
+ However, this should not be considered a rigorous form of
+ authentication. It is extremely lightweight, and is not a replacement
+ for true authentication.
+
+ Hand in hand with authentication and accounting is user information.
+ Since _PC-Alpine_ has no user database to consult for _user-id_,
+ _personal-name_, etc., necessary information must be provided by the
+ user/installer before _PC-Alpine_ can properly construct the "From"
+ address required for outbound messages. _PC-Alpine_ will, by default,
+ prompt for the requisite pieces as they are needed. This information
+ corresponds to the _PINERC_ variables user-id, personal-name,
+ user-domain, and smtp-server.
+
+ The user is then asked whether or not this information should
+ automatically be saved to the _PINERC_. This is useful behavior in
+ general, but can lead to problems in a lab or other shared environment.
+ Hence, these prompts and automatic saving of configuration can be
+ turned off on an entry by entry basis by setting any of the above
+ values in the _PINERC_ to the null string (i.e., a pair of double
+ quotes). This means that the user will be prompted for the information
+ once during each _Alpine_ session, and no opportunity to save them in
+ the _PINERC_ will be offered.
+
+ Another feature of DOS is the lack of standard scratch area for
+ temporary files. During the course of a session, _PC-Alpine_ may
+ require numerous temporary files (large message texts, various caches,
+ etc.). Where to create them can be a problem, particularly when running
+ under certain network operating systems. _PC-Alpine_ observes the
+ _TMPDIR_, _TMP_, and _TEMP_ environment variables, and creates temporary
+ files in the directory specified by either. In their absence,
+ _PC-Alpine_ creates these files in the root of the current working
+ drive. Some temporary files have to be created in the same directory as
+ the file they are a temporary copy of. For example, a pinerc file or a
+ address book file.
+
+ Behind the Scenes
+
+ Many people ask how certain _Alpine_ features are implemented. This
+ section outlines some of the details.
+
+Address Books
+
+ There are two types of address book storage. There are _local_ address
+ books, which are the address books that are stored in a local file; and
+ there are _remote_ address books, which are stored on an IMAP server.
+
+ Information About Remote Address Books
+
+ NOTE: The remote address book capability does not allow you to
+ access an existing local address book from a remote system! That is,
+ you can't set the remote address book to something like
+ {remote.host}.addressbook and expect to access the existing
+ .addressbook _file_ on remote.host. Instead, you need to create a
+ new remote address book in a new, previously unused remote mail
+ _folder_. Then you can use the _Select_ and _Apply Save_ commands in
+ the address book screen to _Save_ all of the entries from an
+ existing local address book to the new remote address book.
+
+ A remote address book is stored in a mail folder on an IMAP server. An
+ _Alpine_ remote address book is just like an _Alpine_ local address book
+ in that it is not interoperable with other email clients. The folder is
+ a regular folder containing mail messages but those messages are
+ special. The first message must be an alpine remote address book header
+ message which contains the header _x-pine-addrbook_. The last message
+ in the folder contains the address book data. In between the first and
+ the last message are old versions of the address book data. The address
+ book data is simply stored in the message as it would be on disk, with
+ no MIME encoding. When it is used the data from the last message in the
+ folder is copied to a local file and then that file is used exactly
+ like a local address book file is used. When a change is made the
+ modified local file is appended to the remote folder in a new message.
+ In other words, the local file is just a cache copy of the data in the
+ remote folder. Each client which uses the remote address book will have
+ its own cache copy of the data. Whenever a copy is done the entire
+ address book is copied, not just the entries which have changed.
+
+ _Alpine_ can tell that the remote data has changed by one of several
+ methods. If the date contained in the Date header of the last message
+ has changed then it knows it has changed. If the UID of the last
+ message has changed, or the number of messages in the folder has
+ changed, it knows that it has changed. When _Alpine_ discovers the
+ folder has changed it gets a new copy and puts it in the local cache
+ file.
+
+ There is a configuration file variable for remote address books called
+ remote-abook-metafile. The variable is the name of a file in which
+ information about remote address books is stored. There is one line in
+ the metafile for each remote address book. The information stored there
+ is the name of the cache file and information to help figure out when
+ the remote folder was last changed. If the metafile or any of the cache
+ files is deleted then _Alpine_ will rebuild them the next time it runs.
+
+ Remote address books have names that look just like regular remote mail
+ folder names. For example:
+
+ {host.domain}foldername
+
+ _Alpine_ decides whether or not an address book is remote simply by
+ looking at the first character of the address book name and comparing
+ it to '{'.
+
+ Information About All Address Books
+
+ The address book is named, by default, .addressbook in the user's Unix
+ home directory, or in the case of _PC-Alpine_, ADDRBOOK, in the same
+ directory as the PINERC file. There may be more than one address book,
+ and the default name can be overridden via an entry in any of the
+ _Alpine_ configuration files. The two configuration variables
+ address-book and global-address-book are used to specify the names of
+ the address books. Each of these variables is a list variable. The
+ total set of address books for a user is the combination of all the
+ address books specified in these two lists. Each entry in the list is
+ an optional nickname followed by an address book name. The nickname is
+ everything up to the last space before the file name. The
+ _global-address-book_ list will typically be configured in the
+ system-wide configuration file, though a user may override it like most
+ other variables. Address books which are listed in the
+ _global-address-book_ variable are forced read-only, and are typically
+ shared among multiple users.
+
+ Local address books (or local cache files for remote address books) are
+ simple text files with lines in the format:
+
+ <nickname>TAB<fullname>TAB<address>TAB<fcc>TAB<comments>
+
+ The last two fields are optional. A "line" may be made up of multiple
+ actual lines in the file by using continuation lines, which are lines
+ beginning with SPACE characters. The line breaks may be after TABs or
+ in between addresses in a distribution list. Each _actual_ line in the
+ file must be less than 1000 characters in length.
+
+ Nicknames (the first field) are short names that the user types instead
+ of typing in the full address. There are several characters which
+ aren't allowed in nicknames in order to avoid ambiguity when parsing
+ the address (SPACE, COMMA, @, ", ;, :, (, ), [, ], <, >, \). Nicknames
+ aren't required. In fact, none of the fields is required.
+
+ The _fullname_ field is usually stored as Last_name, First_name, in
+ order that a sort on the fullname field comes out sorted by Last_name.
+ If there is an unquoted comma in the fullname, _Alpine_ will flip the
+ first and last name around and get rid of the comma when using the
+ entry in a composition. It isn't required that there be a comma, that's
+ only useful if the user wants the entries to sort on last names.
+
+ The _address_ field takes one of two forms, depending on whether the
+ entry is a single (simple) address or a distribution list. For a simple
+ entry, the address field is an RFC 2822 address. This could be either
+ the email-address part of the address, i.e., the part that goes inside
+ the brackets (<>), or it could be a full RFC 2822 address. The phrase
+ part of the address (the fullname) is used unless there is a fullname
+ present in the fullname field of the address book entry. In that case,
+ the fullname of the address book entry replaces the fullname of the
+ address. For a distribution list, the <address> is in the format:
+
+ "(" <address>, <address>, <address>, ... ")"
+
+ The only purpose for the parentheses around the list of addresses is to
+ make it easier for the parsing routines to tell that it is a simple
+ entry instead of a list. The two are displayed differently and treated
+ slightly differently in some cases, though most of the distinction has
+ disappeared. Each of the addresses in a list can be a full RFC 2822
+ address with fullname included, or it may be just the simple
+ email-address part of the address. This allows the user to have a list
+ which includes the fullnames of all the list members. In both the
+ simple and list cases, addresses may also be other nicknames which
+ appear in this address book or in one of the other address books.
+ (Those nicknames are searched for by looking through the address books
+ in the order they appear in the address book screen, with the first
+ match winning.) Lists may be nested. If addresses refer to each other
+ in a loop (for example, list A includes list B which includes list A
+ again) this is detected and flagged. In that case, the address will be
+ changed to "**** address loop ****".
+
+ The optional _fcc_ field is a folder name, just like the fcc field in
+ the composer headers. If the first address in the To field of a
+ composition comes from an address book entry with an fcc field, then
+ that fcc is placed in the fcc header in the composer.
+
+ The _comments_ field is just a free text field for storing comments
+ about an entry. By default, neither the fcc nor the comments field is
+ shown on the screen in the address book screen. You may make those
+ fields visible by configuring the variable addressbook-formats. They
+ are also searched when you use the _WhereIs_ command in the address
+ book screen and are visible when you _View_ or _Update_ an entry.
+
+ The address book is displayed in the order that it is stored. When the
+ user chooses a different sorting criterion, the data is actually sorted
+ and stored, as opposed to showing a sorted view of the data.
+
+ When the address book is written out, it is first written to a
+ temporary file and if that write is successful it is renamed. This
+ guards against errors writing the file that might destroy the whole
+ address book. The address book is re-written after each change. If the
+ address book is a remote address book, the file is then appended to the
+ remote mail folder using IMAP.
+
+ The end-of-line character(s) in the address book file are those native
+ to the system writing it. So it is <LF> on Unix and <CR><LF> on PC's.
+ However, both Unix and PC versions of _Alpine_ can read either format,
+ so it should be possible to share a read-only address book among the
+ two populations (using NFS, for example).
+ __________________________________________________________________
+
+ Address Book Lookup File
+
+ _Pine_ used an additional file for each address book, called the LookUp
+ file. It had the same name as the address book file with the suffix
+ ".lu" appended. _Alpine_ no longer uses a lookup file.
+
+ Validity Checking of Address Books
+
+ There is no file locking done on _Alpine_ address books, however, there
+ is considerable validity checking done to make sure that the address
+ book hasn't changed unexpectedly. Whenever the address book is about to
+ be changed, a check is made to see if the file is newer than when we
+ read it or the remote address book folder has changed since we last
+ copied it. If either of these is true, the change is aborted.
+
+ There is an automatic, behind-the-scene check that happens every so
+ often, also. For example, if someone else changes one of the address
+ books that you have configured, your _Alpine_'s copy of the address
+ book will usually be updated automatically without you noticing. This
+ checking happens at the same time as new mail checking takes place,
+ unless you are actively using the address book, in which case it
+ happens more frequently.
+ __________________________________________________________________
+
+Remote Configuration
+
+ Configuration information may be stored remotely. Remote configuration
+ information is stored in a folder on an IMAP server. This should be a
+ folder which is used only for storing the configuration information. In
+ other words, it should be a folder which didn't exist before.
+
+ Remote configuration folders are very similar to remote address book
+ folders. They both consist of a header message, which serves to
+ identify the type of folder; the last message, which contains the data;
+ and intermediate messages, which contain old versions of the data. The
+ first message must contain the header _x-pine-pinerc_.
+
+ When a remote configuration is being used, the folder is checked to
+ make sure it is a remote configuration folder, then the data contained
+ in the last message is copied to a temporary file. That file is treated
+ just like any regular local configuration file from that point on.
+ Whenever a configuration change is made, the entire file is copied back
+ to the IMAP server and is appended to the folder as a new message.
+
+ Because remote configuration folders are so similar to remote address
+ books, the configuration variable remote-abook-metafile is used by
+ both.
+
+ Remote configuration folders have names that look just like regular
+ remote mail folder names. For example:
+
+ {host.domain}mypinerc
+
+ _Alpine_ decides whether or not a configuration file is remote simply
+ by looking at the first character of the name and comparing it to '{'.
+ __________________________________________________________________
+
+Checkpointing
+
+ Periodically _Alpine_ will save the whole mail folder to disk to
+ prevent loss of any mail or mail status in the case that it gets
+ interrupted, disconnected, or crashes. The period of time _Alpine_
+ waits to do the checkpoint is calculated to be minimally intrusive. The
+ timing can be changed (but usually isn't) at compile time. Folder
+ checkpointing happens for both local folders and those being accessed
+ with IMAP. The delays are divided into three categories:
+
+ The exact algorithm given below is no longer correct. It has gotten
+ more complicated over time. However, this gives the general idea
+ _Alpine_ uses when deciding whether or not to do a checkpoint.
+
+ Good Time:
+ This occurs when _Alpine_ has been idle for more than 30
+ seconds. In this case _Alpine_ will checkpoint if 12 changes to
+ the file have been made or at least one change has been made and
+ a checkpoint hasn't been done for five minutes.
+ Bad Time:
+ This occurs just after _Alpine_ has executed some command.
+ _Alpine_ will checkpoint if there are 36 outstanding changes to
+ the mail file or at least one change and no checkpoint for ten
+ minutes.
+ Very Bad Time:
+ Done when composing a message. In this case, _Alpine_ will only
+ checkpoint if at least 48 changes have been made or at least one
+ change has been made in the last twenty minutes with no
+ checkpoint.
+ __________________________________________________________________
+
+Debug Files
+
+ If UNIX _Alpine_ is compiled with the compiler _DEBUG_ option on (the
+ default), then _Alpine_ will produce debugging output to a file. This
+ can be disabled at compile-time with the --disable-debug configure
+ option, or at run-time with the command line flag -d0. The file is
+ normally .pine-debugX in the user's home directory where _X_ goes from
+ 1 to 4. Number 1 is always the most recent session and 4 the oldest.
+ Four are saved because often the user has gone in and out of _Alpine_ a
+ few times after a problem has occurred before the expert actually gets
+ to look at it. The amount of output in the debug files varies with the
+ debug level set when _Alpine_ is compiled and/or as a command line
+ flag. The default is level 2. This shows very general things and
+ records errors. Level 9 produces copious amounts of output for each
+ keystroke.
+
+ Similarly, _PC-Alpine_ creates debug files named pinedebg.txtX in the
+ same directory as the PINERC file.
+ __________________________________________________________________
+
+INBOX and Special Folders
+
+ The _INBOX_ folder is treated specially. It is normally kept open
+ constantly so that the arrival of new mail can be detected. The name
+ _INBOX_ refers to wherever new mail is retrieved on the system. If the
+ inbox-path variable is set, then _INBOX_ refers to that. IMAP servers
+ understand the concept of _INBOX_, so specifying the folder
+ _{imap.u.example.edu}INBOX_ is meaningful. The case of the word _INBOX_
+ is not important, but _Alpine_ tends to display it in all capital
+ letters.
+
+ The folders for sent mail and saved messages folders are also somewhat
+ special. They are automatically created if they are absent and
+ recreated if they are deleted.
+ __________________________________________________________________
+
+Internal Help Files
+
+ The file pine.hlp in the alpine subdirectory of the distribution
+ contains all the help text for _Alpine_. It is compiled right into the
+ _Alpine_ binary as strings. This is done to simplify installation and
+ configuration. The pine.hlp file is in a special format that is
+ documented at the beginning of the file. It is divided into sections,
+ each with a name that winds up being referenced as a global variable.
+ This file is processed during the build process and turned into a C
+ file that is compiled into _Alpine_.
+ __________________________________________________________________
+
+International Character Sets
+
+ _Alpine_ uses Unicode characters internally and it is a goal for
+ _Alpine_ to handle email in many different languages. _Alpine_ will
+ properly display only left-to-right character sets in a fixed-width
+ font. Specifically, _Alpine_ assumes that a fixed-width font is in use,
+ in the sense that characters are assumed to take up zero, one, or two
+ character cell widths from left to right on the screen. This is true
+ even in _PC-Alpine_.
+
+ _Alpine_ recognizes some local character sets which are right-to-left
+ (Arabic, Hebrew, and Thai) or not representable in a fixed-width font
+ (Arabic) and properly converts texts in these character sets to/from
+ Unicode; however, there are known display bugs with these character
+ sets.
+
+ There are three possible configuration character settings and some
+ environment variable settings which can affect how _Alpine_ handles
+ international characters. The first two of these are only available in
+ UNIX _Alpine_. The three configuration options are
+ _display-character-set_, _keyboard-character-set_, and
+ _posting-character-set_. The _keyboard-character-set_ defaults to being
+ the same value as the _display-character-set_, and that is usually
+ correct, because the keyboard almost always produces characters in the
+ same character set as the display displays. The _display-character-set_
+ is the character set that _Alpine_ will attempt to use when sending
+ characters to the display.
+
+ Besides those variables there is also use-system-translation which can
+ be used instead of these. That usage is only lightly tested and is not
+ recommended.
+
+ By default, the _display-character-set_ variable is not set and UNIX
+ _Alpine_ will attempt to get this information from the environment. In
+ particular, the nl_langinfo(CODESET) call is used. This usually depends
+ on the setting of the environment variables LANG or LC_CTYPE. An
+ explicit configuration setting for _display-character-set_ will, of
+ course, override any default setting.
+
+ For _PC-Alpine_ the _display-character-set_ and the
+ _keyboard-character-set_ are always equivalent to UTF-8 and this is not
+ settable.
+
+ It is probably best to use UNIX _Alpine_ in a terminal emulator capable
+ of displaying UTF-8 characters, since that will allow you to view just
+ about any received text that is correctly formatted (note, however, the
+ above comments about known index display bugs with certain character
+ sets). You'll need to have an emulator which uses a UTF-8 font and
+ you'll need to set up your environment to use a UTF-8 charmap. For
+ example, on a Linux system you might include
+
+ setenv LANG en_US.UTF-8
+
+ or something similar in your UNIX startup files. You'd also have to
+ select a UTF-8 font in your terminal emulator.
+
+ The types of values that the character set variables may be set to are
+ UTF-8, ISO-8859-1, or EUC-JP. The ISO-2022 character sets are not
+ supported for input or for display, but as a special case, ISO-2022-JP
+ is supported for use only as a _posting-character-set_. In the
+ Setup/Config screen you may choose from a list of all the character
+ sets _Alpine_ knows about by using the "T" ToCharsets command. Here is
+ a list of many of the possible character sets:
+
+ UTF-8 Unicode
+ US-ASCII 7 bit American English characters
+ ISO-8859-1 8 bit European "Latin 1" character set
+ ISO-8859-2 8 bit European "Latin 2" character set
+ ISO-8859-3 8 bit European "Latin 3" character set
+ ISO-8859-4 8 bit European "Latin 4" character set
+ ISO-8859-5 8 bit Latin and Cyrillic
+ ISO-8859-6 8 bit Latin and Arabic
+ ISO-8859-7 8 bit Latin and Greek
+ ISO-8859-8 8 bit Latin and Hebrew
+ ISO-8859-9 8 bit European "Latin 5" character set
+ ISO-8859-10 8 bit European "Latin 6" character set
+ ISO-8859-11 Latin and Thai
+ ISO-8859-12 Reserved
+ ISO-8859-13 8 bit European "Latin 7" character set
+ ISO-8859-14 8 bit European "Latin 8" character set
+ ISO-8859-15 8 bit European "Latin 9" character set
+ ISO-8859-16 8 bit European "Latin 10" character set
+ KOI8-R 8 bit Latin and Russian
+ KOI8-U 8 bit Latin and Ukranian
+ WINDOWS-1251 8 bit Latin and Russian
+ TIS-620 8 bit Latin and Thai
+ VISCII 8 bit Latin and Vietnamese
+ GBK Latin and Chinese Simplified
+ GB2312 Latin and Chinese Simplified
+ CN-GB Latin and Chinese Simplified
+ BIG5 Latin and Chinese Traditional
+ BIG-5 Latin and Chinese Traditional
+ EUC-JP Latin and Japanese
+ SHIFT-JIS Latin and Japanese
+ EUC-KR Latin and Korean
+ KSC5601 Latin and Korean
+
+ When reading incoming email, _Alpine_ understands many different
+ character sets and is able to convert the incoming mail into Unicode.
+ The Unicode will be converted to the _display-character-set_ for
+ display on your terminal. Characters typed at the keyboard will be
+ converted from the _keyboard-character-set_ to Unicode for _Alpine_'s
+ internal use. You may find that you can read some malformed messages
+ that do not contain a character set label by setting the option
+ unknown-character-set.
+
+ The _posting-character-set_ is used when sending messages. The default
+ behavior obtained by leaving this variable unset is usually what is
+ wanted. In that default case, _Alpine_ will attempt to label the
+ message with the most specific character set from the rather arbitrary
+ set
+
+ US-ASCII, ISO-8859-15, ISO-8859-1, ISO-8859-2, VISCII, KOI8-R, KOI8-U,
+ ISO-8859-7, ISO-8859-6, ISO-8859-8, TIS-620, ISO-2022-JP, GB2312, BIG5,
+ EUC-KR, and UTF-8.
+
+ For example, if the message is made up of only US-ASCII characters, it
+ will be labeled US-ASCII. Otherwise, if it is all ISO-8859-15
+ characters, that will be the label. If that doesn't work the same is
+ tried for the remaining members of the list.
+
+ It might make sense to set _posting-character-set_ to an explicit value
+ instead. For example, if you usually send messages in Greek, setting
+ this option to ISO-8859-7 will result in messages being labeled as
+ US-ASCII if there are no non-ascii characters, ISO-8859-7 if there are
+ only Greek characters, or UTF-8 if there are some characters which
+ aren't representable in ISO-8859-7. Another possibility is to set this
+ option explicitly to UTF-8. In that case _Alpine_ labels only ascii
+ messages as US-ASCII and all other messages as UTF-8.
+ __________________________________________________________________
+
+Interrupted and Postponed Messages
+
+ If the user is composing mail and is interrupted by being disconnected
+ (SIGHUP, SIGTERM or end of file on the standard input), _Alpine_ will
+ save the interrupted composition and allow the user to continue it when
+ he or she resumes _Alpine_. As the next _Alpine_ session starts, a
+ message will be given that an interrupted message can be continued. To
+ continue the interrupted message, simply go into the composer. To get
+ rid of the interrupted message, go into the composer and then cancel
+ the message with _^C._
+
+ Composition of half-done messages may be postponed to a later time by
+ giving the _^O_ command. Other messages can be composed while postponed
+ messages wait. All of the postponed messages are kept in a single
+ folder. Postponing is a good way to quickly reference other messages
+ while composing.
+ __________________________________________________________________
+
+Message Status
+
+ The c-client library allows for several flags or status marks to be set
+ for each message. _Alpine_ uses four of these flags: UNSEEN, DELETED,
+ ANSWERED, and FLAGGED. The N in _Alpine_'s FOLDER INDEX means that a
+ message is unseen-it has not been read from this folder yet. The D
+ means that a message is marked for deletion. Messages marked with D are
+ removed when the user _Expunges_ the folder (which usually happens when
+ the folder is closed or the user quits _Alpine_). The A in _Alpine_'s
+ FOLDER INDEX means that the message has been replied-to. The * in
+ _Alpine_'s FOLDER INDEX means that the message has been ``flagged'' as
+ important. That is, the user used the _Flag_ command to turn the
+ FLAGGED flag on. This flag can mean whatever the user wants it to mean.
+ It is just a way to mark some messages as being different from others.
+ It will usually probably be used to mark a message as somehow being
+ ``important''. For Berkeley format folders, the message status is
+ written into the email folder itself on the header lines marked Status:
+ and X-Status.
+
+ It is also possible for a user to define their own flags in addition to
+ the standard system flags above. In _Alpine_ these user defined flags
+ are called Keywords.
+ __________________________________________________________________
+
+MIME: Reading a Message
+
+ _Alpine_ should be able to handle just about any MIME message. When a
+ MIME message is received, _Alpine_ will display a list of all the
+ parts, their types and sizes. It will display the attachments when
+ possible and appropriate and allow users to _Save_ all other
+ attachments.
+
+ _Alpine_ honors the "mailcap" configuration system for specifying
+ external programs for handling attachments. The mailcap file maps MIME
+ attachment types to the external programs loaded on your system which
+ can display and/or print the file. A sample mailcap file comes bundled
+ with the _Alpine_ distribution. It includes comments which explain the
+ syntax you need to use for mailcap. With the mailcap file, any program
+ (mail readers, newsreaders, WWW clients) can use the same configuration
+ for handling MIME-encoded data.
+
+ If a MAILCAPS environment variable is defined, _Alpine_ will use that
+ to look for one or more mailcap files, which are combined. In the
+ absence of MAILCAPS, Unix _Alpine_ will look for a personal mailcap
+ file in ~/.mailcap and combine that with a system-wide file in
+ /etc/mailcap. _PC-Alpine_ will look for a file named MAILCAP in the
+ same directory as the PINERC file, and/or the directory containing the
+ ALPINE.EXE executable.
+
+ Messages which include _rich text_ or _enriched text_ in the main body
+ will be displayed in a very limited way (it will show bold and
+ underlining).
+
+ If _Alpine_ sees a MIME message part tagged as type IMAGE, and
+ _Alpine_'s image-viewer configuration variable is set, _Alpine_ will
+ attempt to send that attachment to the named image viewing program. In
+ the case of UNIX _Alpine_, the DISPLAY environment variable is checked
+ to see if an X-terminal is being used (which can handle the images). If
+ the _image-viewer_ variable is not set, _Alpine_ uses the _mailcap_
+ system to determine what to do with IMAGE types, just as it does for
+ any other non-TEXT type, e.g. type APPLICATION. For MIME's generic
+ "catch all" type, APPLICATION/OCTET-STREAM, the _mailcap_ file will
+ probably not specify any action, but _Alpine_ users may always _Save_
+ any MIME attachment to a file.
+
+ MIME type "text/plain" is handled a little bit differently than the
+ other types. If you are viewing the main body part in the MESSAGE TEXT
+ viewing screen, then _Alpine_ will use its internal viewer to display
+ it. This happens even if there is a mailcap description which matches
+ this particular type. However, if you view a part of type "text/plain"
+ from the ATTACHMENT INDEX screen, then _Alpine_ will check the mailcap
+ database for a matching entry and use it in preference to its internal
+ viewer.
+
+ Some text attachments, specifically those which are just other email
+ messages forwarded as MIME messages, are displayed as part of the main
+ body of the message. This distinction allows easy display when possible
+ (the forward as MIME case) and use of an attachment viewer when that is
+ desirable (the plain text file attachment case).
+
+ If the parts of a multipart message are alternate versions of the same
+ thing _Alpine_ will select and display the one best suited. For parts
+ of type "message/external-body", the parameters showing the retrieval
+ method will be displayed, and the retrieval process is automated.
+ Messages of type "message/partial" are not supported.
+ __________________________________________________________________
+
+MIME: Sending a Message
+
+ There are two important factors when trying to include an attachment in
+ a message: encoding and labeling. _Alpine_ has rules for both of these
+ which try to assure that the message goes out in a form that is robust
+ and can be handled by other MIME mail readers.
+
+ MIME has two ways of encoding data-Quoted-Printable and Base64.
+ Quoted-Printable leaves the ASCII text alone and only changes 8-bit
+ characters to "=" followed by the hex digits. For example, "=09" is a
+ tab. It has the advantage that it is mostly readable and that it allows
+ for end of line conversions between unlike systems. Base64 encoding is
+ similar to _uuencode_ or _btoa_ and just encodes a raw bit stream. This
+ encoding is designed to get text and binary files through even the most
+ improperly implemented and configured gateways intact, even those that
+ distort uuencoded data.
+
+ _All_ attachments are encoded using Base64 encoding. This is so that
+ the attachment will arrive at the other end looking exactly like it did
+ when it was sent. Since Base64 is completely unreadable except by
+ MIME-capable mailers or programs, there is an obvious tradeoff being
+ made here. We chose to ensure absolutely reliable transport of
+ attachments at the cost of requiring a MIME-capable mailer to read
+ them. If the user doesn't want absolute integrity he or she may always
+ _include_ text (with the _^R_ command) in the body of a message instead
+ of attaching it. With this policy, the only time quoted-printable
+ encoding is used is when the main body of a message includes special
+ foreign language characters.
+
+ When an attachment is to be sent, _Alpine_ sniffs through it to try to
+ set the right label (content-type and subtype). An attachment with any
+ lines longer than 500 characters in it or more than 10% of the
+ characters are 8-bit it will be considered binary data. _Alpine_ will
+ recognize (and correctly label) a few special types including GIF,
+ JPEG, PostScript, and some audio formats. Another method which can be
+ more robust and flexible for determining the content-type and subtype
+ is to base it on the file extension. This method uses a MIME.Types
+ File.
+
+ If it is not binary data (has only a small proportion of 8-bit
+ characters in it,) the attachment is considered 8-bit text. 8-bit text
+ attachments are labeled "text/plain" with charset set to the value of
+ the user's _keyboard-character-set_ variable. If an attachment is ASCII
+ (no 8-bit characters) and contains no control characters then it is
+ considered plain ASCII text. Such attachments are given the MIME label
+ "text/plain; charset=US-ASCII", regardless of the setting of the user's
+ _keyboard-character-set_ variable.
+
+ All other attachments are unrecognized and therefore given the generic
+ MIME label "application/octet-stream".
+ __________________________________________________________________
+
+New Mail Notification
+
+ _Alpine_ checks for new mail in the _INBOX_ and in the currently open
+ folder every two and a half minutes by default. This default can be
+ changed in the system-wide configuration file or at compile-time with
+ the --with-mailcheck-interval=VALUE configuration option. A user can
+ change it by changing the option mail-check-interval. A new mail check
+ can be manually forced by redrawing the screen with a _^L_.
+
+ When there is new mail, the message(s) will appear in the index, the
+ screen will beep, and a notice showing the sender and subject will be
+ displayed. If there has been more than one new message since you last
+ issued a command to _Alpine_, the notice will show the count of new
+ messages and the sender of the most recent one.
+ __________________________________________________________________
+
+NFS
+
+ It is possible to access mail folders on _NFS_ mounted volumes with
+ _Alpine_, but there are some drawbacks to doing this, especially in the
+ case of incoming-message folders that may be concurrently updated by
+ _Alpine_ and the system's mail delivery agent. One concern is that
+ _Alpine_'s user-contention locks don't work because _/tmp_ is usually
+ not shared, and even if it was, _flock()_ doesn't work across _NFS._
+
+ The implementation of the standard UNIX ".lock" file locking has been
+ modified to work with _NFS_ as follows. Standard hitching post locking
+ is used so first a uniquely named file is created, usually something
+ like _xxxx.host.time.pid._ Then a link to it is created named
+ _xxxx.lock_ where the folder being locked is _xxxx._ This file
+ constitutes the lock. This is a standard UNIX locking scheme. After the
+ link returns, a _stat(2)_ is done on the file. If the file has two
+ links, it is concluded that the lock succeeded and it is safe to
+ proceed.
+
+ In order to minimize the risks of locking failures via _NFS_, we
+ strongly recommend using IMAP rather than _NFS_ to access remote
+ incoming message folders, e.g. your _INBOX_. However, it is generally
+ safe to access personal saved-message folders via _NFS_ since it is
+ unlikely that more than one process will be updating those folders at
+ any given time. Still, some problems may occur when two _Alpine_
+ sessions try to access the same mail folder from different hosts
+ without using IMAP. Imagine the scenario: _Alpine_-A performs a write
+ that changes the folder. _Alpine_-B then attempts to perform a write on
+ the same folder. _Alpine_-B will get upset that the file has been
+ changed from underneath it and abort operations on the folder.
+ _Alpine_-B will continue to display mail from the folder that it has in
+ its internal cache, but it will not read or write any further data. The
+ only thing that will be lost out of the _Alpine_-B session when this
+ happens is the last few status changes.
+
+ If other mail readers besides _Alpine_ are involved, all bets are off.
+ Typically, mailers don't take any precautions against a user opening a
+ mailbox more than once and no special precautions are taken to prevent
+ _NFS_ problems.
+ __________________________________________________________________
+
+Printers and Printing
+
+ UNIX _Alpine_ can print to the standard UNIX line printers or to
+ generic printers attached to ANSI terminals using the escape sequences
+ to turn the printer on and off. The user has a choice of three printers
+ in the configuration.
+
+ The first setting, _attached-to-ansi_, makes use of escape sequences on
+ ANSI/VT100 terminals. It uses "<ESC>[5i" to begin directing all output
+ sent to the terminal to the printer and then "<ESC>[4i" to return to
+ normal. _Alpine_ will send these escape sequences if the printer is set
+ to _attached-to-ansi._ This works with most ANSI/VT100 emulators on
+ Macs and PCs such as kermit, NCSA telnet, VersaTerm Pro, and WinQVT.
+ Various terminal emulators implement the print feature differently.
+ There is also a closely related method called
+ _attached-to-ansi-no-formfeed_ which is the same except for the lack of
+ formfeed character at the end of the print job.
+
+ _Attached-to-wyse_ and _attached-to-wyse-no-formfeed_ are very similar
+ to "attached-to-ansi". The only difference is in the control characters
+ sent to turn the printer on and off. The Wyse version uses Ctrl-R for
+ on, and Ctrl-T for off.
+
+ The second selection is the standard UNIX print command. The default is
+ _lpr_, but it can be changed on a system basis to anything so desired
+ in /usr/local/lib/pine.conf.
+
+ The third selection is the user's personal choice for a UNIX print
+ command. The text to be printed is piped into the command. _Enscript_
+ or _lpr_ with options are popular choices. The actual command is
+ retained even if one of the other print selections is used for a while.
+
+ Both the second and third sections are actually lists of possible
+ commands rather than single commands.
+
+ If you have a PostScript printer attached to a PC or Macintosh, then
+ you will need to use a utility called _ansiprt_ to get printouts on
+ your printer. _Ansiprt_ source code and details can be found in the
+ ./contrib directory of the _Alpine_ distribution.
+ __________________________________________________________________
+
+Save and Export
+
+ _Alpine_ users get two options for moving messages in _Alpine_: _Save_
+ and _Export_. _Save_ is used when the message should remain ``in the
+ _Alpine_ realm.'' Saved messages include the complete header (including
+ header lines normally hidden by _Alpine_), are placed in a _Alpine_
+ folder collection and accumulate in a standard folder format which
+ _Alpine_ can read. In contrast, the _Export_ command is used to write
+ the contents of a message to a file for use outside of _Alpine_.
+ Messages which have been exported are placed in the user's home
+ directory (unless the feature use-current-dir is turned on), not in a
+ _Alpine_ folder collection. Unless FullHeaderMode is toggled on, all
+ delivery-oriented headers are stripped from the message. Even with
+ _Export_, _Alpine_ retains message separators so that multiple messages
+ can accumulate in a single file and subsequently be accessed as a
+ folder. On UNIX systems, the _Export_ command pays attention to the
+ standard _umask_ for the setting of the file permissions.
+ __________________________________________________________________
+
+Sent Mail
+
+ _Alpine_'s default behavior is to keep a copy of each outgoing message
+ in a special "sent mail" folder. This folder is also called the fcc for
+ "file carbon copy". The existence, location and name of the sent mail
+ folder are all configurable. Sent mail archiving can be turned off by
+ setting the configuration variable default-fcc="". The sent mail folder
+ is assumed to be in the default collection for _Save_s, which is the
+ first collection named in folder-collections. The name of the folder
+ can be chosen by entering a name in _default-fcc_. With _PC-Alpine_,
+ this can be a bit complicated. If the default collection for _Save_s is
+ local (DOS), then the _default-fcc_ needs to be SENTMAIL, which is
+ syntax for a DOS file. However, if the default collection for _Save_s
+ is remote, then the _default-fcc_ needs to be sent-mail to match the
+ UNIX syntax.
+
+ The configuration variable fcc-name-rule also plays a role in selecting
+ the folder to save sent mail in.
+
+ A danger here is that the sent mail could grow without bound. For this
+ reason, we thought it useful to encourage the users to periodically
+ prune their sent mail folder. The first time _Alpine_ is used each
+ month it will offer to archive all messages sent from the month before.
+ _Alpine_ also offers to delete all the sent mail archive folders which
+ are more than 1 month old. If the user or system has disabled sent mail
+ archiving (by setting the configuration variable _default-fcc=""_)
+ there will be no pruning question.
+ __________________________________________________________________
+
+Spell Checker
+
+ Both UNIX _Alpine_ and _PC-Alpine_ depend on the system for their spell
+ checking and dictionary. _Pico_, the text editor, uses the same spell
+ checking scheme as _Alpine_.
+
+ Lines beginning with ">" (usually messages included in replies) are not
+ checked. The message text to be checked is on the standard input and
+ the incorrect words are expected on the standard output.
+
+ The default spell checker is UNIX _spell_. You can replace this by
+ setting the speller configuration variable. A common choice for a
+ superior replacement is _ispell_.
+
+ _PC-Alpine_ relies on the aspell library being installed. Aspell is
+ independent of Alpine. The Windows version has traditionally been
+ available at http://aspell.net/win32/. You'll need to download and
+ install both Aspell and a precompiled dictionary. Aspell is provided in
+ an installer package. Dictionaries, to be installed after Aspell, are
+ in '.exe' files to download and run.
+ __________________________________________________________________
+
+Terminal Emulation and Key Mapping
+
+ UNIX _Alpine_ has been designed to require as little as possible from
+ the terminal. At the minimum, _Alpine_ requires cursor positioning,
+ clear to end of line, and inverse video. Unfortunately, there are
+ terminals that are missing some of these such as a vt52. _Alpine_ makes
+ no assumptions as to whether the terminal wraps or doesn't wrap. If the
+ terminal has other capabilities it may use some of them. _Alpine_ won't
+ run well on older terminals that require a space on the screen to
+ change video attributes, such as the Televideo 925. One can get around
+ this on some terminals by using "protected field" mode. The terminal
+ can be made to go into protected mode for reverse video, and then
+ reverse video is assigned to protected mode.
+
+ _Alpine_ handles screens of most any size and resizing on the fly. It
+ catches SIGWINCH and does the appropriate thing.
+
+ On the input side of things, _Alpine_ uses all the standard keys, most
+ of the control keys and (in function-key mode) the function keys.
+ _Alpine_ avoids certain control keys, specifically ^S, ^Q, ^H, and _^\_
+ because they have other meanings outside of _Alpine_ (they control data
+ flow, etc.) _^H_ is treated the same as the _delete_ key, so the
+ _backspace_ or _delete_ keys always work regardless of any
+ configuration. There is a feature _compose-maps-delete-key-to-ctrl-d_
+ which makes the delete key behave like ^D rather than ^H (deletes
+ current character instead of previous character).
+
+ Sometimes a communications program or communications server in between
+ you and the other end will eat certain control characters. There is a
+ work-around when you need it. If you type two escape characters
+ followed by a character that will be interpreted as the character with
+ the control key depressed. For example, _ESC ESC T_ is equivalent to
+ _^T_.
+
+ When a function key is pressed and _Alpine_ is in regular (non-function
+ key) mode, _Alpine_ traps escape sequences for a number of common
+ function keys so users don't get an error message or have an unexpected
+ command executed for each character in the function key's escape
+ sequence. _Alpine_ expects the following escape sequences from
+ terminals defined as VT100:
+
+ ANSI/VT100
+ F1: <ESC>OP
+ F2: <ESC>OQ
+ F3: <ESC>OR
+ F4: <ESC>OS
+ F5: <ESC>Op
+ F6: <ESC>Oq
+ F7: <ESC>Or
+ F8: <ESC>Os
+ F9: <ESC>Ot
+ F10: <ESC>Ou
+ F11: <ESC>Ov
+
+ Arrow keys are a special case. _Alpine_ has the escape sequences for a
+ number of conventions for arrow keys hard coded and does not use
+ _termcap_ to discover them. This is because _termcap_ is sometimes
+ incorrect, and because many users have PC's running terminal emulators
+ that don't conform exactly to what they claim to emulate. There is a
+ feature called termdef-takes-precedence which can be set to cause the
+ _termcap_ or _terminfo_ definitions to be used instead of the built in
+ definitions. Some arrow keys on old terminals send single control
+ characters like _^K_ (one even sends _^\_). These arrow keys will not
+ work with _Alpine_. The most popular escape sequences for arrow keys
+ are:
+
+ Up: <ESC>[A <ESC>?x <ESC>A <ESC>OA
+ Down: <ESC>[B <ESC>?r <ESC>B <ESC>OB
+ Right: <ESC>[C <ESC>?v <ESC>C <ESC>OC
+ Left: <ESC>[D <ESC>?t <ESC>D <ESC>OD
diff --git a/pico/browse.c b/pico/browse.c
index a34f6d4b..1c171db9 100644
--- a/pico/browse.c
+++ b/pico/browse.c
@@ -71,6 +71,7 @@ struct fcell {
*/
static struct bmaster {
struct fcell *head; /* first cell in list */
+ struct fcell *bottom; /* last cell in list */
struct fcell *top; /* cell in top left */
struct fcell *current; /* currently selected */
int longest; /* longest file name (in screen width) */
@@ -98,7 +99,7 @@ void percdircells(struct bmaster *);
int PlaceCell(struct bmaster *, struct fcell *, int *, int *);
void zotfcells(struct fcell *);
void zotmaster(struct bmaster **);
-struct fcell *FindCell(struct bmaster *, char *);
+struct fcell *FindCell(struct bmaster *, char *, int);
int sisin(char *, char *);
void p_chdir(struct bmaster *);
void BrowserAnchor(char *);
@@ -316,6 +317,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
UCS c, new_c;
int status, i, j;
int row, col, crow, ccol;
+ int bsearch; /* search forward by default */
char *p, *envp, child[NLINE], tmp[NLINE];
struct bmaster *mp;
struct fcell *tp;
@@ -344,7 +346,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
tp = NULL;
if(fn && *fn){
- if((tp = FindCell(gmp, fn)) != NULL){
+ if((tp = FindCell(gmp, fn, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -904,12 +906,15 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
if(tp == gmp->head)
gmp->head = tp->next;
+ if(tp == gmp->bottom)
+ gmp->bottom = tp->prev;
+
tp->fname = NULL;
tp->next = tp->prev = NULL;
if(tp != gmp->current)
free((char *) tp);
- if((tp = FindCell(gmp, gmp->current->fname)) != NULL){
+ if((tp = FindCell(gmp, gmp->current->fname, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -1140,7 +1145,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
zotmaster(&gmp);
gmp = mp;
- if((tp = FindCell(gmp, child)) != NULL){
+ if((tp = FindCell(gmp, child, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -1267,7 +1272,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
zotmaster(&gmp);
gmp = mp;
- if((tp = FindCell(gmp, child)) != NULL){
+ if((tp = FindCell(gmp, child, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -1376,7 +1381,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
zotmaster(&gmp);
gmp = mp;
- if((tp = FindCell(gmp, ++p)) != NULL){
+ if((tp = FindCell(gmp, ++p, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -1488,7 +1493,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
tp = NULL;
if(*child){
- if((tp = FindCell(gmp, child)) != NULL){
+ if((tp = FindCell(gmp, child, 0)) != NULL){
gmp->current = tp;
PlaceCell(gmp, gmp->current, &row, &col);
}
@@ -1592,11 +1597,11 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
case 'w': /* Where is */
case 'W':
case (CTRL|'W'):
- i = 0;
+ bsearch = i = 0;
while(!i){
- switch(readpattern(_("File name to find"), FALSE)){
+ switch(readpattern(_("File name to find"), FALSE, bsearch)){
case HELPCH:
emlwrite(_("\007No help yet!"), NULL);
/* remove break and sleep after help text is installed */
@@ -1605,6 +1610,9 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
case (CTRL|'L'):
PaintBrowser(gmp, 0, &crow, &ccol);
break;
+ case (CTRL|'P'):
+ bsearch = ++bsearch % 2;
+ break;
case (CTRL|'Y'): /* first first cell */
for(tp = gmp->top; tp->prev; tp = tp->prev)
;
@@ -1665,7 +1673,7 @@ FileBrowse(char *dir, size_t dirlen, char *fn, size_t fnlen,
if(pat && pat[0])
utf8 = ucs4_to_utf8_cpystr(pat);
- if(utf8 && (tp = FindCell(gmp, utf8)) != NULL){
+ if(utf8 && (tp = FindCell(gmp, utf8, bsearch)) != NULL){
PlaceCell(gmp, gmp->current, &row, &col);
PaintCell(row, col, gmp->cpf, gmp->current, 0);
gmp->current = tp;
@@ -1772,7 +1780,7 @@ getfcells(char *dname, int fb_flags)
mp->dname[sizeof(mp->dname)-1] = '\0';
}
- mp->head = mp->top = NULL;
+ mp->bottom = mp->head = mp->top = NULL;
mp->cpf = mp->fpl = 0;
mp->longest = 5; /* .. must be labeled! */
mp->flags = fb_flags;
@@ -1865,6 +1873,7 @@ getfcells(char *dname, int fb_flags)
mp->head = mp->top = mp->current = ncp;
}
else{
+ mp->bottom = ncp;
tcp->next = ncp;
ncp->prev = tcp;
}
@@ -2403,7 +2412,7 @@ zotmaster(struct bmaster **mp)
* the given string wrapping around if necessary
*/
struct fcell *
-FindCell(struct bmaster *mp, char *utf8string)
+FindCell(struct bmaster *mp, char *utf8string, int bsearch)
{
struct fcell *tp, *fp;
@@ -2411,21 +2420,21 @@ FindCell(struct bmaster *mp, char *utf8string)
return(NULL);
fp = NULL;
- tp = mp->current->next;
+ tp = bsearch ? mp->current->prev : mp->current->next;
while(tp && !fp){
if(sisin(tp->fname, utf8string))
fp = tp;
else
- tp = tp->next;
+ tp = bsearch ? tp->prev : tp->next;
}
- tp = mp->head;
+ tp = bsearch ? mp->bottom : mp->head;
while(tp != mp->current && !fp){
if(sisin(tp->fname, utf8string))
fp = tp;
else
- tp = tp->next;
+ tp = bsearch ? tp->prev : tp->next;
}
return(fp);
diff --git a/pico/efunc.h b/pico/efunc.h
index 624d1616..d657aaa2 100644
--- a/pico/efunc.h
+++ b/pico/efunc.h
@@ -229,9 +229,9 @@ extern void unmarkbuffer(void);
/* search.c */
extern int forwsearch(int, int);
-extern int readpattern(char *, int);
-extern int forscan(int *, UCS *, LINE *, int, int);
-extern void chword(UCS *, UCS *);
+extern int readpattern(char *, int, int);
+extern int forscan(int *, UCS *, int, LINE *, int, int);
+extern void chword(UCS *, UCS *, int);
/* spell.c */
#ifdef SPELLER
diff --git a/pico/osdep/spell.c b/pico/osdep/spell.c
index ca063ba2..1606ce68 100644
--- a/pico/osdep/spell.c
+++ b/pico/osdep/spell.c
@@ -207,7 +207,7 @@ spell(int f, int n)
switch(status){
case TRUE:
- chword(wb, cb); /* correct word */
+ chword(wb, cb, 0); /* correct word */
case FALSE:
update(); /* place cursor */
break;
@@ -285,7 +285,7 @@ movetoword(UCS *w)
olddotp = curwp->w_dotp;
curwp->w_bufp->b_mode |= MDEXACT; /* case sensitive */
- while(forscan(&i, w, NULL, 0, 1) == TRUE){
+ while(forscan(&i, w, 0, NULL, 0, 1) == TRUE){
if(i)
break; /* wrap NOT allowed! */
diff --git a/pico/search.c b/pico/search.c
index 0d07d904..49aaec2d 100644
--- a/pico/search.c
+++ b/pico/search.c
@@ -32,11 +32,16 @@ int eq(UCS, UCS);
int expandp(UCS *, UCS *, int);
int readnumpat(char *);
void get_pat_cases(UCS *, UCS *);
-int srpat(char *, UCS *, size_t, int);
-int readpattern(char *, int);
-int replace_pat(UCS *, int *);
-int replace_all(UCS *, UCS *);
-
+int srpat(char *, UCS *, size_t, int, int);
+int readpattern(char *, int, int);
+int replace_pat(UCS *, int *, int);
+int replace_all(UCS *, UCS *, int);
+void reverse_line(LINE *);
+void reverse_buffer(void);
+void reverse_ucs4(UCS *);
+void reverse_all(UCS *, int);
+void supdate(UCS *, int);
+char *sucs4_to_utf8_cpystr(UCS *, int);
#define FWS_RETURN(RV) { \
thisflag |= CFSRCH; \
@@ -109,13 +114,14 @@ eq(UCS bc, UCS pc)
int
forwsearch(int f, int n)
{
- int status;
+ int status, bsearch;
int wrapt = FALSE, wrapt2 = FALSE;
int repl_mode = FALSE;
UCS defpat[NPAT];
int search = FALSE;
EML eml;
+
/* resolve the repeat count */
if (n == 0)
n = 1;
@@ -124,14 +130,15 @@ forwsearch(int f, int n)
FWS_RETURN(0);
defpat[0] = '\0';
+ bsearch = 0; /* search forward by default */
/* ask the user for the text of a pattern */
while(1){
if (gmode & MDREPLACE)
- status = srpat("Search", defpat, NPAT, repl_mode);
+ status = srpat("Search", defpat, NPAT, repl_mode, bsearch);
else
- status = readpattern("Search", TRUE);
+ status = readpattern("Search", TRUE, bsearch);
switch(status){
case TRUE: /* user typed something */
@@ -158,6 +165,10 @@ forwsearch(int f, int n)
update();
break;
+ case (CTRL|'P'):
+ bsearch = bsearch == 0 ? 1 : 0;
+ break;
+
case (CTRL|'V'):
gotoeob(0, 1);
mlerase();
@@ -258,6 +269,8 @@ forwsearch(int f, int n)
}
}
+ reverse_all(defpat, bsearch);
+
/*
* This code is kind of dumb. What I want is successive C-W 's to
* move dot to successive occurences of the pattern. So, if dot is
@@ -270,19 +283,19 @@ forwsearch(int f, int n)
while(1){
if(defpat[status] == '\0'){
forwchar(0, 1);
- break; /* find next occurence! */
+ break;
}
if(status + curwp->w_doto >= llength(curwp->w_dotp) ||
!eq(defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
- break; /* do nothing! */
+ break;
status++;
}
/* search for the pattern */
while (n-- > 0) {
- if((status = forscan(&wrapt,defpat,NULL,0,PTBEG)) == FALSE)
+ if((status = forscan(&wrapt,defpat, bsearch, NULL,0,PTBEG)) == FALSE)
break;
}
@@ -301,7 +314,7 @@ forwsearch(int f, int n)
fs_give((void **) &utf8);
}
else if((gmode & MDREPLACE) && repl_mode == TRUE){
- status = replace_pat(defpat, &wrapt2); /* replace pattern */
+ status = replace_pat(defpat, &wrapt2, bsearch); /* replace pattern */
if (wrapt == TRUE || wrapt2 == TRUE){
eml.s = (status == ABORT) ? "cancelled but wrapped" : "Wrapped";
emlwrite("Replacement %s", &eml);
@@ -314,13 +327,18 @@ forwsearch(int f, int n)
emlwrite("", NULL);
}
+ reverse_all(defpat, bsearch);
+ if(curwp->w_doto == -1){
+ curwp->w_doto = 0;
+ curwp->w_flag |= WFMOVE;
+ }
FWS_RETURN(status);
}
/* Replace a pattern with the pattern the user types in one or more times. */
int
-replace_pat(UCS *defpat, int *wrapt)
+replace_pat(UCS *defpat, int *wrapt, int bsearch)
{
register int status;
UCS lpat[NPAT], origpat[NPAT]; /* case sensitive pattern */
@@ -331,7 +349,9 @@ replace_pat(UCS *defpat, int *wrapt)
UCS prompt[NPMT];
UCS *promptp;
- forscan(wrapt, defpat, NULL, 0, PTBEG); /* go to word to be replaced */
+ if(bsearch)
+ curwp->w_doto -= ucs4_strlen(defpat) - 1;
+ forscan(wrapt, defpat, bsearch, NULL, 0, PTBEG); /* go to word to be replaced */
lpat[0] = '\0';
@@ -344,6 +364,13 @@ replace_pat(UCS *defpat, int *wrapt)
while(1) {
+ /* we need to reverse the buffer back to its original state, so that
+ * the user will not see that we reversed it under them. The cursor
+ * is at the beginning of the reverse string, that is at the end
+ * of the string. Move it back to the beginning.
+ */
+
+ reverse_all(defpat, bsearch); /* reverse for normal view */
update();
(*term.t_rev)(1);
get_pat_cases(origpat, defpat);
@@ -402,6 +429,8 @@ replace_pat(UCS *defpat, int *wrapt)
curwp->w_flag |= WFMOVE;
+ reverse_all(defpat, bsearch); /* reverse for internal use */
+
switch(status){
case TRUE :
@@ -416,10 +445,10 @@ replace_pat(UCS *defpat, int *wrapt)
}
if (repl_all){
- status = replace_all(defpat, lpat);
+ status = replace_all(defpat, lpat, bsearch);
}
else{
- chword(defpat, lpat); /* replace word */
+ chword(defpat, lpat, bsearch); /* replace word */
update();
status = TRUE;
}
@@ -470,7 +499,7 @@ replace_pat(UCS *defpat, int *wrapt)
}
else{
mlerase();
- chword(defpat, origpat);
+ chword(defpat, origpat, bsearch);
}
update();
@@ -501,7 +530,7 @@ get_pat_cases(UCS *realpat, UCS *searchpat)
/* Ask the user about every occurence of orig pattern and replace it with a
repl pattern if the response is affirmative. */
int
-replace_all(UCS *orig, UCS *repl)
+replace_all(UCS *orig, UCS *repl, int bsearch)
{
register int status = 0;
UCS *b;
@@ -514,10 +543,20 @@ replace_all(UCS *orig, UCS *repl)
int stop_offset = curwp->w_doto;
EML eml;
+ /* similar to replace_pat. When we come here, if bsearch is set,
+ * the cursor is at the end of the match, so we must bring it back
+ * to the beginning.
+ */
+ if(bsearch){
+ curwp->w_doto -= ucs4_strlen(orig) - 1;
+ curwp->w_flag |= WFMOVE;
+ }
+ stop_offset = curwp->w_doto;
while (1)
- if (forscan(&wrapt, orig, stop_line, stop_offset, PTBEG)){
+ if (forscan(&wrapt, orig, bsearch, stop_line, stop_offset, PTBEG)){
curwp->w_flag |= WFMOVE; /* put cursor back */
+ reverse_all(orig, bsearch); /* undo reverse buffer and pattern */
update();
(*term.t_rev)(1);
get_pat_cases(realpat, orig);
@@ -562,10 +601,10 @@ replace_all(UCS *orig, UCS *repl)
if (status == TRUE){
n++;
- chword(realpat, repl); /* replace word */
+ chword(realpat, repl, bsearch); /* replace word */
update();
}else{
- chword(realpat, realpat); /* replace word by itself */
+ chword(realpat, realpat, bsearch); /* replace word by itself */
update();
if(status == ABORT){ /* if cancelled return */
eml.s = comatose(n);
@@ -593,14 +632,14 @@ replace_all(UCS *orig, UCS *repl)
/* Read a replacement pattern. Modeled after readpattern(). */
int
-srpat(char *utf8prompt, UCS *defpat, size_t defpatlen, int repl_mode)
+srpat(char *utf8prompt, UCS *defpat, size_t defpatlen, int repl_mode, int bsearch)
{
register int s;
int i = 0;
UCS *b;
UCS prompt[NPMT];
UCS *promptp;
- EXTRAKEYS menu_pat[8];
+ EXTRAKEYS menu_pat[9];
menu_pat[i = 0].name = "^Y";
menu_pat[i].label = N_("FirstLine");
@@ -643,13 +682,24 @@ srpat(char *utf8prompt, UCS *defpat, size_t defpatlen, int repl_mode)
KS_OSDATASET(&menu_pat[i], KS_NONE);
}
+ menu_pat[++i].name = "^P";
+ menu_pat[i].label = bsearch ? N_("Forward") : N_("Backward") ;
+ menu_pat[i].key = (CTRL|'P');
+ KS_OSDATASET(&menu_pat[i], KS_NONE);
+
menu_pat[++i].name = NULL;
b = utf8_to_ucs4_cpystr(utf8prompt);
if(b){
ucs4_strncpy(prompt, b, NPMT);
prompt[NPMT-1] = '\0';
- fs_give((void **) &b);
+ if(bsearch){
+ fs_give((void **) &b);
+ b = utf8_to_ucs4_cpystr(N_(" backward"));
+ if(b) ucs4_strncat(prompt, b, ucs4_strlen(b));
+ prompt[NPMT-1] = '\0';
+ }
+ if(b) fs_give((void **) &b);
}
promptp = &prompt[ucs4_strlen(prompt)];
@@ -762,14 +812,14 @@ readnumpat(char *utf8prompt)
int
-readpattern(char *utf8prompt, int text_mode)
+readpattern(char *utf8prompt, int text_mode, int bsearch)
{
register int s;
int i;
UCS *b;
UCS tpat[NPAT+20];
UCS *tpatp;
- EXTRAKEYS menu_pat[7];
+ EXTRAKEYS menu_pat[8];
menu_pat[i = 0].name = "^Y";
menu_pat[i].label = N_("FirstLine");
@@ -803,13 +853,24 @@ readpattern(char *utf8prompt, int text_mode)
KS_OSDATASET(&menu_pat[i], KS_NONE);
}
+ menu_pat[++i].name = "^P";
+ menu_pat[i].label = bsearch ? N_("Forward") : N_("Backward") ;
+ menu_pat[i].key = (CTRL|'P');
+ KS_OSDATASET(&menu_pat[i], KS_NONE);
+
menu_pat[++i].name = NULL;
b = utf8_to_ucs4_cpystr(utf8prompt);
if(b){
ucs4_strncpy(tpat, b, NPAT+20);
tpat[NPAT+20-1] = '\0';
- fs_give((void **) &b);
+ if(bsearch){
+ fs_give((void **) &b);
+ b = utf8_to_ucs4_cpystr(N_(" backward"));
+ if(b) ucs4_strncat(tpat, b, ucs4_strlen(b));
+ tpat[NPAT+20-1] = '\0';
+ }
+ if(b) fs_give((void **) &b);
}
tpatp = &tpat[ucs4_strlen(tpat)];
@@ -853,11 +914,82 @@ readpattern(char *utf8prompt, int text_mode)
return(s);
}
+/* given a line, reverse its content */
+void reverse_line(LINE *l)
+{
+ int i, j, a;
+ UCS u;
+
+ if(l == NULL) return;
+ j = llength(l) - 1;
+ for(i = 0; i < j; i++, j--){
+ u = lgetc(l, j).c; /* reverse the text */
+ lgetc(l, j).c = lgetc(l, i).c;
+ lgetc(l, i).c = u;
+ a = lgetc(l, j).a; /* and the attribute */
+ lgetc(l, j).a = lgetc(l, i).a;
+ lgetc(l, i).a = a;
+ }
+}
+
+void
+reverse_all(UCS *pat, int bsearch)
+{
+ if(bsearch != 0){
+ reverse_buffer();
+ reverse_ucs4(pat);
+ }
+}
+
+void
+reverse_buffer(void)
+{
+ LINE *l;
+
+ for(l = lforw(curbp->b_linep); l != curbp->b_linep; l = lforw(l))
+ reverse_line(l);
+
+ /* reverse links in buffer */
+ l = curbp->b_linep;
+ do {
+ lforw(l) = lback(l);
+ l = lforw(l);
+ } while(l != curbp->b_linep);
+
+ l = curbp->b_linep;
+ do {
+ lback(lforw(l)) = l;
+ l = lforw(l);
+ } while (l != curbp->b_linep);
+
+ curwp->w_doto = llength(curwp->w_dotp) - 1 - curwp->w_doto;
+}
+
+
+
+/* given a UCS4 string reverse its content */
+void reverse_ucs4(UCS *s)
+{
+ int i, j;
+ UCS u;
+
+ j = ucs4_strlen(s) - 1;
+ for(i = 0; i < j; i++, j--){
+ u = s[j];
+ s[j] = s[i];
+ s[i] = u;
+ }
+}
+
-/* search forward for a <patrn> */
+/* search forward for a <patrn>.
+ * A backward search is a forward search in backward lines with backward
+ * patterns
+ */
int
forscan(int *wrapt, /* boolean indicating search wrapped */
UCS *patrn, /* string to scan for */
+ int bsearch, /* search backwards */
LINE *limitp, /* stop searching if reached */
int limito, /* stop searching if reached */
int leavep) /* place to leave point
@@ -878,6 +1010,13 @@ forscan(int *wrapt, /* boolean indicating search wrapped */
*wrapt = FALSE;
+ /* if bsearch is set we return the match at the beginning of the
+ * matching string, so we make this algorithm return the end of
+ * the string, so that when we reverse we be at the beginning.
+ */
+ if(bsearch)
+ leavep = leavep == PTBEG ? PTEND : PTBEG;
+
/*
* the idea is to set the character to end the search at the
* next character in the buffer. thus, let the search wrap
@@ -919,12 +1058,17 @@ forscan(int *wrapt, /* boolean indicating search wrapped */
/* get the current character resolving EOLs */
if (curoff == llength(curline)) { /* if at EOL */
- curline = lforw(curline); /* skip to next line */
- curoff = 0;
+ curline = lforw(curline); /* skip to next line */
+ curoff = 0;
c = '\n'; /* and return a <NL> */
}
+ else if(curoff == -1){
+ stopoff = curoff = 0;
+ continue;
+ c = '\n';
+ }
else
- c = lgetc(curline, curoff++).c; /* get the char */
+ c = lgetc(curline, curoff++).c; /* get the char */
/* test it against first char in pattern */
if (eq(c, patrn[0]) != FALSE) { /* if we find it..*/
@@ -1025,13 +1169,37 @@ expandp(UCS *srcstr, /* string to expand */
/*
* chword() - change the given word, wp, pointed to by the curwp->w_dot
* pointers to the word in cb
+ * if bsearch is set, then cb is supposed to come unreversed, while
+ * the buffer is supposed to be reversed, so we must reverse cb before
+ * inserting it.
*/
void
-chword(UCS *wb, UCS *cb)
+chword(UCS *wb, UCS *cb, int bsearch)
{
- ldelete((long) ucs4_strlen(wb), NULL); /* not saved in kill buffer */
- while(*cb != '\0')
- linsert(1, *cb++);
+ UCS *u;
+ ldelete(ucs4_strlen(wb), NULL); /* not saved in kill buffer */
+ if(bsearch) reverse_ucs4(cb);
+ for(u = cb; *u != '\0'; u++)
+ linsert(1, *u);
+ if(bsearch) reverse_ucs4(cb);
curwp->w_flag |= WFEDIT;
}
+
+void
+ supdate(UCS *pat, int bsearch)
+{
+ reverse_all(pat, bsearch); /* undo reverse buffer and pattern */
+ update();
+ reverse_all(pat, bsearch); /* reverse buffer and pattern */
+}
+
+char *
+sucs4_to_utf8_cpystr(UCS *orig, int bsearch)
+{
+ char *utf8;
+ if(bsearch) reverse_ucs4(orig);
+ utf8 = ucs4_to_utf8_cpystr(orig);
+ if(bsearch) reverse_ucs4(orig);
+ return utf8;
+}
diff --git a/pith/filter.c b/pith/filter.c
index 36ef3ed9..2800a3ba 100644
--- a/pith/filter.c
+++ b/pith/filter.c
@@ -7230,10 +7230,6 @@ html_element_collector(FILTER_S *fd, int ch)
else if(ED(fd)->proc_inst){
return(1); /* return without display... */
}
- else if(!strucmp(ED(fd)->element,"STYLE") && ED(fd)->badform){
- dprint((2, "-- html error: empty tag with STYLE parameter!"));
- return(1);
- }
else if(!ED(fd)->quoted || ED(fd)->badform){
ELPROP_S *ep;
diff --git a/pith/pine.hlp b/pith/pine.hlp
index 626aa3af..9d362379 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any
reasonable place to be called from.
Dummy change to get revision in pine.hlp
============= h_revision =================
-Alpine Commit 42 2014-02-02 00:15:19
+Alpine Commit 43 2014-02-09 15:14:42
============= h_news =================
<HTML>
<HEAD>
@@ -179,6 +179,10 @@ Additions include:
<P>
<UL>
+ <LI> Style tag in body of html message causes Alpine to not write its content
+ until a new &lt;/style&gt;
+ <LI> Pico: New subcommand of the search command, allows to reverse the
+ direction of search.
<LI> Upgrade UW-IMAP to Panda IMAP from
<A HREF="https://github.com/jonabbey/panda-imap">https://github.com/jonabbey/panda-imap</A>.
<LI> Replace tabs by spaces in From and Subject fields to control for
@@ -213,6 +217,8 @@ Additions include:
<LI> Pico: Justification works without need of a predefined quote
string. This allows justification of blocks of text that are
indented with spaces.
+ <LI> Check bounds and tie strings off to improve security. Contributed
+ by James Jerkins.
</UL>
<P>