Deflexion.com blog >> 

[Infinite Ink logo]
pine

COMPARTMENTALIZING AND
SHARING YOUR PINE CONFIGURATION

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright © Nancy McGough & Infinite Ink
Last edited 24-Jul-2005

 

 
 On This Page 

 

 

Why Compartmentalize

Compartmentalizing your Pine settings makes it easier to

Compartmentalization or “modular architecture” is one of the keys to good computer programming.

 

How it Works in Pine 4.30 and Later

(I made up the numbers 88 and 133 below -- if you know the correct numbers, please let me know!)

Pine's default is to store all configuration settings in a user's pinerc file. In addition to Pine's 88 (?) variables, 133 (?) feature-list settings, and an unlimited number of rules for roles, filters, scores, index colors, & specific folders (AKA “other” rules), you can also — starting with Pine 4.30 — store your signature(s) in your pinerc. As you can imagine, it is very easy for a pinerc file to become huge and unwieldy. This is especially true if you are like me and are constantly doing experiments and commenting out old pinerc settings and writing comments to yourself about the results of your various experiments.

 

Up To Four Configuration Files

You can separate your Pine settings into these four configuration files

# Official Name Abbreviated Name
1 system-wide configuration file pine.conf
2 personal configuration file pinerc
3 personal exceptions file pinercex
4 system-wide fixed configuration file pine.conf.fixed


Pine reads the configuration files in the order that I've listed them above. The settings in a later file override the settings in a file that's already been read. If a list variable in a later file starts with the INHERIT token, then the later list is appended to the earlier list. The variables in these four Pine config files can point to a number of auxiliary files, including the following.

Local auxiliary files

Local auxiliary files whose contents could also be put in a Pine config file

To move a rule out of a Pine configuration file and into a local auxiliary file, see the message Re: turning off pine filters in comp.mail.pine.

Local or Remote auxiliary files

Local or Remote auxiliary file whose contents could also be put in a Pine config file

 

Telling Pine Which Config Files to Use

Here are some of the ways that you can specify the four Pine configuration files.

# Unix Pine PC-Pine Both Unix and PC-Pine
1 /usr/local/lib/pine.conf %PINECONF% -P command-line argument
2 $HOME/.pinerc %PINERC%  or  %HOME%\Pine\pinerc  or  pine.exeDirectory\pinerc -p command-line argument
3 $HOME/.pinercex %PINERCEX%  or  %HOME%\Pine\pinercex  or  pine.exeDirectory\pinercex -x command-line argument
4 /usr/local/lib/pine.conf.fixed n/a n/a

 

I discuss how PC-Pine decides which configuration file(s) to use in How PC-Pine Finds User Files on my Power Pine page.

 

Strategies

Since I share my pine configuration files between Unix Pine and PC-Pine, and PC-Pine does not support the pine.conf.fixed file, I use only the first three files to compartmentalize my Pine settings. If you use Pine on Unix systems only and you have root permission on those systems (so you can edit the pine.conf.fixed file), you might want to put some of your settings in pine.conf.fixed.

The way I partition my Pine settings is as follows.

# Flag Default Unix File Name Default MS Windows File Name My File Name File Contents
1 -P /usr/local/lib/pine.conf %PINECONF% _pinerc1P-generic Settings anyone could use and that I can share via dotfiles.com, newsgroups, mailing lists, my web site, etc.
2 -p .pinerc pinerc _pinerc2p-nancy Settings that are specific to me that I can use on any machine. These include my IMAP-accessible address books, folders, and folder collections.
3 -x .pinercex pinercex _pinerc3x-machine Settings that are machine specific such as SMTP and NNTP servers, local editor and url-viewer, and the locations of my local folders, local address books, local attachments directory, etc.

 

Note    

If you specify your pinerc files with Pine command-line arguments or environment variables, you can name them whatever you like. I use the names

 
		_pinerc1P-generic 
		_pinerc2p-nancy 
		_pinerc3x-machine

because when I do an alphanumeric sort, they are listed near the top (that's what the leading underscore is for); they are ordered the way that Pine reads them (that's what the 1, 2, and 3 are for); and their names remind me how they are used (e.g. the P, p, and x remind me which command-line argument to use for which pinerc).

 

Most Versatile Strategy: Use -P, -p, and -x Command-Line Arguments

