Making effective use of Pine - IV =================================
Today we'll look at advanced commands in pine. The first option is enable-aggregate-command-set. This allows you to apply a single command to a group of messages. Useful if you want to delete or save all messages that meet some common criteria. The next option, enable-bounce-cmd, is used to bounce messages. If you've ever received mail that you wanted forwarded, but wanted to make it look like it had come from the original sender, then use the bounce command. The access key for bouncing a message is B.
You may want to enable the flag commands, which allow you to set certain flags on messages. You could flag a message as important, so that it shows up with an asterisk in your message index. You can also use these to unset the Answered, Deleted or New flags.
Enable-full-header allows you to use the H access key to see the full header of received messages. This is useful if you want to see the full path that the mail has travelled to get from its source to its destination.
Enable-goto-in-file-browser allows you to tell the file browser exactly which directory you want to go to by typing in its path. This is useful if you need to attach files that are not in the current directory. It's much faster than navigating to the directory every time.
Enable-jump-shortcut allows you to jump directly to a message in your message index by typing in its number and pressing Enter.
Enable-partial-match-lists and enable-tab-completion affect the behaviour of selection entries. For example, if you wanted to save a message to another folder, just pressing s and Ctrl+X (for the partial match), will show you all folders that start with s. Alternately, if one presses sa<Tab>, and there is only one folder starting with sa, then the folder name is automatically completed. This is similar to the way commands are completed in bash.
In Advanced User Preferences, the few that you may want to set include auto-move-read-msgs, enable-mouse-in-xterm, enable-newmail-in-xterm-icon, save-will-advance, and use-current-dir. The first will move read messages to the read-messages folder when closing the folder, if one was set. We'll see more on this when we deal with incoming-folders. Save-will-advance moves to the next message after saving the message. Use-current-dir uses the directory that pine was started in as the default for Takes and Exports.
If you find yourself using the same set of commands every time you start pine, for example, pressing I to get to the message index, you may want to put those commands in the initial-keystroke-list. Anything put here will be treated as if you entered it through the keyboard when starting pine.
Moving down, we come to character-set. It will normally be set to US-ASCII, but too many people today use iso-8859-1, so it may make sense to set it to this. If you have a favourite text editor (pine's default is pico), then you can set that in editor. vi seems to be a good choice. The speller is the program that is called when you do a Ctrl+T in compose mode. It is supposed to check and correct spellings. The default is the unix spell command that only returns a list of misspelled words. Do not set this value to spell, leave it blank instead.
The composer-wrap-column is the column number where the composer will wrap long lines. Setting it to something like 72 or 74 will take care of extra characters added by the reply indent string set when replying to messages. The reply-indent-string is by default set to >. It's probably not a good idea to change this, because many mail clients rely on this string to display original text and current text in different styles.
The reply-leading is what shows up at the top of the message when you choose to include the original text in the reply. Pine has a very customisable reply-leadin, but you'll have to explore that on your own. It allows you to include conditions, and variables in your leadin.
Display and sending filters can be used to modify mails before sending or after receiving. A typical use of this would be to sign your mails with PGP and then to decode it when received.
Alt-addresses are a very useful feature when replying to mails. Let's say you have many email accounts, and you use pine to read all of them. When you reply to a message, and choose to reply to all recipients, pine will also reply to all your other addresses. By putting those addresses in here, pine will detect that they are your addresses, and that they shouldn't be included in the reply list.
url-viewers, which is the last option that we will modify, allows you to set the program that is spawned to view urls in the mail. You'd probably want to start something like netscape if you are running X, but lynx or some other text browser if you are not.
I have my url-viewers set to this:
_TEST("test -L $HOME/.netscape/lock")_ "/usr/bin/netscape -remote 'openURL(_URL_, new-window)' &" _TEST("test -n '${DISPLAY}'")_ "/usr/bin/netscape _URL_ &" "/usr/bin/lynx _URL_"
Yes, all three lines. Pine will execute everything in _TEST()_ and if it evaluates to true, will execute the rest of that line. Over here, I first check to see if netscape is already running, if so, then call netscape -remote. If not, then if the DISPLAY variable is set, call netscape. If the DISPLAY variable is not set, then call lynx.
You could probably omit the first line, because your netscape startup script already does that check. Notice that netscape is started in the background, while lynx isn't. This is so because lynx runs in the same window as pine (in the shell), while netscape starts its own window.
It's not easy to enter this string in the configuration screen, so you may want to type it directly into your .pinerc file. Just search for url-viewers.
The next time, we'll look at incoming-folders, and that will conclude this series on pine. There's obviously much more you can do, but you'll have to figure that out yourself. This should get you started on your way.