This strategy works on both Unix and the PC, does not require you to set any environment variables, lets you name the files anything you like, and lets you use any combination of local and remote configurations.

For example:

pine -P _pinerc1P-generic -p _pinerc2p-nancy -x _pinerc3x-machine 

Each of these three files can reside either on your local file system or in a mailbox on an IMAP server. If a configuration file is in a mailbox on an IMAP server, specify it like this

"{imap.server/user=UID}path.to.pinercn" 

Or like this

\{imap.server/user=UID\}path.to.pinercn

Make sure that you either precede each squiggly brace with a backslash or surround the specification with quotation marks. This will prevent your command shell from trying to interpret the squiggly braces.

If a configuration file is on your local file system, specify it like this:

$HOME/path/to/_pinercn-whatever

 

Alternate Strategies

If you use PC-Pine, an alternative to using the three command-line arguments is to set the PINECONF, PINERC, and PINERCEX environment variables to point to your generic, personal, and machine-specific pinercs respectively. Then start Pine using simply

drive:\path\pine.exe  

or if pine.exe is on your PATH, you can use the even simpler

pine.exe  

You can find out how PC-Pine uses environment variables and how to set them on the Infinite Ink Power Pine page.

In Unix Pine you can avoid two of the command-line flags by creating $HOME/.pinerc and $HOME/.pinercex, which are the default pinerc names, and then start Pine with this:

pine -P _pinerc1P-generic  

And, as discussed above, specify either the IMAP server or local path to _pinerc1P-generic.

If you use the -P flag to override your system's pine.conf file, you may want to copy your system's pine.conf settings into your configuration so you don't miss out on settings that are essential or useful to using your system. On Unix, you can display your system's pine.conf by typing

pine -conf | less 

To exit the less command, type  q

 

Sample Configuration

Below are the contents of my three Pine configuration files. Another place you can find Pine configuration ideas is pinerc.adv, which is shipped with PC-Pine.

Note    

Any line that starts with a # is a comment and is ignored by Pine. My style, which is fairly common in the Unix world, is to prepend a line with a single # if it is an actual comment and to prepend a line with ## if it is a configuration setting that I'm currently not using.

 

[Updated!] _pinerc1P-generic

I set things up so that the first configuration file that is read by Pine contains generic settings that anyone might want to use. I then override or append some of these settings with my Nancy-specific settings (_pinerc2p-nancy). And then override or append some of these with my machine-specific settings (_pinerc3x-MachineName).

If you are just getting started with Pine, you might want to copy these generic settings (or a fragment of them) and paste them into your system-wide configuration file and use them as a starting point for figuring out a configuration you like.

##### Begin  _pinerc1P-generic #####

# NOTE ABOUT INHERITANCE: I include INHERIT in all my generic list
# variables so that this pinerc file can be called in any order.


# The first two variables are commented out so if you want to use them, delete all the leading ##'s
# I include them so you can see an example of the syntax used by these variables


# Public news servers that anyone can use from any machine
## nntp-server=INHERIT,
##   forums.macromedia.com,
##   msnews.microsoft.com,
##   news.gmane.org


# news-collections that correspond to the above nntp-servers
## news-collections=INHERIT,
##    macromedia.* {forums.macromedia.com/nntp}#news.[],
##    microsoft.*  {msnews.microsoft.com/nntp}#news.[]
##    gmane.*      {news.gmane.org/nntp}#news.[],
##    netscape.*   {secnews.netscape.com/nntp/ssl/novalidate-cert}#news.[]
    
	  
[Updated!]  
# Feature-list settings are automatically inherited 
# so the INHERIT token is not needed here

# The first 27 features that I list in bold below are the features that I recommend and
# discuss on the Power Pine page in the section Useful Config Settings for Power Users.
# Make sure that each feature you list (except the very last one) is followed by a
# comma, newline, and white space (space or tab).
feature-list=enable-alternate-editor-cmd,
  no-reply-always-uses-reply-to,
     disable-sender,
  no-send-without-confirm,
  no-use-sender-not-x-sender,
     warn-if-blank-to-and-cc-and-newsgroups,                                            
     warn-if-blank-subject,
     separate-folder-and-directory-entries,
     enable-msg-view-urls,
     enable-msg-view-web-hostnames,
     quell-charset-warning,
     hide-nntp-path,
     enable-multiple-newsrcs,
     news-post-without-validation,
  no-quell-extra-post-prompt,
     enable-aggregate-command-set,
     enable-arrow-navigation,
     enable-bounce-cmd,
     enable-exit-via-lessthan-command,
     enable-flag-cmd,
     enable-flag-screen-keyword-shortcut,
     enable-full-header-cmd,
     enable-unix-pipe-cmd,
     expose-hidden-config,
  no-quell-attachment-extension-warn,
  no-quell-attachment-extra-prompt,
     allow-changing-from,
  no-scramble-message-id,
  no-quell-folder-internal-msg, 
     enable-goto-in-file-browser,
     enable-tab-completion,
     enable-verbose-smtp-posting,
  no-include-header-in-reply,
     print-offers-custom-cmd-prompt,
     print-includes-from-line,
     print-index-enabled,
     quell-user-lookup-in-passwd-file,
     quit-without-confirm,
     signature-at-bottom,
     enable-incoming-folders,
     enable-reply-indent-string-editing,
     enable-search-and-replace,
     enable-partial-match-lists,
     enable-delivery-status-notification,
     enable-8bit-nntp-posting,
     compose-send-offers-first-filter,
  no-expunge-only-manually,
     expunge-without-confirm,
     expunge-without-confirm-everywhere,
  no-quell-content-id,
     quell-ssl-largeblocks,
     enable-jump-shortcut,
  no-auto-move-read-msgs,
     auto-open-next-unread,
     show-selected-in-boldface,
     quell-status-message-beeping,
     enable-8bit-esmtp-negotiation,
     enable-suspend,
     auto-zoom-after-select,
  no-save-aggregates-copy-sequence,
  no-fcc-without-attachments,
     ldap-result-to-addrbook-add,
     compose-rejects-unqualified-addrs,
     quell-empty-directories,
  no-use-current-dir,
  no-select-without-confirm,
     enable-rules-under-take,
     enable-dot-folders,
     enable-msg-view-attachments,
     pass-control-characters-as-is,
     enable-dot-files,
     disable-busy-alarm,
     quell-imap-envelope-update,
     quell-news-envelope-update,
     quell-partial-fetching,
  no-single-column-folder-list,
     include-attachments-in-reply,
  no-show-plain-text-internally,
  no-enable-fast-recent-test,
     alternate-compose-menu,
  no-mark-for-cc,
  no-enable-mail-check-cue,
     news-offers-catchup-on-close,
     tab-visits-next-new-message-only,
     confirm-role-even-for-default,
  no-prefer-plain-text,
     vertical-folder-list,
     combined-folder-display,
     enable-arrow-navigation-relaxed,
  no-expanded-view-of-addressbooks,
     disable-take-fullname-in-addresses,
     disable-take-last-comma-first,
  no-combined-addrbook-display,
     check-newmail-when-quitting,
     disable-keyboard-lock-cmd,
     continue-tab-without-confirm,
     enable-take-export,
     spell-check-before-sending,
     thread-index-shows-important-color,
     return-to-inbox-without-confirm,
     save-will-quote-leading-froms,
     show-sort,
  no-downgrade-multipart-to-text,
     mult-newsrc-hostnames-as-typed,
  no-use-subshell-for-suspend
 
# TIP:  When I run Pine on  Mac OS X 10.1.5 in a Terminal window, setting 
# the feature preserve-start-stop-characters makes CMD-V (paste) work. This
# feature might be useful if you are having problems with control characters.

default-composer-hdrs=INHERIT,
 From,
 To,
 Cc,
 Lcc,
 Bcc,
 Fcc,
 Organization,
 Newsgroups,
 Subject



# These are displayed when you view rich headers while composing (using ^R)
customized-hdrs=INHERIT,
 Followup-To,
 Distribution,
 References,
 Summary,
 Keywords,
 Precedence,
 Approved,
 Control,
 Supersedes,
 Mail-Copies-To,
 Mail-Followup-To,
 Posted-And-Mailed,
 Disposition-Notification-To,
 Priority,
 X-Priority,
 X-MSMail-Priority,
 X-No-Archive


# I like to have Pine display a lot of headers by default because
# I'm interested in where a message actually came from and where it
# was intended to go to. I also am curious about different mail  
# and news clients and what headers they support.
# Tip 1: To list headers that Pine should not show, begin with the next line:
## viewer-hdrs=all-except, 
# Tip 2: The default viewer-hdrs include:
## From,
## Resent-From,
## To,
## Resent-To,
## Cc,
## Resent-cc,
## Bcc,
## Newsgroups,
## Followup-To,
## Date,
## Resent-Date,
## Subject,
## Resent-Subject,
## Reply-To
viewer-hdrs=INHERIT,
 From,
 Bcc,
 Lcc,
 Comment,
 Content-return,
 Delivered-To,
 X-Delivered-To,
 X-Envelope-To,
 Envelope-To,
 X-Original-To,
 X-Apparently-To,
 X-Rcpt-To,
 X-Real-To,
 X-To,
 X-Cc,
 Deliver,
 Apparently,
 List-ID,
 List-Post,
 List-Archive,
 Newsgroups,
 Summary,
 Keywords,
 Approved,
 Reply-To,
 Followup-To,
 Mail-Followup-To,
 Organization,
 X-X-Sender,
 X-Sender,
 Sender,
 Originator,
 Resent-From,
 Resent-To,
 Resent-Date,
 Resent-Message-ID,
 X-Message-ID,
 Message-ID,
 X-Mailer,
 X-Newsreader,
 X-Mail-Agent,
 X-News-Agent,
 User-Agent,
 Mail-System-Version,
 Mailer,
 Originating-Client,
 Precedence,
 Distribution,
 Posted-To,
 X-Also-Posted-To,
 X-URL,
 X-Image-URL,
 X-Status,
 Status,
 Priority,
 X-Priority,
 X-MSMail-Priority,
 Content-type,
 Content-description,
 Content-transfer-encoding,
 Parts/Attachments,
 X-MimeOLE,
 X-MIME-Autoconverted,
 Attchmnt,
 X-attachments,
 X-Keywords,
 X-face,
 X-pgp,
 Supersedes,
 Mail-Copies-To,
 NNTP-Posting-Host,
 X-Trace,
 Path,
 X-No-Archive,
 Date,
 To,
 Cc,
 Posted-And-Mailed,
 Subject,
 X-Habeas


saved-msg-name-rule=default-folder

sort-key=Arrival

addrbook-sort-rule=nickname-with-lists-last

goto-default-rule=inbox-or-folder-in-recent-collection

# If you correspond in a Western European language, use one of the following
character-set=ISO-8859-15
## character-set=ISO-8859-1

# Before you use this, make sure the EDITOR environment variable is set
editor=$EDITOR

composer-wrap-column=65

use-only-domain-name=Yes

# I store phone numbers and addressses in the COMMENT field so
# that's why I want the COMMENT field to take up 70% of my screen width
addressbook-formats=ADDRESS(30%) COMMENT(70%)
  
[Updated!]
# For details about index-format, see Step 6F, Useful Config Settings for Power Users on the Power
# Pine page. To use the SUBJKEYINIT token, which displays keyword initials followed by the Subject,
# you need Pine 4.62 or later. 
index-format=SMARTTIME(3) NEWSANDRECIPS(15%) FROM(17%) IMAPSTATUS MSGNO SUBJKEYINIT(68%) KSIZE


viewer-overlap=1

scroll-margin=0

status-message-delay=0

# if your SMTP server requires Login-before-SMTP authentication before sending, 
#  set this to be less than the SMTP timeout
mail-check-interval=1000

tcp-open-timeout=10

remote-abook-history=1
remote-abook-validity=0

folder-sort-rule=alpha-with-dirs-last

reply-leadin=On _DAY_ _MONTHABBREV_ _YEAR_, _FROM_ (_ADDRESS_) wrote:

# Since I can't connect to my IMAP servers using rsh or ssh, I don't want Pine
# to waste time trying
rsh-open-timeout=0
ssh-open-timeout=0

# another possible cursor-style is VertBar
cursor-style=Block

pruning-rule=ask-no


## Uncomment the next line if you do not want to use the mbox driver 
# disable-these-drivers=mbox

## Uncomment the next line if you do not want to use the unsupported
## maildir driver 
# disable-these-drivers=maildir



# Put public LDAP servers here (does anyone have a suggestion??)
ldap-servers=INHERIT,
  ldap server that anyone can use from anywhere


##### End _pinerc1P-generic #####

 

_pinerc2p-nancy

I set things up so that the second file that Pine reads contains settings that are specific to me and that will work on any machine that I use Pine on. Many of these settings point to IMAP servers that I can access from anywhere using my user name and password.

If you want to use this as a starting point for your _pinerc2p-YourName, you will need to edit all the settings in this file since the settings will be unique to you.

 

##### Begin  _pinerc2p-nancy #####

# NOTE ABOUT INHERITANCE: I include INHERIT in most list
# variables so that this pinerc file can be called in any order.

personal-name=
user-id=
user-domain=

# I put news servers that I can access from any machine here
nntp-server=INHERIT, 
  news.example.com/user=nancy


# Make sure you put your default folder collection first!
# You can list news as well as folder collections in the folder-collections list
folder-collections=IMAP-accessible default folder collection,
   more IMAP-accessible folder collections

incoming-folders=INHERIT,
   IMAP, POP, and NNTP accessible incoming specific folders

# You can list both folder and news collections in the news-collections list
news-collections=INHERIT,
  news collections that correspond to nntp-server(s) listed in this file

address-book=INHERIT,
  IMAP-accessible address books

# Note that commas are not allowed in customized-hdrs (because
# comma is used as a delimiter)
customized-hdrs=INHERIT,
   Organization: Infinite Ink http://www.ii.com
  
ldap-servers=INHERIT,
  LDAP servers that I can access from any machine

patterns-roles=INHERIT,
  list my roles here

patterns-filters=INHERIT,
  list my filters here
		
patterns-other=INHERIT,
  list my other rules here
		
# Next 3 are in the default folder collection (the first folder listed in folder-collections)
# To store these on your local system, specify the path, for example:  ~/POSTPONED-current
default-fcc=SENT-current
default-saved-msg-folder=greenbox-current
postponed-folder=POSTPONED-current


alt-addresses=nm-reverse-spam-filter@ii.deflexion.com,
    list rest of my alternate addresses separated by commas
  
  
[Updated!]
# Some of my keywords are based on David Allen's Getting Things Done strategy, e.g.,
# Action item (@), Next Action (1), Pending/Waiting (p), Someday/Maybe (s), and Done/Filed (_);   
# and some are based on my Reverse Spam Filtering strategy, e.g. MaybeJunk/Yellow/Unknown (j). 
# My $Label4, $Label2, $Label1, & $Label5 keywords are recognized by Mozilla/Thunderbird.
# Mulberry 4.0.1+ can be configured to recognize any 8 of these keywords. For details about 
# using keywords with Pine, see Setting Up Keywords (Labels) on the Power Pine page.
  
# Tip: If you set enable-flag-screen-keyword-shortcut, which is a feature I recommend above,
#      the initial character of a keyword's nickname is a shortcut for setting or 
#      clearing the keyword; this initial can also be displayed on the Pine MESSAGE INDEX.  
#      So make sure that 1] each nickname starts with a different character and 2] no nickname 
#      starts with one of Pine's reserved shortcut characters (N, *, 8, D, A, !, or ?).
keywords=@ShouldRespond $$Label4,
         webify         $$Label2,
         #url           $$Url,
         1DoNext        $$DoNext,
         >watch         $$Watch,
         pending        $$Pending,
         readThis       $$ReadThis,
         ^specialViewer $$SpecialViewer,
         somedayMaybe   $$Label5,
         $$valuable     $$Label1,
         forwarded      $$Forwarded,
         bouncedFwd     $$Redirected,
         copied         $$Copied,
         +annotated     $$Annotated,
         exported       $$Exported,
         %printed       $$Printed,
         greenFrom      $$greenFrom,
         sbeRecip       $$sbeRecip,
         junkMaybe      $$AutoMaybeJunk,
         -separator     $$Separator,
         xDeleteLater   $$DeleteLater,
         _done          $$Done,
         nickname       keyword
  
  
# Here's another possibility (because tilde (~) means home in the Unix world :-)) 
##       ~homemaking   $$Homemaking,
				 
# If you want Pine's keywords, shortcuts, and nicknames to be compatible with the default 
# Mozilla Suite/Thunderbird labels & shortcuts, use the following. You can order these
# nickname/keyword pairs however you like -- the order here is simply reflected in Pine's 
# MESSAGE INDEX screen (if your index-format includes a keyword token) and on the FLAG  
# MAINTENANCE screen.
## keywords=1Important $$Label1,
##          2Work      $$Label2,
##          3Personal  $$Label3,
##          4To Do     $$Label4,
##          5Later     $$Label5

##### End  _pinerc2p-nancy #####

 

_pinerc3x-MachineName

I set things up so that this file is read last and overrides, or appends to, settings that are set in the previous two files.

 

#####  Begin  _pinerc3x-MachineName #####

# NOTE ABOUT INHERITANCE: I include INHERIT in many of the list
# variables here so that this pinerc file can be called in any order.



# I want to use the SMTP server that is most efficient for this 
# machine so I do not use INHERIT here.
smtp-server=local.smtp.server

# If you are using Unix Pine and want to use the local MTA (sendmail, postfix, etc), use the following
## smtp-server=""


nntp-server=INHERIT, 
   local.news.server,
   other news servers that I can access from only this machine

newsrc-path=/absolute/path/to/NEWSRC-MachineName

# Because I often have Pine running on multiple machines, I use a bogus
# local INBOX (so I don't need to worry about filing locking of my
# actual INBOX) and add my actual inbox(es) to my incoming-folders list
inbox-path=/absolute/path/to/~BogusINBOX.cMBX


# If I sometimes use Pine when I'm off line on this machine, I
# set my postponed-folder to be local rather than IMAP-accessible
postponed-folder=/absolute/path/to/postponed


folder-collections=INHERIT,
   Local folder collections,
   Other folder and news collections that I can access from only this machine


incoming-folders=INHERIT,
     {local.news.server/nntp}#news.comp.mail.pine,
     other incoming-folders that I can access only from this machine


news-collections=INHERIT,
     {local.news.server/nntp}#news.[],
     other news collections that correspond to the nntp-servers in this file


# If the EDITOR environment variable is not set on this machine,
# which is what I set pine's editor variable to in _pinerc1 above,
# I override the _pinerc1 setting by specifying my alt editor here 
# (make sure the feature enable-alternate-editor-cmd is set)
# on a Unix-type system 
## editor=vim
# on an MS Windows system
## editor=gvim.exe


# directory for exports; reading & writing files (using ^R) & attachments (PC-Pine only)
file-directory=/absolute/path/to/Attachments

address-book=INHERIT,
  list of address books accessible only from this machine

ldap-servers=INHERIT,
  list of LDAP servers accessible only from this machine

# Set this to the url-viewer you use on this machine 
# To use the default browser in MS Windows, leave this blank
## url-viewers=

# To help spread the word about Pine, I include a User-Agent header that specifies this
# Pine's version and the three-letter platform code it was compiled with. Details about
# the User-Agent header are in section 6.18 of this IETF draft.
customized-hdrs=INHERIT,
 User-Agent: Pine/4.63 (OSX)


# Use fonts that are on your system and make sure the fonts contains the characters
# in your character-set; Both Courier New and Andale Mono are compatible with 
# ISO-8859-1 and Windows-1252 character codings
font-name="Courier New"
font-size=15
font-style=""

# for printing, I use a small font to save paper and because it's easier to read
# 8pt on paper than on screen
print-font-name="Andale Mono"
print-font-size="8"
print-font-style=""

# Depending on which version of Pine you are using, 
# the following may be set in the MS Windows registry
## window-position=

last-version-used=

patterns-roles=INHERIT,
  roles that I use only on this machine

patterns-filters=INHERIT,
  filters that I use only on this machine

patterns-other=INHERIT,
  specific-folder rules that I use only on this machine


# Set up Pine to use colors that are available on your system
# Colors below are to give you ideas; if you come up with nice
# color settings, please contribute them to dotfiles.com
## normal-foreground-color=white
## normal-background-color=blue
## reverse-foreground-color=yellow
## reverse-background-color=magenta
## title-foreground-color=white
## title-background-color=black
## status-foreground-color=white
## status-background-color=magenta
## keylabel-foreground-color=white
## keylabel-background-color=black
## keyname-foreground-color=blue
## keyname-background-color=white
## selectable-item-foreground-color=
## selectable-item-background-color=
## quote1-foreground-color=cyan
## quote1-background-color=blue
## quote2-foreground-color=yellow
## quote2-background-color=blue
## quote3-foreground-color=magenta
## quote3-background-color=blue
## prompt-foreground-color=
## prompt-background-color=
## index-to-me-foreground-color=blue
## index-to-me-background-color=white
## index-important-foreground-color=white
## index-important-background-color=magenta
## index-deleted-foreground-color=red
## index-deleted-background-color=blue
## index-answered-foreground-color=green
## index-answered-background-color=blue
## index-new-foreground-color=white
## index-new-background-color=red
## index-recent-foreground-color=
## index-recent-background-color=
## index-unseen-foreground-color=
## index-unseen-background-color=

## viewer-hdr-colors=/HDR=From/FG=yellow/BG=blue,
##  /HDR=Date/FG=yellow/BG=blue,
##  /HDR=Reply-To/FG=yellow/BG=blue,
##  /HDR=Subject/FG=yellow/BG=magenta

## patterns-indexcolors=LIT:pattern="/NICK=important/FLDTYPE=ANY/STATN=NO/STATD=NO/STATI=YES" action="/ISINCOL=1/INCOL=\/FG=blue\/BG=yellow"

##### End  _pinerc3x-nancy #####

 

Editing Your Configuration

To use the Pine SETUP CONFIGURATION screen to edit your personal configuration file (e.g., pinerc, .pinerc, or _pinerc2p-nancy) , launch pine and type

MSC

which means Main > Setup > Config.

To use the Pine SETUP CONFIGURATION screen to edit your personal exceptions file (e.g., pinercex, .pinercex, or _pinerc3x-MachineName), type

MSXC

which means Main > Setup > eXceptions > Config. If you don't already have a personal exceptions file, you can create one on a Unix-type system by typing

cd 
touch .pinercex 
 

To edit your system-wide configuration file (e.g., pine.conf or _pinerc1P-generic) or your system-wide fixed configuration file (e.g., pine.conf.fixed), you need to either use a text editor, such as  pico -w  or  vim, or temporarily make it your personal configuration file file by typing

   pine -p _pinerc1P-generic   

and then type

MSC

After you've updated the system-wide configuration file, quit Pine and then launch Pine the way you normally do (calling all your configuration files).

 

Transferring Configurations To and From an IMAP Server 

A local configuration resides on the machine on which you run Pine and is a plain ascii text file. An IMAP-accessible configuration is stored as a message in a mailbox and is accessed and updated using IMAP. To upload or download a configuration, you can not use ftp but instead need to use a tool that knows how to insert into, or extract from, a remote-configuration mailbox. There are a number of ways to do this.

Starting with Pine 4.40, the remote pinerc utilities, rpload and rpdump, can be used to load and fetch remotely stored pinercs, address books, and signatures. They are available at the Pine ftp site for various flavours of Unix and for the PC. Eduardo Chappa has compiled Cygwin versions of these, and other, Pine tools. To find out how to use these, read

A major limitation of rpload and rpdump is that they can not use a PASSFILE so when either is run, you are prompted for the server's password. Another option is to use the following Pine command-line arguments.

Pine Command Description
pine -copy_abook localAbook remoteAbook copy local addressbook to remote

pine -copy_pinerc localPinerc remotePinerc

copy local pinerc to remote
pine -convert_sigs -p pinerc convert sigs that are referenced in pinerc to literal sigs (so the signature(s) will be contained within pinerc)

 

As long as Pine is compiled to use a PASSFILE, these can be run non-interactively, e.g., from a script or batch file. But, unfortunately, these can be used only to go from local to remote and not the other direction. For more about these and all Pine command-line arguments, see the UW PIC page on Pine Command-Line Aruguments.

An alternative to the above three Pine command-line arguments is to start Pine and type MSZ (Main > Setup > RemoteConfigSetup). This steps through each of the above commands for each of your local abooks, local sigs, & your personal configuration file (pinerc), and asks if you want to do it. I have had unexpected results using  MSZ  so I recommend not using it.

In Creating an IMAP-Accessible Personal Address Book on my Power Pine page, I describe how to set up a remote address book and transfer the contents of a local address book to it. On that same page, in the section Sample Macro: Automatically Copy Your IMAP-Accessible Address Book to Your Local Address Book, I describe a way to automatically transfer the contents of a remote address book to a local address book. You can use both these techniques to go the other direction (remote to local and local to remote, respectively).

 

See Also

 


Compartmentalizing and Sharing Your Pine Configuration
<http://www.ii.com/internet/messaging/pine/sharing/>
Copyright © Infinite Ink & Nancy McGough

1st published 16-Nov-2000
updated 17-Feb-2005
tweaked 24-Jul-2005