home *** CD-ROM | disk | FTP | other *** search
- From: NN
- Subject: - efficient net news interface (No News is good news)
-
- nn - efficient net news interface (No News is good news)
-
-
- From: NN
- Subject: SYNOPSIS
-
- nn [ options ] [ newsgroup | +folder | file ]...
- nn -g [ -r ]
- nn -a0 [ newsgroup ]...
-
- From: NN
- Subject: DESCRIPTION
-
- Net news is a world-wide information exchange service covering numerous topics
- in science and every day life. Topics are organized in news\ groups, and these
- groups are open for everybody to post articles on a subject related to the
- topic of the group.
-
- Nn is a `point-and-shoot' net news interface program, or a news reader for
- short (not to be confused with the human news reader). When you use nn, you
- can decide which of the many news groups you are interested in, and you can
- unsubscribe to those which don't interest you. nn will let you read the new
- (and old) articles in each of the groups you subscribe to using a menu based
- article selection prior to reading the articles in the news group.
-
- When a news group is entered, nn will locate all the presently unread
- articles in the group, and extract their sender, subject, and other relevant
- information. This information is then rearranged, sorted, and marked in
- various ways to give it a pleasant format when it is presented on the screen.
-
- This will be done very quickly, because nn uses its own database to
- maintain all the necessary information on a directly accessible form (this
- database is built and maintained by the nnmaster(8) program).
-
- When the article menu appears on the screen, nn will be in a mode called
- selection mode. In this mode, the articles which seems to be interesting can
- be selected by single keystrokes (using the keys a-z and 0-9). When all the
- interesting articles among the ones presently displayed have been selected,
- the space bar is hit, which causes nn to enter reading mode.
-
- In reading mode, each of the selected articles will be presented. You use
- the space bar to go on to the next page of the current article, or to the next
- article. Of course, there are all sorts of commands to scroll text up and
- down, skip to the next article, responding to an article, decrypt an article,
- and so on.
-
- When all the selected articles in the current group have been read, the
- last hit on the space bar will cause nn will continue to the next group with
- unread articles, and enter selection mode on that group.
-
- From: NN
- Subject: FREQUENTLY USED OPTIONS
-
- nn accepts a lot of command line options, but here only the frequently used
- options are described. Options can also be set permanently by including
- appropriate variable settings in the init file described later. All options
- are described in the section on Command Line Options towards the end of this
- manual.
-
- The frequently used command line options are:
-
- -a0 Catch up on unread articles and groups. See the section "Catch up" below.
-
- -g Prompt for the name of a news group or folder to be entered (with
- completion).
-
- -r Used with -g to repeatedly prompt for groups to enter.
-
- -lN Print only the first N lines of the first page of each article before
- prompting to continue. This is useful on slow terminals and modem lines
- to be able to see the first few lines of longer articles.
-
- -sWORD
- Collect only articles which contain the string WORD in their subject
- (case is ignored). This is normally combined with the -x and -m options
- to find all articles on a specific subject.
-
- -s/regexp
- Collect only articles whose subject matches the regular expression regexp
- . This is normally combined with the -x and -m options to find all
- articles on a specific subject.
-
- -nWORD or -n/regexp
- Same as -s except that it matches on the sender's name instead of the
- article's subject. This is normally combined with the -x and -m options
- to find all articles from a specific author. It cannot be mixed with the
- -s option!
-
- -i Normally searches with -n and -s are case independent. Using this option,
- the case becomes significant.
-
- -m Merge all articles into one `meta group' instead of showing them one
- group at a time. This is normally used together with the -x and -s
- options to get all the articles on a specific subject presented on a
- single menu (when you don't care about which group they belong to). When
- -m is used, no articles will be marked as read.
-
- -x[N]
- Present (or scan) all (or the last N) unread as well as read articles.
- When this option is used, nn will never mark unread articles as read
- (i.e. .newsrc is not updated).
-
- -X Read/scan unsubscribed groups also. Most useful when looking for a
- specific subject in all groups, e.g.
- nn -mxX -sSubject all
-
- news.group or file or +folder
- If none of these arguments are given, all subscribed news groups will be
- used. Otherwise, only the specified news groups and/or files will be
- collected and presented. In specifying a news groups, the following `meta
- notation' can be used:
- If the news group ends with a `.' (or `.all'), all subgroups of the news
- group will be collected, e.g.
- comp.sources.
- If a news group starts with a `.' (or `all.'), all the matching subgroups
- will be collected, e.g.
- .sources.unix
- The argument `all' identifies all (subscribed) news groups.
-
- From: NN
- Subject: COMMAND INPUT
-
- In general, nn commands consist of one or two key-strokes, and nn reacts
- instantly to the commands you give it; you don't have to enter return after
- each command (except where explicitly stated).
-
- Some commands have more serious effects than others, and therefore nn requests
- you to confirm the command. You confirm by hitting the the y key, and reject
- by hitting the n key. Some `trivial' requests may also be confirmed simply by
- hitting space. For example, to confirm the creation of a save file, just hit
- space, but if one or more directories also have to be created, you must enter
- y.
-
- Many commands will require that you enter a line of text, e.g. a file name or
- a shell command. If you enter space as the first character on a line, the line
- will be filled with a default value (if one is defined). For example, the
- default value for a file name is the last file name you have entered, and the
- default shell command is your previous shell command. You can edit this
- default value as well as a directly typed text, using the following editing
- commands. The erase, kill, and interrupt keys are the keys defined by the
- current tty settings. On systems without job control, the suspend key will be
- control-Z while it is the current suspend character on system with job
- control.
-
- erase
- Delete the last character on the line.
-
- delete-word (normally ^W)
- Delete the last word or component of the input.
-
- kill
- Delete all characters on the line.
-
- interrupt and control-G
- Cancel the command which needs the input.
-
- suspend
- Suspend nn if supported by the system. Otherwise, spawn an interactive
- shell.
-
- return
- Terminate the line, and continue with the command.
-
- Related variables: erase-key, flow-control, flush-typeahead, help-key,
- kill-key, word-key.
-
- From: NN
- Subject: BASIC COMMANDS
-
- There are numerous commands in nn, and most of them can be invoked by a single
- keystroke. The descriptions in this manual are based on the standard bindings
- of the commands to the keys, but it is possible to customize these using the
- map command described later. For each of the keystroke commands described in
- this manual, the corresponding command name will also be shown in curly
- braces, e.g. {command}.
-
- The following commands work in both selection mode and in reading mode. The
- notation ^X means `control X':
-
- ? {help}
- Help. Gives a one page overview of the commands available in the current
- mode.
-
- ^L {redraw}
- Redraw screen.
-
- ^R {redraw}
- Redraw screen (Same as ^L).
-
- ^P {message}
- Repeat the last message shown on the message line. The command can be
- repeated to successively show previous messages (the maximum number of
- saved messages is controlled via the message-history variable.)
-
- ! {shell}
- Shell escape. The user is prompted for a command which is executed by
- your favorite shell (see the shell variable). Shell escapes are described
- in detail later on.
-
- Q {quit}
- Quit nn. When you use this command, you neither lose unread articles in
- the current group nor the selections you might have made (unless the
- articles are expired in the meantime of course).
-
- V {version}
- Print release and version information.
-
- :command {command}
- Execute the command by name. This form can be used to invoke any of nn's
- commands, also those which cannot be bound to a key (such as :coredump),
- or those which are not bound to a key by default (such as post and
- unshar).
-
- Related and basic variables: backup, backup-suffix, confirm-auto-quit, expert,
- mail, message-history, new-group-action, newsrc, quick-count.
-
- From: NN
- Subject: SELECTION MODE
-
- In selection mode, the screen is divided into four parts: the header line
- showing the name of the news group and the number of articles, the menu lines
- which show the collected articles - one article per line, the prompt line
- where you enter commands, and the message line where nn prints various
- messages to you.
-
- Each menu line begins with an article id which is a unique letter (or digit if
- your screen can show more than 26 menu lines). To select an articles for
- reading, you simply enter the corresponding id, and the menu line will be
- high-lighted to indicate that the article is selected. When you have selected
- all the interesting articles on the present menu, you simply hit space.
-
- If there are more articles collected for the current group than could be
- presented on one screenful of text, you will be presented with the next
- portion of articles to select from. When you have had the opportunity to
- select among all the articles in the group, hitting space will enter reading
- mode.
-
- If no articles have been selected in the current group, hitting space will
- enter selection mode on the next news group, or exit nn if the current group
- was the last news group with unread articles. It is thus possible to go
- through ALL unread articles (without reading any of them) just by hitting
- space a few times.
-
- The articles will be presented on the menu using one of the following layouts:
-
- 0: x Name......... Subject.............. +123
-
- 1: x Name......... 123 Subject..............
-
- 2: x 123 Subject...................................
-
- 3: x Subject...........................................
-
- 4: x Subject........................................
-
- Here x is the letter or digit that must be entered to select the article, Name
- is the real name of the sender (or the mail address if the real name cannot be
- found), Subject is the contents of the "Subject:" line in the article, and 123
- is the number of lines in the article.
-
- Layout 0 and 1 are just two ways to present the same information, while layout
- 2 and 3 are intended for groups whose articles have very long subject lines,
- e.g. comp.sources.
-
- Layout 4 is a hybrid between layout 1 and 3. It will normally use layout 1,
- but it will use layout 3 (with a little indentation) for menu lines where the
- subject is longer than the space available with layout 1.
-
- Layout 1 is the default layout, and an alternative menu line layout is
- selected using the -L option or by setting the layout variable. Once nn is
- started the layout can be changed at any time using the " key {layout}.
-
- The Name is limited to 16 characters, and to make maximum use of this space,
- nn will perform a series of simplifications on the name, e.g. changing first
- names into initials, removing domain names from mail addresses (if the real
- name is not found) etc. It does a good job, but some people on the net put
- weird things into the From: field (or actually into their password file) which
- result in nn producing quite cryptic, and sometimes funny "names".
-
- One a usual 80 column terminal, the Subject is limited to about 60 characters
- (75 in layout 3) and is thus only an approximation to the actual subject line
- which may be much longer. To get as much out of this space, Re: prefixes (in
- various forms) are recognized and replaced by a single `>' character (see the
- re-layout variable).
-
- Since articles are sorted according to the subject, two or more adjacent
- articles may share the same subject (ignoring any `>'s). In this case, only
- the first article will show the subject of the article; the rest will only
- show the `>' character in the subject field (or a `-' if there is no `>' at
- the beginning of the line). A typical menu will thus only show each subject
- once, saving a lot of time in scanning the news articles.
-
- If consolidated menus (see section below) are enabled, adjacent articles
- sharing the same subject will be shown with a single line on the menu
- corresponding to the first of the articles. The number of articles with the
- same subject will be shown as a braketed number in front of the subject, e.g.
- with layout 1:
- x Name......... 123 [4] Subject..............
- For further information see the section on consolidated menus below.
-
- Related variables: collapse-subject, columns, confirm-entry,
- confirm-entry-limit, entry-report-limit, fsort, kill, layout, limit, lines,
- long-menu, re-layout, repeat, slow-mode, sort, sort-mode, split,
- subject-match-limit, subject-match-offset, subject-match-parts.
-
- From: NN
- Subject: ARTICLE ATTRIBUTES
-
- While nn is running and between invocations, nn associates an attribute with
- each article on your system. These attributes are used to differentiate
- between read and unread articles, selected articles, articles marked for later
- treatment, etc. Depending on how nn is configured, these attributes can be
- saved between invocations of nn, or some of them may only be used while nn is
- running.
-
- The attribute is shown on the menu using either a single character following
- the article id or by high-lighting the menu line, depending on the attribute
- and the capabilities of the terminal. You can also change the attributes to
- your own taste (see the attributes variable).
-
- The attribute of an article can be changed explicitly using the selection mode
- commands described below, or it will change automatically for example when you
- have read or saved a selected article. If a command may change any article
- attributes, it will be noted in the description of the command. The following
- descriptions of the attributes will only mention the most important commands
- that may set (or preserve) the attribute.
-
- The following attributes may be associated with an article:
-
- read Menu attribute "." - indicates that the article has been read or saved.
- When you leave the group, these articles will be marked permanently read,
- and are not presented the next time you enter the group.
-
- seen Menu attribute "," - indicates that the article is unread, but that it
- has been presented on a menu. Depending on how nn is configured, these
- articles will automatically be marked read when you leave the group, they
- may remain seen, or they may just be unread the next time you enter the
- group (see the auto-junk-seen, confirm-junk-seen, and retain-seen-status
- variables).
- Only the commands continue (space) and read-skip (X) will mark unread
- articles on the current (or all) menu pages as seen when they are used.
- Other commands that scroll through the menu pages or enter reading mode
- will let unread articles remain unread.
-
- unread
- Menu attribute " " - indicates an unread article. These articles were
- unread when you entered the group, and they may remain unread when you
- leave the group, unless they have been marked seen by the command that
- you used to leave the group or enter reading mode.
-
- selected
- Menu line high-lighted (or menu attribute "*") - indicates that you have
- selected the article. If you leave the group, the selected articles will
- remain selected the next time you enter the group. When you have read a
- selected article, the attribute will automatically change to read.
-
- auto-selected
- These articles have the same appearance as selected articles on the menu,
- and the only difference is that these articles have been selected
- automatically via the auto-selection facility rather than manually by
- you. Very few commands differentiate between these attributes and if they
- do, it is explicitly stated in this manual. The main difference is that
- these articles are only marked as unread when you leave the group
- (supposing they will also be auto-selected the next the group is
- entered). This simplifies the house-keeping between invocations of nn.
-
- leave
- Menu attribute "+" - indicates that the article is marked for later
- treatment by the leave-article (l) command. These articles may be
- selected (on demand) when you have read all selected articles in a group.
- However, if you do not select them then immediately, they are stored as
- the leave-next attribute described below.
-
- leave-next
- Menu attribute "=" - indicates that the article is marked for later
- treatment by the leave-next (L) command. This is a permanent attribute,
- which will remain on the article until you either read the article,
- change the attribute, or it is expired. So assinging this attribute to an
- article will effectively keep it unread until you do something. If the
- variable select-leave-next is set, nn will ask whether these articles
- should be selected on entry to a group (but naturally, doing so will
- change the leave-next attribute to select).
-
- cancelled
- Menu attribute "#" - indicates that the article has been cancelled. This
- is mainly useful when tidying a folder; it is set by the cancel (C)
- command, and can be cleared by any command that change attributes, e.g.
- you can select and deselect the article.
-
- killed
- Menu attribute "!" - indicates that the article has been killed (e.g. by
- the K {kill-select} command). Killed articles are immediately removed
- from the menu, so you should not normally see articles with this
- attribute. If you do, report it as a bug!
-
- The attributes are saved in two files: .newsrc (read articles) and .nn/select
- (other attributes). Plain unread articles are saved by not occurring in either
- of these files. Both files are described in more detail later on.
-
- Related variables: attributes, auto-junk-seen, confirm-junk-seen,
- retain-seen-status, select-leave-next.
-
- From: NN
- Subject: SELECTION MODE COMMANDS
-
- The primary purpose of the selection mode is of course to select the articles
- to be read, but numerous other commands may also be performed in this mode:
- saving of articles in files, replying and following up on articles,
- mailing/forwarding articles, shell escapes etc.
-
- As described above, the selected articles are marked either by showing the
- corresponding menu line in standout mode (reverse video), or if the terminal
- does not have this capability by placing an asterisk (*) after the selection
- letter or digit.
-
- Most commands which are used to select articles will work as toggle commands.
- If the article is not already selected, the selectedattribute on the
- article(s), independent on the previous attribute. Otherwise, the article(s)
- will be deselected and marked unread. Consequently, any article can be marked
- unread simply be selecting and deselecting it.
-
- During selection, the cursor will normally be placed on the article following
- the last article whose attribute was changed (initially the first article).
- The article pointed out by the cursor is called the current article, and the
- following commands work relative to the current article and cursor position.
-
- abc...z 01..9 {article N}
- The article with the given identification letter or digit is selected or
- deselected. The following article becomes the current article. If the
- variable auto-select-subject is set, all articles with the same subject
- as the given article are selected.
-
- . {select}
- Select or deselect the current article and move the cursor to the next
- article.
-
- , {line+1}
- Move the cursor to the next article. You can use the down arrow as well.
-
- / {line-1}
- Move cursor to previous article. You can use the up arrow as well.
-
- * {select-subject}
- Select or deselect all articles with same subject as current article.
- This will work across several menu pages if necessary.
-
- -x {select-range}
- Select or deselect the range of articles between the current article and
- the article specified by x. For example you can select all articles from
- e to k by simply typing e-k.
-
- The following commands may change the attributes on all articles on the
- current menu page, or on all articles on all menu pages.
-
- @ {select-invert}
- Reverse selections. All selected articles on the current page are
- deselected, and vice-versa. (Use the find command to select all
- articles.)
-
- ~ {unselect-all}
- Deselect all auto-selected articles in the group (this works across all
- menu pages). If the command is executed twice, the selected articles will
- also be deselected.
-
- + {select-auto}
- Perform auto-selections in the group (see the section on "auto
- kill/select" below).
-
- = {find}
- Prompts for a regular expression, and selects all articles on the menu
- (all pages) which matches the regular expression. Depending on the
- variable select-on-sender matching is performed against the subject
- (default) or the sender of the articles. An empty answer (= return) will
- reuse the previous expression. Example: The command = . return will
- select all articles in the group.
-
- J {junk-articles}
- This is a very versatile command which can be used to perform all sorts
- of attribute changes, either on individual articles, all articles on the
- current menu page, all articles with a specific attribute, or all
- available articles. To access all the functions of this command, the J
- key may have to be hit up to four times, to loop through different
- one-line menus. The full functionality of the junk-articles command is
- described in a separate section below.
-
- L {leave-next}
- This is a specialized version of the generic J {junk-articles} command to
- set the leave-next attribute on a subset of the articles on the menu. It
- is also described further below.
-
- The following commands move between the pages belonging to the same news group
- when there are more articles than will fit on a single page. These commands
- will not change any article attributes.
-
- > {page+1}
- Goto next menu page.
-
- < {page-1}
- Goto previous menu page, or to last menu page if on first menu page.
-
- $ {page=$}
- Goto last menu page.
-
- ^ {page=1}
- Goto first menu page.
-
- The following commands are used to enter reading mode for the selected
- articles, and to move between news groups (in selection mode). They may change
- article attributes if noted below.
-
- space {continue}
- Continue to next menu page, or if on last menu page, read the selected
- articles. If no articles have been selected, continue to the next news
- group. The unread articles on the current menu page will automatically be
- marked seen.
-
- return {continue-no-mark}
- Identical to the continue command, except that the unread articles on the
- current menu page will remain unread. (The newline key has the same
- effect).
-
- Z {read-return}
- Enter reading mode immediately with the currently selected articles. When
- all articles have been read, return to selection mode in the current
- group. It will mark selected articles read as they are read, but unread
- articles are not normally changed (can be controlled with the variable
- marked-by-read-return.)
-
- X {read-skip}
- Mark all unmarked articles seen on all menu pages (or the pages defined
- by the marked-by-read-skip variable), and enter reading mode immediately
- with the currently selected articles. As the selected articles are read,
- they are marked read. When all selected articles have been read, nn will
- enter selection mode in the next news group. When no articles are
- selected, it goes directly to the next group. This can be used to skip
- all the articles in a large news group without having to go through all
- the menu pages.
-
- If you don't want to read the current group now, but want to keep it for
- later, you can use the following commands which will only mark seen and read
- articles as read. Currently selected articles will still be selected the next
- time you enter the group. None of these commands will change any attributes
- themselves (by default).
-
- N {next-group}
- Go forward to the next group in the presentation sequence. If the
- variable marked-by-next-group is set articles on the menu can optionally
- be marked seen
-
- P {previous}
- Go back to the previous group. This command will enter selection mode on
- the last active group (two P commands in sequence will bring you to the
- current group). If there are still some unread articles in the group,
- only those articles will be shown. Otherwise, all the articles which were
- unread when nn was invoked will be shown marked with the read attribute
- (which can be changed as usual).
-
- As described in the "Article Attributes" section, the read and seen articles
- will normally be marked read when you leave the group, and these articles are
- not shown the next time you enter the group.
-
- In all releases prior to release 6.4, it was impossible to have individual
- articles in a group marked unread when you left a group, and the default
- behaviour of release 6.4 will closely match the traditional behaviour. This
- means that the seen and read articles are treated alike for most practical
- purposes with the default variable settings.
-
- If you don't like nn to silently mark the seen articles read, you can set the
- variable confirm-junk-seen to get nn to prompt you for confirmation before
- doing this, or you can unset the variable auto-junk-seen to simply keep the
- seen articles for the next time you enter the group. You then have to use the
- J {junk-articles} to mark articles read.
-
- Using return {continue-no-mark} will also allow you to keep articles unread
- rather than marking them seen when scrolling through the menu pages and
- entering reading mode. If this is your preferred reading style, you can remap
- space to this command.
-
- Related variables: auto-junk-seen, auto-preview-mode, auto-select-subject,
- case-fold-search, confirm-auto-quit, confirm-entry, confirm-junk-seen,
- marked-by-next-group, marked-by-read-return, marked-by-read-skip,
- retain-seen-status, select-on-sender.
-
- From: NN
- Subject: CONSOLIDATED MENUS
-
- Normally, nn will use one menu line for each article, so if there are many
- articles with identical subjects, each menu page will only contain a few
- different subjects. To have each subject occur only once on the menu, nn can
- operate with consolidated menus by setting the variable consolidated-menu.
-
- When consolidated menus are used, nn operates with two kinds of subjects: open
- and closed.
-
- An open subject is a subject which is shown in the traditional way with one
- menu line for each article with the given subject. In other words, when
- consolidated menus are not used, all subjects are open (by default).
-
- A closed subject is a multi-article subject which is presented by a single
- menu line. This line will be the normal menu line for the first (oldest)
- article with the subject, but with the subject field annotated with a
- bracketed number showing the number of articles with that subject, e.g.
- a Kim F. Storm 12 [4] Future plans for nn
- b.Kim F. Storm 43 [3] More plans for nn
- In this example, there are four unread articles with subject `a' of which the
- first is posted by me and has 12 lines. The rest of the articles are hidden,
- and will only be shown on request. The `.' marker on subject `b' shows that
- all three articles within that subject have been read (or seen).
-
- To select (or deselect) ALL the articles within a closed subject, simply
- select the article shown on the menu; this will automatically select (or
- deselect) the rest (see auto-select-closed). When all the unread articles
- within a closed subject are selected, the menu line will be high-lighted.
-
- If you want to view the individual articles in a subject (maybe to select
- individual articles), you can open the subject with the commands:
-
- (x Open subject x on menu.
-
- (( Open current subject.
-
- When you have completed viewing the opened subject, you can close it again
- using the commands:
-
- )x Close subject x on menu (x is any article with the subject).
-
- )) Close current subject.
-
- In the basic layout of the menu line for a closed subject as shown above, ALL
- articles in the closed subject are supposed to be either:
-
- unread
- The menu line is not high-lighted.
-
- selected
- Menu line is fully high-lighted (if all UNREAD are selected).
-
- read/seen
- There is a `.' (read attribute) following the article id.
-
- If neither of these cases apply, i.e. there is a mixture of unread, selected,
- and seen/read articles, the bracketed number will have one of the following
- formats:
-
- [U:T]
- There are U unread articles of T total (U<T).
-
- [S/T]
- There are S selected articles of T total (S<U=T).
-
- [S/U:T]
- There are S selected of U unread of T total (S<U<T).
-
- If there are any selected articles (S>0), the information between the brackets
- will be high-lighted (to show that something is selected, but not all the
- unread articles).
-
- Notice: Consolidated menus only work with the `subject' and `lexical' sorting
- methods.
-
- Variables related to consolidated menus are: auto-select-closed,
- consolidated-menu, counter-delim-left, counter-delim-right, counter-padding,
- save-closed-mode.
-
- From: NN
- Subject: THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
-
- The J {junk-articles} command is a very flexible command which can perform all
- sorts of attribute changes, either on individual articles, all articles on the
- current menu page, all articles with a specific attribute, or all available
- articles.
-
- To access all the functions of this command, the J key may have to be hit up
- to four times, to loop through different one-line menus:
-
- Mark Read
- This submenu allows you to mark articles read.
-
- Unmark
- This submenu allows you to mark articles unread.
-
- Select
- This submenu allows you to select articles based on their attribute.
-
- Kill This submenu allows you to mark articles read and remove them from the
- menu based on their attribute.
-
- The L {leave-next} command is an extension of the J command with a fifth menu:
-
- Leave
- This menu allows you to mark articles for later handling with the
- leave-next attribute which will keep the article unread until you
- explicitly change the attribute (e.g. by reading it) or it is expired.
-
- For each of these submenus, nn will list the most plausible choices you may
- use, but all of the following answers can be used at all submenus. When you
- have entered a choice, nn will afterward ask whether the change should be made
- to all menu pages or only the current page.
-
- J Show next submenu.
-
- L Change attribute on all leave articles.
-
- N Change attribute on all leave-next articles.
-
- R Change attribute on all read articles.
-
- S Change attribute on all seen articles.
-
- U Change attribute on all unmarked (i.e. unread) articles.
-
- A Change attribute on all articles no matter their current attribute.
-
- * Change attribute on all selected articles on the current page.
-
- + Change attribute on all selected articles on all pages.
-
- a-z0-9
- Change attribute on one or more specific articles on the current page.
- You end the list of articles by a space or by using one of the other
- choices described above.
-
- . Change attribute on current article.
-
- , / Move the current article down or up the menu without changing any
- attributes.
-
- From: NN
- Subject: READING MODE COMMANDS
-
- In reading mode, the selected articles are presented one page at a time. To
- get the next page of an article, simply hit space, and when you are on the
- last page of an article, hit space to get to the next selected article.
- Articles are normally marked read when you go to the next article, while going
- back to the menu, quitting nn, etc. will retain the attribute on the current
- article.
-
- When you are on the last page of the last article, hit space to enter
- selection mode on the next group (or the current group if reading mode was
- entered using the Z command).
-
- To read an article, the following text scrolling commands are available:
-
- space {continue}
- Scroll one page forward or continue with the next article or group as
- described above.
-
- backspace / delete {page-1}
- Go one page backwards in article.
-
- d {page+1/2}
- Scroll one half page forward.
-
- u {page-1/2}
- Go one half page backwards.
-
- return {line+1}
- Scroll one line forward in the article.
-
- tab {skip-lines}
- Skip over lines starting with the same character as the last line on the
- current page. This is useful to skip over included text or to the next
- file in a shell archive.
-
- ^ {page=1}
- Move to the first page (excluding the header) of the article.
-
- $ {page=$}
- Move to the last page of the article.
-
- gN {line=@}
- Move to line N in the article.
-
- /regexp {find}
- Search forward for text matching the regular expression regexp in the
- article. If a matching text is found, it will be high-lighted.
-
- . {find-next}
- Repeat search for last regular expression.
-
- h {page=0}
- Show the header of the article, and continue from the top of the article.
-
- H {full-digest}
- If the current article is extracted from a digest, show the entire digest
- article including its header. Another H command will return to the
- current subarticle.
-
- D {rot13}
- Turn rot13 (caesar) decryption on and off for the current article, and
- redraw current page. If the article is saved while it is decrypted on the
- screen, it will be saved in decrypted form as well!
-
- c {compress}
- Turn compression on and off for the current article and redraw current
- page. With compression turned on, multiple spaces and tabs are shown as a
- single space. This makes it much easier to read right justified text
- which separate words with several spaces. (See also the compress
- variable)
-
- The following commands are used to move among the selected articles.
-
- n {next-article}
- Move to next selected article. This command skips the rest of the current
- article, marks it read, and jumps directly to the first page of the next
- selected article (or to the next group if it was the last selected
- article).
-
- l {leave-article}
- Mark the current article with the leave attribute and continue with the
- next selected article. When all the selected articles in the current
- group have been read, these left over articles can be automatically
- selected and shown once more, or the treatment can be postponed to the
- next time you enter the group.
- This is particularly useful if you see an article which you may want
- to respond to unless one the following articles is already saying what
- you intended to say.
-
- L {leave-next}
- Mark the current article with the leave-next attribute and continue with
- the next selected article.
-
- p {previous}
- Goto previous article.
-
- k {next-subject}
- Kill subject. Skips rest of current article, and all following articles
- with the same subject. The skipped articles are marked read. To kill a
- subject permanently use the K command.
-
- * {select-subject}
- Show next article with same subject (even if it is not selected). This
- command will select all following articles with the same subject as the
- current article (similar to the `*' command in selection mode). This can
- be used to select only the first article on a subject in selection mode,
- and then select all follow-ups in reading mode if you find the article
- interesting.
-
- a {advance-article}
- Goto the following article on the menu even if it is not selected. This
- command skips the rest of the current article and jumps directly to the
- first page of the next article (it will not skip to the next group if it
- is the last article). The attribute on the current article will be
- restored, except for the unread attribute which will be changed to seen.
-
- b {back-article}
- Goto the article before current article on the menu even if it is not
- selected. This is similar to the a command, except for the direction.
-
- The following commands perform an immediate return from reading mode to
- selection mode in the current group or skip to the next group.
-
- = {goto-menu}
- Return to selection mode in the current group (think of = as the "icon"
- of the selection menu). The articles read so far will be marked read.
-
- N {next-group}
- Skip the rest of the selected and unread articles in the current group
- and go directly to the next group. Only the read (and seen) articles in
- the current group are marked as read.
-
- X {read-skip}
- Mark all articles in the current group as read and go directly to the
- next group. (You will be asked to confirm this command.)
-
- Related variables: case-fold-search, compress, data-bits, date, header-lines,
- mark-overlap, monitor, overlap, scroll-clear-page, stop, trusted-escape-codes,
- wrap-header-margin.
-
- From: NN
- Subject: PREVIEWING ARTICLES IN SELECTION MODE
-
- In selection mode, it is possible to read a specific article on the menu
- without entering reading mode for all the selected articles on the menu. Using
- the commands described below will enter reading mode for one article only, and
- then return to the menu mode immediately after (depending on the setting of
- the preview-continuation variable).
-
- If there are more than 5 free lines at the bottom of the menu screen, nn
- will use that space to show the article (a minimal preview window can be
- permanently allocated with the window variable). Otherwise, the screen will be
- cleared to show the article.
-
- After previewing an article, it will be marked read (if the
- preview-mark-read variable is set), and the following article will become the
- current article.
-
- %x {preview}
- Preview article x.
-
- %% {preview}
- Preview the current article.
-
- When the article is being shown, the following reading mode commands are very
- useful:
-
- = {goto-menu}
- Skip the rest of the current article, and return to menu mode.
-
- n {next-article}
- Skip the rest of the current article, and preview the next article.
-
- l {leave-article}
- Mark the article as selected (!) on the menu for handling later on. Then
- skip the rest of the current article, and preview the next article.
-
- %y {preview}
- Preview article y .
-
- If the variable auto-preview-mode is set, just hitting the article id in menu
- mode will enter preview mode on the specified article.
-
- Related variables: auto-preview-mode, min-window, preview-continuation,
- preview-mark-read, window.
-
- From: NN
- Subject: SAVING ARTICLES
-
- The following commands are used to save articles in files, unpack archives,
- decode binaries, etc. It is possible to use the commands in both reading mode
- to save the current article and in selection mode to save one or more articles
- on the menu.
-
- The saved articles will be appended to the specified file(s) followed by an
- empty line each. Both files and directories will be created as needed. When an
- article has been saved in a file, a message reporting the number of lines
- saved will be shown if the save-report variable is set (default on).
-
- S {save-full}
- Save articles including the full article header.
-
- O {save-short}
- Save articles with a short header containing only the name of the sender,
- the subject, and the posting date of the article.
-
- W {save-body}
- Write article without a header.
-
- :print {print}
- Print article. Instead of a file name, this command will prompt for the
- print command to which the current article will be piped. The default
- print command is specified at compile time, but it can be changed by
- setting the printer variable. The output will be identical to that of the
- O command.
-
- :patch {patch}
- Send articles through patch(1) (or the program defined in the
- patch-command variable). Instead of a file name, you will be prompted for
- the name of a directory in which you want the patch command to be
- executed. nn will then pipe the body of the article through the patch
- command.
- The output from the patch process will be shown on the screen and
- also appended to a file named Patch.Result in the patch directory.
-
- :unshar {unshar}
- Unshar articles. You will be prompted for the name of a directory in
- which you want nn to unshar the articles. nn will then pipe the proper
- parts of the article body into a Bourne Shell whose working directory
- will be set to the specified directory.
- During the unpacking, the normal output from the unshar process will
- appear on the screen, and the menu or article text will be redrawn when
- the process is finished.
- The output is also appended to a file named Unshar.Result in the
- unshar directory.
- The file specified in unshar-header-file (default "Unshar.Headers")
- in the unshar directory will contain the header and initial text (before
- the shar data) from the article. You can use the `G' {goto-group} command
- to look at the Unshar.Headers file.
-
- :decode {decode}
- Decode uuencoded articles into binary files. You will be prompted for the
- name of a directory in which you want nn to place the decoded binary
- files (the file names are taken from the uuencoded data).
- nn will combine several articles into single files as needed, and
- you can even decode unrelated packages (into the same directory) with one
- decode command.
- To be able to decode a binary file which spans several articles, nn
- may have to ignore lines which fail the normal sanity checks on uuencoded
- data instead of treating them as transmission errors. Consequently, it is
- strongly recommended to check the resulting decoded file using the
- checksum which is normally contained in the original article. (Actually,
- you are also supposed to do this after decoding with a stand-alone
- uudecode program).
- The header and initial information in the decoded articles are saved
- in the file specified in decode-header-file (default "Decode.Headers") in
- the same directory as the decoded files.
- If decode-skip-prefix is non-null, :decode will attempt to ignore up
- to that many characters on each line to find the encoded data. This is
- particularly useful in some binaries groups where files are both
- uuencoded and packed with shar; nn will ignore the prefix added to each
- line by shar, and thus be able to unshar, concatenate, and decode
- multi-part postings automatically.
-
- In reading mode, the following keys can also be used to invoke the save
- commands:
-
- s Same as S.
-
- o Same as O.
-
- w Same as W.
-
- P Same as :print.
-
- The save commands will prompt for a file name which is expanded according to
- the rules described in the section on file name expansion below. For each
- group, it is possible to specify a default save file in the init file, either
- in connection with the group presentation sequence or in a separate save-files
- section (see below). If a default save file is specified for the group, nn
- will show this on the prompt line when it prompts for the file name. You can
- edit this name as usual, but if you kill the entire name immediately, nn will
- replace the default name with the last file name you entered. If you kill this
- as well, nn will leave you with a blank line.
-
- If the quick-save variable is set, nn will only prompt for a save file name
- when the current article is inside a folder; otherwise, the default save file
- defined in the init file will be used unconditionally.
-
- If the file (and directories in the path) does not exist, nn will ask whether
- the file (and the directories) should be created.
-
- If the file name contains an asterisk, e.g.
- part*.shar
- nn will save each of the articles in uniquely named files constructed by
- replacing the asterisk by numbers from the sequence 1, 2, 3, etc. The format
- of the string that replaces the * can be changed with the save-counter
- variable, and the first number to use can be changed via save-counter-offset.
-
- In selection mode, nn will prompt you for the identifier of one or more
- articles you want to save. When you don't want to save more articles, just hit
- space. The saved articles will be marked read.
-
- If you enter an asterisk `*' when you are prompted for an article to save, nn
- will automatically save all the selected articles on the current menu page and
- mark them read.
-
- Likewise, if you enter a plus `+', nn will save all the selected articles on
- all menu pages and mark them read.
-
- This is very useful to unpack an entire package using the :unshar and :decode
- commands. It can also be used in combination with the save selected articles
- feature to save a selection of articles in separate, successively numbered
- files. But do not confuse these two concepts! The S* and S+ commands can be
- used to save the selected articles in a single file as well as in separate
- files, and the save in separate files feature can be used also when saving
- individual articles, either in the selection mode, or in the article reading
- mode.
-
- When articles are saved in a file with a full or partial header, any header
- lines in the body of the article will be escaped by a tilde (e.g. ~From: ...)
- to enable nn to split the folder into separate articles. The escape string can
- be redefined via the embedded-header-escape variable.
-
- Articles can optionally be saved in MAIL or MMDF compatible format by setting
- the mail-format and mmdf-format variables. These variables only specify the
- format used when creating a new folder, while appending to an existing folder
- will be done in the format of the folder (unless folder-format-check is
- false).
-
- Related variables: confirm-append, confirm-create, decode-header-file,
- decode-skip-prefix, default-save-file, folder-save-file, edit-patch-command,
- edit-print-command, edit-unshar-command, folder, folder-format-check,
- mail-format, mmdf-format, patch-command, printer, quick-save, save-counter,
- save-counter-offset, save-report, suggest-default-save, unshar-command,
- unshar-header-file.
-
- From: NN
- Subject: FOLDER MAINTENANCE
-
- When more than one article is saved in a folder, nn is able to split the
- folder, and each article in the folder can be treated like a separate article.
-
- This means that you can save, decode, reply, follow-up, etc. just as with the
- original article.
-
- You can also cancel (delete) individual articles in a folder using the normal
- C {cancel} command described later. When you quit from the folder, you will
- then be given the option to remove the cancelled articles from the folder.
-
- The original folder is saved in a file named `BackupFolder~' in the .nn
- directory (see the backup-folder-path variable) by renaming or copying the old
- folder as appropriate. When the folder has been compressed, the backup folder
- will be removed unless the variable keep-backup-folder is set.
-
- If all articles in a folder are cancelled, the folder will be removed or
- truncated to zero length (whatever is allowed by directory and file
- permissions). In this case no backup folder is retained even when
- keep-backup-folder is set!
-
- If the variable trace-folder-packing is set, nn will show which articles are
- kept and which are removed as the folder is rewritten.
-
- Folders are rewritten in the format of the original folder, i.e. the
- mail-format and mmdf-format variables are ignored.
-
- Related variables: backup-folder-path, keep-backup-folder,
- trace-folder-packing.
-
- From: NN
- Subject: FILE NAME EXPANSION
-
- When the save commands prompts for a file name, the following file name
- expansions are performed on the file name you enter:
-
- +folder
- The + is replaced by the contents of the folder variable (default value
- "~/News/") resulting in the name of a file in the folder directory.
- Examples:
- +emacs, +nn, +sources/shar/nn
-
- + A single plus is replaced by the expansion of the file name contained in
- the default-save-file variable (or by folder-save-file when saving from a
- folder).
-
- ~/file
- The ~ is replaced by the contents of the environment variable HOME, i.e.
- the path name of your home directory. Examples:
- ~/News/emacs, ~/News/nn, ~/src/shar/nn
-
- ~user/file
- The ~user part is replaced by the user's home directory as defined in the
- /etc/passwd file.
-
- |command-line
- Instead of writing to a file, the articles are piped to the given shell
- (/bin/sh) command-line. Each save or write command will create a separate
- pipe, but all articles saved or written in one command (in selection
- mode) are given as input to the same shell command. Example:
- | pr | lp
- This will print the articles on the printer after they have been piped
- through pr.
- It is possible to create separate pipes for each saved article by
- using a double pipe symbol in the beginning of the command, e.g.
- || cd ~/src/nn ; patch
-
- The following symbols are expanded in a file name or command:
-
- $F will be expanded to the name of the current group with the periods
- replaced by slashes, e.g. rec/music/synth.
-
- $G will be expanded to the name of the current group.
-
- $L will be expanded to the last component of the name of the current group.
- You may use this to create default save file names like +src/$L in the
- comp.sources groups.
-
- $N will be expanded to the (local) article number, e.g. 1099. In selection
- mode it is only allowed at the end of the file name!
-
- $(VAR)
- is replaced by the string value of the environment variable VAR.
-
- Using these symbols, a simple naming scheme for `default folder name' is +$G
- which will use the group name as folder name. Another possibility is +$F/$N.
-
- As mentioned above, you can also instruct nn to save a series of files in
- separate, unique files. All that is required is that the file name contains an
- asterisk, e.g.
- +src/hype/part*.shar
- This will cause each of the articles to be saved in separate, unique files
- named part1.shar, part2.shar, and so on, always choosing a part number that
- results in a unique file name (i.e. if part1.shar did already exist, the first
- article would be saved in part2.shar, the next in part3.shar, and so on).
-
- Related variables: default-save-file, folder, folder-save-file, save-counter,
- save-counter-offset.
-
- From: NN
- Subject: FILE AND GROUP NAME COMPLETION
-
- When entering a file name or a news group name, a simple completion feature is
- available using the space, tab, and ? keys.
-
- Hitting space anywhere during input will complete the current component of the
- file name or group name with the first available possibility.
-
- If this possibility is not the one you want, keep on hitting space until it
- appears.
-
- When the right completion has appeared, you can just continue typing the file
- or group name, or you can hit tab to fix the current component, and get the
- first possibility for the next component, and then use space to go through the
- other possible completions.
-
- The ? key will produce a list of the possible completions of the current
- component. If the list is too long for the available space on screen, the key
- can be repeated to get the next part of the list.
-
- The current completion can be deleted with the erase key.
-
- The default value for a file name is the last file name you have entered, so
- if you enter a space as the first character after the prompt, the last file
- name will be repeated (and you can edit it if you like). In some cases, a
- string will already be written for you in the prompt line, and to get the
- default value in these cases, use the kill key. This also means that if you
- neither want the initial value, nor the default value, you will have to hit
- the kill twice to get a clean prompt line.
-
- Related variables: comp1-key, comp2-key, help-key, suggest-default-save.
-
- From: NN
- Subject: POSTING AND RESPONDING TO ARTICLES
-
- In both selection mode and reading mode you can post new articles, post
- follow-ups to articles, send replies to the author of an article, and you can
- send mail to another user with the option of including an article in the
- letter. In reading mode, a response is made to the current article, while in
- selection mode you will be prompted for an article to respond to.
-
- The following commands are available (the lower-case equivalents are also
- available in reading mode):
-
- R {reply}
- Reply through mail to the author of the article. This is the preferred
- way to respond to an article unless you think your reply is of general
- interest.
-
- F {follow}
- Follow-up with an article in the same newsgroup (unless an alternative
- group is specified in the article header). The distribution of the
- follow-up is normally the same as the original article, but this can be
- modified via the follow-distribution variable.
-
- M {mail}
- Mail a letter or forward an article to a single recipient. In selection
- mode, you will be prompted for an article to include in your letter, and
- in reading mode you will be asked if the current article should be
- included in the letter. You will then be prompted for the recipient of
- the letter (default recipient is yourself) and the subject of the letter
- (if an article is included, you may hit space to get the default subject
- which is the subject of the included article).
- The header of the article is only included in the posted letter if
- it is forwarded (i.e. not edited), or if the variable include-full-header
- is set.
-
- :post {post}
- Post a new article to any newsgroup. This command will prompt you for a
- comma-separated list of newsgroups to post to (you cannot enter a space
- because space is used for group name completion as described below).
- If you enter ? {help-key} as the first key, nn will show you a list
- of all available news groups and their purpose. While paging through this
- list, you can enter q to quit looking at the list. You can also enter /
- followed by a regular expression (typically a single word) which will
- cause nn to show a (much shorter) list containing only the lines matching
- the regular expression.
- Normally, you will be prompted for the distribution of the article
- with the default take from default-distribution, but this can be changed
- via the post-distribution variable.
-
- Generally, nn will construct a file with a suitable header, optionally include
- a copy of the article in the file with each non-empty line prefixed by a `>'
- character (except in mail mode), and invoke an editor of your choice (using
- the EDITOR environment variable) on this file, positioning you on the first
- line of the body of the article (if it knows the editor).
-
- When you have completed editing the message, it will compare it to the
- unedited file, and if they are identical (i.e. you did not make any changes to
- the file), or it is empty, the operation is cancelled. Otherwise you will be
- prompted for an action to take on the constructed article (enter first letter
- followed by return, or just return to take the default action):
- a)bort c)c e)dit h)old i)spell m)ail r)eedit s)end v)iew w)rite
- Action: (post article)
- You now have the opportunity to perform one of the following actions:
-
- a throw the response away (will ask for confirmation),
- c mail a copy of a follow-up to the poster of the article,
- e edit the file again,
- h hold response for later completion,
- i run an (interactive) spell-checker on the text,
- m mail a (blind) copy to a specified recipient,
- n same as abort (no don't post)
- p post article (same as send)
- r throw away the edited text and edit the original text,
- s send the article or letter,
- v view the article (through the pager), or
- w append it to a file (before you send it).
- y confirm default answer (e.g. yes post it)
-
- To complete an unfinished response saved by the h)old command, simply enter
- any response action, e.g. R {reply}. This will notice the unfinished response
- and ask you whether you want to complete it now. Only one unfinished response
- can exist at a time. Notice that the $A environment variable may no longer be
- valid as a path to the original article when the response is completed.
-
- Related variables: append-signature-mail, append-signature-post,
- default-distribution, follow-distribution, post-distribution,
- edit-response-check, editor, include-art-id, include-full-header,
- included-mark, mail-header, mail-record, mail-script, mailer,
- mailer-pipe-input, news-header, news-record, news-script,
- orig-to-include-mask, pager, query-signature, record, response-check-pause,
- response-default-answer, save-counter, save-counter-offset, save-report,
- spell-checker.
-
- From: NN
- Subject: JUMPING TO OTHER GROUPS
-
- By default nn will present the news groups in a predefined sequence (see the
- section on Presentation Sequence later on). To override this sequence and have
- a look at any other group the G {goto-group} command available in both
- selection and reading mode enables you to move freely between all the
- newsgroups.
-
- Furthermore, the G command enables you to open folders and other files, to
- read old articles you have read before, and to grep for a specific subject in
- a group.
-
- It is important to notice that normally the goto command is recursive, i.e.
- a new menu level is created when the specified group or folder is presented,
- and when it has been read, nn will continue the activity in the group that was
- presented before the goto command was executed. However, if there are unread
- articles in the target group you can avoid entering a new menu level by using
- the j reply described below. The current menu level (i.e. number of nested
- goto commands) will be shown in the prompt line as "<N>" (in reverse video).
-
- The goto command is very powerful, but unfortunately also a little bit
- tricky at first sight, because the facilities it provides depend on the
- context in which the command is used.
-
- When executed, the goto command will prompt you for the name of the
- newsgroup, folder, or file to open. It will use the first letter you enter to
- distinguish these three possibilities:
-
- return
- An empty answer is equivalent to the current newsgroup.
-
- letter
- The answer is taken to be the name of a newsgroup. If a news group with
- the given name does not exist, nn will treat the answer as a regular
- expression and locate the first group in the presentation sequence (or
- among all groups) whose name matches the expression.
-
- +
- The answer is taken to be the name of a folder. If only `+' is entered,
- it is equivalent to the default save file for the current group.
-
- / or ./ or ~/
- The answer is taken to be the name of a file, either relative to the
- current directory, relative to your home directory, or an absolute path
- name for the file.
-
- % In reading mode, this reply corresponds to reading the current article
- (and splitting it as a digest). In selection mode, it will prompt for an
- article on the menu to read.
-
- @ This choice is equivalent to the archive file for the current group.
- nnmaster maintains archive files with all old and current articles for
- the groups which have the auto-archive option set in the GROUPS file (see
- nnmaster(8)).
-
- = and number
- These answers are equivalent to the same answers described below applied
- to the current group (e.g. G return = and G = are equivalent).
-
- Specifying a folder, a file, or an article (with %) will cause nn to treat the
- file like a digest and split it into separate articles (not physically!) which
- are then presented on a menu in the usual way, allowing you to read or save
- individual subarticles from the folder.
-
- When you enter a group name, nn will ask you how many articles in the group
- you want to see on the menu. You can give the following answers:
-
- a number N
- In this case you will get the newest N articles in the group, or if you
- specified the current group (by hitting return to the group name prompt
- or entering the number directly), you will get that many extra articles
- included on the same menu (without creating a new menu level).
-
- j This answer can only be given if there are unread articles in the group.
- It will instruct nn to jump directly to the specified group in the
- presentation sequence without creating a new menu level.
-
- u This instructs nn to present the unread articles in the group (if there
- are any). If you have already read the group (in the current invocation
- of nn), the u answer will instruct nn to present the articles that were
- unread when you entered nn.
-
- a This instruct nn to present all articles in the group.
-
- sword or =word
- This instructs nn to search all articles in the groups, but only present
- the articles containing the word word in the subject. Notice that case is
- ignored when searching for the word in the subject lines.
-
- nword
- Same as the s form except that it searched for articles where the sender
- name matches word.
-
- eword
- Same as the s form except that it Psearched for articles where either the
- subject or the sender name matches word.
-
- word = /regexp
- When the first character of the word specified with the s, n, and e forms
- is a slash `/', the rest of the input is interpreted as a regular
- expression to search for. Notice that regular expression matching is case
- insensitive when case-fold-search is set (default).
-
- return
- The meaning of an empty answer depends on the context: if there are
- unread articles in the specified group the unread articles will be
- presented, otherwise all articles in the group will be included in the
- menu.
-
- If you specified the current group, and the menu already contains all the
- available articles, nn will directly prompt for a word to search for in the
- subject of all articles (the prompt will be an equal sign.)
-
- When the goto command creates a new menu level, nn will not perform auto kill
- or selection in the group. You can use the + command in menu mode to perform
- the auto-selections.
-
- There are three commands in the goto family:
-
- G {goto-group}
- This is the general goto command described above.
-
- B {back-group}
- Backup one or more groups. You can hit this key one or more times to go
- back in the groups already presented (including those without new
- articles); when you have found the group you are looking for, hit space
- to enter it.
-
- A {advance-group}
- Advance one or more groups. This command is similar to the B command, but
- operates in the opposite direction.
-
- N {next-group}
- When used within an A or B command, it skips forward to the next group in
- the sequence with unread articles or which has previously been visited.
-
- P {previous}
- When used within an A or B command, it skips backwards to the preceding
- group in the sequence with unread articles or which has previously been
- visited.
-
- Once you have entered an A or Bcommand, you can freely mix the A, B, P, and N
- commands to find the group you want, and you can also use the G command to be
- prompted for a group name.
-
- To show the use of the goto command some typical examples on its use are given
- below:
- "Present the unread articles in the dk.general group"
- G dk.general return u
- "Jump directly to the gnu.emacs group and continue from there"
- G gnu.emacs return j
- "Include the last 10 READ articles in the current group menu"
- G 10 return
- "Find all articles in rec.music.misc on the subject Floyd"
- G rec.music.misc return
- = floyd return
- "Open the folder +nn"
- G +nn return
- "Split current article as a digest (in reading mode)"
- G %
-
- Related variables: case-fold-search, default-save-file, folder-save-file
-
- From: NN
- Subject: AUTOMATIC KILL AND SELECTION
-
- When there is a subject or an author which you are either very interested in,
- or find completely uninteresting, you can easily instruct nn to auto-select or
- auto-kill articles with specific subjects or from specific authors. These
- instructions are stored in a kill file, and the most common types of entries
- can be created using the following command:
-
- K {kill-select}
- Create an entry in your personal kill file. The contents of the entry is
- specified during a short dialog that is described in details below. This
- command is available in both selection and reading mode.
-
- Entries in the kill file may apply to a single newsgroup or to all newsgroups.
- Furthermore, entries may be permanent or they may be expired a given number of
- days after their entry.
-
- To increase performance, nn uses a compiled version of the kill file which is
- read in when nn is invoked. The compiled kill file will automatically be
- updated if the normal kill file has been modified.
-
- The following dialog is used to build the kill file entry:
-
- AUTO (k)ill or (s)elect (CR => Kill subject 30 days)
- If you simply want nn to kill all articles with the subject of the
- current article (in reading mode) or a specific article (which nn will
- prompt for in selection mode), just hit return. This will cause nn to
- create an entry in the kill file to kill the current (or specified)
- subject in the current group for a period of 30 days (which should be
- enough for the discussion to die out).
- You can control the default kill period, or change it into a "select"
- period via the default-kill-select variable.
- If this "default behaviour" is not what you want, just answer either k or
- s to kill or select articles, respectively, which will bring you on to
- the rest of the questions.
-
- AUTO SELECT on (s)ubject or (n)ame (s)
- (The SELECT will be substituted with KILL depending on the previous
- answer). Here you specify whether you want the kill or select to depend
- on the subject of the article (s or space), or on the name of the author
- (n).
-
- SELECT NAME:
- (Again SELECT may be substituted with KILL and SUBJECT may replace NAME).
- You must now enter a name (or subject) to select (or kill). In reading
- mode, you may just hit return (or %) to use the name (or subject) of the
- current article. In selection mode, you can use the name (or subject)
- from an article on the menu by answering with % followed by the
- corresponding article identifier.
- When the name or subject is taken from an article (the current or one
- from the menu), nn will only select or kill articles where the name or
- subject matches the original name or subject exactly including case.
- If the first character typed at the prompt is a slash `/', the rest of
- the line is used as a regular expression which is used to match the name
- or subject (case insensitive).
- Otherwise, nn will select or kill articles which contain the specified
- string anywhere in the name or subject (ignoring case).
-
- SELECT in (g)roup `dk.general' or in (a)ll groups (g)
- You must now specify whether the selection or kill should apply to the
- current group only (g or space) or to all groups (a).
-
- Lifetime of entry in days (p)ermanent (30)
- You can now specify the lifetime of the entry, either by entering a
- number specifying the number of days the entry should be active, or p to
- specify the entry as a permanent entry. An empty reply is equivalent to
- 30 days.
-
- CONFIRM SELECT ....
- Finally, you will be asked to confirm the entry, and you should
- especially note the presence or absence of the word exact which specify
- whether an exact match applies for the entry.
-
- Related variables: default-kill-select, kill.
-
- From: NN
- Subject: THE FORMAT OF THE KILL FILE
-
- The kill file consists of one line for each entry. Empty lines and lines
- starting with a # character are ignored. nn automatically places a # character
- in the first position of expired entries when it compiles the kill file. You
- can then edit the kill file manually from time to time to clean out these
- entries.
-
- Each line has the following format
- [expire time :] [group name] : flags : string [: string]...
-
- Permanent entries have no expire time (in which case the colon is omitted as
- well!). Otherwise, the expire time defines the time (as a time_t value) when
- the entry should be expired.
-
- The group name field can have three forms:
-
- news.group.name
- If it is the name of a single news group (e.g. comp.unix), the entry
- applies to that group only.
-
- /regular expression
- If it starts with a slash `/' followed by a regular expression (e.g.
- /^news\..*), the entry applies to all groups whose name are matched by
- the regular expression.
-
- empty
- An empty group field will apply the entry to all groups.
-
- The flags field consists of a list of characters which identifies the type of
- entry, and the interpretation of each string field. When used, the flag
- characters must be used in the order in which they are described below:
-
- ~ (optional)
- When this flag is present on any of the entries for a specific group, it
- causes all entires which are not auto-selected to be killed. This is a
- simple way to say: I'm interested in this and that, but nothing else.
-
- + or ! (optional)
- Specify an auto-select + or an auto-kill ! entry, respectively. If
- neither are used, the article is neither selected nor killed which is
- useful in combination with the `~' flag.
-
- > (optional)
- When used with a subject (flag s), the kill entry only matches follow-ups
- to that subject (i.e. where the Subject: line starts with Re:). For
- example, to kill all "Re:"'s in rec.humor use the following kill entry:
- rec.humor:!>s/:.
-
- < (optional)
- When used with a subject (flag s), the kill entry only matches base
- articles with that subject (i.e. where the Subject: line does not start
- with Re:). For example, to kill all articles asking for help (but not
- follow-ups) in the tex group, add this to your kill file:
- comp.text.tex:!s</:^HELP
-
- n or s or a (mandatory)
- Specify whether the corresponding string applies to the name n or to the
- subject s of an article. If flag a is used, the corresponding string is
- ignored (but must be present), and the entry applies to articles with a
- non-empty References: line.
-
- / (optional)
- Specifies that the corresponding string is a regular expression which the
- sender or subject is matched against. If not specified, a simple string
- match is performed using the given string.
-
- = (optional)
- Specifies that the match against the name or subject is case sensitive.
- Furthermore, when regular expression matching is not used, the name or
- subject must be of the same length of the string to match. Otherwise, the
- match will be case insensitive, and a string may occur anywhere in the
- name or subject to match.
-
- | or & (mandatory if multiple strings)
- If more than one string is specified, the set of flags corresponding to
- each string must be separated by either an or operator `|' or an and
- operator `&'. The and operator has a higher precedence than the or
- operator, e.g. a complex match expression a|b&c|d will succeed if either
- of a, b&c, or d matches.
-
- The string field in the entry is the name, subject or regular expression that
- will be matched against the name or subject of each article in the group (or
- all groups). Colons and backslashes must be escaped with a backslash in the
- string.
-
- Example 1: Auto-select articles from `Tom Collins' (exact) on subject `News'
- in all groups:
- :+n=&s:Tom Collins:News
- Example 2: Kill all articles which are neither from `Tom' or `Eve' in
- some.group. Select only articles from Eve:
- some.group:~n:Tom
- some.group:+n:Eve
- The second example can also be written as a single entry with an or operator
- (in this case, the select/kill attribute only applies to the succeeding
- strings):
- some.group:~n|+n:Tom:Eve
-
- To remove expired entries, to "undo" a K command, and to make the more
- advanced entries with more than one string, you will have to edit the kill
- file manually. To recompile the file, you can use the :compile command. When
- you invoke nn, it will also recompile the kill file if the compiled version is
- out of dat.
-
- From: NN
- Subject: SHELL ESCAPES
-
- The ! commands available in selection and reading mode are identical in
- operation (with one exception). When you enter the shell escape command, you
- will be prompted for a shell command. This command will be fed to the shell
- specified in the shell variable (default loaded from the SHELL environment
- variable or /bin/sh) after the following substitutions have been performed on
- the command:
-
- File name expansion
- The earlier described file name expansions will be performed on all
- arguments.
-
- $G will be substituted with the name of the current news group.
-
- $L will be substituted with the last component of the name of the current
- news group.
-
- $F will be substituted with the name of the current news group with the
- periods replaced by slashes.
-
- $N will be substituted with the (local) article number (only defined in
- reading mode).
-
- $A is replaced by the full path name of the file containing the current
- article (only defined in reading mode).
-
- % Same as $A.
-
- $(VAR)
- is replaced by the string value of the environment variable VAR.
-
- When the shell command is completed, you will be asked to hit any key to
- continue. If you hit the ! key again, you will be prompted for a new shell
- command. Any other key will redraw the screen and return you to the mode you
- came from.
-
- Related variables: shell, shell-restrictions.
-
- From: NN
- Subject: MISCELLANEOUS COMMANDS
-
- Below are more useful commands which are available in both selection and
- reading modes.
-
- U {unsub}
- Unsubscribe to the current group. You will not see this group any more
- unless you explicitly request it. If the variable unsubscribe-mark-read
- is set, all articles in the group will be marked read when you
- unsubscribe.
- If the variable keep-unsubscribed is not set, the group will be
- removed from .newsrc. If you are not subscribing to the group, you will
- be given the possibility to resubscribe to the group! This may be used in
- connection with the G command to resubscribe a group.
-
- C {cancel}
- Cancel (delete) an article in the current group or folder. Cancelling
- articles in a folder will cause the folder to be rewritten when it is
- closed. In selection mode, you will be prompted for the identifier of the
- article to cancel. Normal users can only cancel their own articles. See
- also the section on folder maintenance.
-
- Y {overview}
- Provide an overview of the groups with unread articles.
-
- " {layout}
- Change menu layout in selection mode. The menu will be redrawn using the
- next layout (cycling through ..., 2, 3, 4, 0, 1, ...)
-
- Most of the commands in nn are bound to a key and can be activated by a single
- keystroke. However, there are a few commands that cannot be bound to a key
- directly.
-
- As shown in the keystroke command descriptions, all commands have a name, and
- it is possible to activate a command by name with the extended command key
- (:). Hitting this key will prompt you for the name of a command (and
- parameters). For example, an alternative to hitting the R key to reply to an
- article is to enter the extended command :reply followed by return. The :post
- and :unshar commands described earlier can also be bound to a key. The
- complete list of commands which can be bound to keys is provided in the
- section on Key Mappings below.
-
- The following extended commands cannot be bound to a key, mainly because they
- require additional parameters on the prompt line, or because it should not be
- possible to activate them too easily.
-
- :admin
- Enter administrative mode. This is identical in operation to the nnadmin
- (1M) program.
-
- :bug Prepare and send a bug report to the nn-bugs mailing address.
-
- :cd [ directory ]
- Change current working directory. If the directory argument is not
- provided, nn will prompt for it.
-
- :clear
- Clear the screen (without redraw). This may be useful at the beginning of
- the init file (possibly guarded by "on program nn"), or in some macros.
-
- :compile
- Recompile the kill file. This is not necessary under normal operation
- since nn automatically compiles the file on start-up if it has changed,
- but it can be used if you modify the kill file while nn is suspended.
-
- :coredump
- Abort with a core dump. For debugging purposes only.
-
- :define macro
- Define macro number macro as described in the Macro Definition section
- below. If macro is omitted, the next free macro number will be chosen.
-
- :dump table
- Same as the :show command described below.
-
- :help [ subject ]
- Provide online help on the specified subject. If you omit the subject, a
- list of the available topics will be given.
-
- :load [ file ]
- Load the specified file. If the file argument is omitted, the init file
- is reloaded. The sequence part (if present) is ignored.
-
- :local variable [ value ]
- Make the variable local to the current group. Subsequent changes to the
- variable will only be effective until the current group is left. If a
- value is specified, it will be assigned to the local variable. To assign
- a new value to a boolean variable, the values on and off must be used.
-
- :lock variable
- Lock the specified variable so it cannot be modified.
-
- :man Call up the online manual. The manual is presented as a normal folder
- with the program name in the `From' field and the section title in the
- `subject' field. All the normal commands related to a folder works for
- the online manual as well, e.g. you can save and print sections of the
- manual.
-
- :map arguments
- This is the command used for binding commands to the keys. It is fully
- described in the Key Mapping section below.
-
- :mkdir [ directory ]
- Create the directory (and the directories in its path). It will prompt
- for at directory name if the argument is omitted.
-
- :motd
- Show the message of the day (maintained by the news administrator in the
- file "motd" in the lib directory. This file is automatically displayed on
- start-up whenever it changes if the motd variable is set.
-
- :pwd Print path name of current working directory on message line.
-
- :q Has no effect besides redrawing the screen if necessary. If an extended
- command (one which is prefixed by a :) produces any output requirering
- the screen to be redrawn, the screen will not be redrawn immediately if
- the variable delay-redraw is set (useful on slow terminals). Instead
- another : prompt is shown to allow you to enter a new extended command
- immediately. It is sufficient to hit return to redraw the screen, but it
- has been my experience that entering q return in this situation happens
- quite often, so it was made a no-op.
-
- :q! Quit nn without updating the .newsrc file.
-
- :Q Quit nn. This is equivalent to the normal Q command.
-
- :rmail
- Open your mailbox (see the mail variable) as a folder to read the
- incoming messages. This is not a full mail interface (depending on the nn
- configuration, you may not be able to delete messages, add cc: on
- replies, etc), but it can give you a quick glance at new mail without
- leaving nn.
-
- :set variable [ value ]
- Set a boolean variable to true or assign the value to a string or integer
- variable. The :set command is described in details in the section on
- VARIABLES.
-
- :sh Suspend nn, or if that is not possible, spawn an interactive shell.
-
- :show groups mode
- Show the total number or the number of unread articles in the current
- group, depending on mode: all (list the number of unread articles in all
- groups including groups which you have unsubscribed to), total (list the
- total number of articles in all existing groups), sequence (list unread
- groups in presentation sequence order), subscr (list all subscribed
- groups), unsub (list unsubscribed groups only). Any other mode results in
- a listing of the number of unread articles in all subscribed groups
- including those you have suppressed with the `!' symbol in the group
- presentation sequence. To get just the currently unread groups in the
- presentation sequence, use the `Y' {overview} command.
-
- :show kill
- Show the kill entries that applies to the current group and to all
- groups.
-
- :show rc [ group ]
- Show the .newsrc and select file entries for the current or the specified
- group.
-
- :show map [ mode ]
- Show the key bindings in the current or specified mode.
-
- :sort [ mode ]
- Reorder the articles on the menu according to mode or if omitted to the
- default sort-mode. The following sorting modes are available:
- arrival: list articles by local article number which will be the same as
- the order in which they arrived on the system (unless groups are merged),
- subject: articles with identical subjects are grouped and ordered after
- age of the oldest article in the group,
- lexical: subjects in lexicographical order,
- age: articles ordered after posting date only,
- sender: articles ordered after sender's name.
-
- :toggle variable
- Toggle a boolean variable.
-
- :unread [ group ] [ articles ]
- Mark the current (or specified) group as unread. If the articles argument
- is omitted, the number of unread articles in the group will be set to the
- number of unread articles when nn was invoked. Otherwise, the argument
- specifies the number of unread articles.
-
- :unset variable
- Set a boolean variable to false or clear an integer variable.
-
- :x Quit nn and mark all articles in the current group as read!
-
- Related variables: backup, bug-report-address, delay-redraw,
- keep-unsubscribed, unsubscribe-mark-read, mail, pager, sort-mode.
-
- From: NN
- Subject: CATCH UP
-
- If you have not read news for some time, there are probably more news than you
- can cope with. Using the option -a0 nn will put you into catch-up mode.
-
- The first question you will get is whether to catch up interactively or
- automatically. If you instruct nn to catch up automatically, it will simply
- mark all articles in all groups as read, thus bringing you completely
- up-to-date.
-
- If you choose the interactive mode, nn will locate all groups with unread
- articles, and for each group it will prompt you for an action to take on the
- group. An action is selected using a single letter followed by return. The
- following actions are available:
-
- y Mark all articles as read in current group.
-
- n Do not update group (this is the default action if you just hit return).
-
- r Enter reading mode to read the group.
-
- U Unsubscribe to the group.
-
- ? Give a list of actions.
-
- q Quit. When you quit, nn will ask whether the rest of the groups should be
- updated unconditionally or whether they should remain unread.
-
- From: NN
- Subject: VARIABLES AND OPTIONS
-
- It is possible to control the behaviour of nn through the setting (and
- unsetting) of the variables described below. There are several ways of setting
- variables:
- - Through command line options when nn is invoked.
- - Through assignments on the command line when nn is invoked.
- - Through global set commands in the init file.
- - Through set or local commands executed from entry macros.
- - Through the :set extended command when you run nn.
-
- There are four types of variables:
- - Boolean variables
- - Integer variables
- - String variables
- - Key variables
-
- Boolean variables control a specific function in nn, e.g. whether the current
- time is shown in the prompt line. A boolean variable is set to true with the
- command
- set variable
- and it is set to false with either of the following (equivalent) commands:
- unset variable
- set novariable
-
- You can also toggle the value of a boolean variable using the command:
- toggle variable
-
- For example:
- set time
- unset time
- set notime
- toggle time
-
- Integer variables control an amount e.g. the size of the preview window, or
- the maximum number of articles to read in each group. They are set with the
- following command:
- set variable value
- In some cases, not setting an integer value has a special meaning, for
- example, not having a minimal preview window or reading all articles in the
- groups no matter how many there are. The special meaning can be re-established
- by the following command:
- unset variable
- For example:
- set window 7
- unset limit
-
- String variables may specify directory names, default values for prompts, etc.
- They are set using the command
- set variable string
- Normally, the string value assigned to the variable value starts at the first
- non-blank character after the variable name and ends with the last non-blank
- character (excluding comments) on the line. To include leading or trailing
- blanks, or the comment start symbol, #, in the string they must be escaped
- using a backslash `\', e.g. to set included-mark to the string " # ", the
- following assignment can be used:
- set included-mark \\ \#\\ \ \ # blank-#-blank
- To include a backslash in the string, it must be duplicated `\\'. A backslash
- may also be used to include the following special characters in the string:
- \a=alarm, \b=backspace, \e=escape, \f=form-feed, \n=new-line, \r=return,
- \t=tab.
-
- Key variables control the keys used to control special functions during user
- input such as line editing and completion. They are set using the command
- set variable key-name
-
- A variable can be locked which makes further modification of the variable
- impossible:
- lock variable
- This can be used in the setup init file which is loaded unconditionally to
- enforce local conventions or restrictions. For example, to fix the
- included-mark variable to the string ">", the following commands can be placed
- in the setup file:
- set included-mark >
- lock included-mark
-
- The current variable settings can be shown with the :set command:
-
- :set (without arguments)
- This will give a listing of the variables which have been set in either
- the init file or interactively.
-
- :set all
- This will give a listing of all variables. Modified variables will be
- marked with a `*' and local variables will be marked with a `>'. A locked
- variable is marked with a `!'.
-
- :set /regexp
- This will give a listing of all variables whose name matches the given
- regular expression.
-
- :set partial-name space
- The space (comp1-key) key will complete the variable name as usual, but
- as a side effect it will display the variable's current value in the
- message line.
-
- Variables are global by default, but a local instantiation of the variable can
- be created using the :local command. The local variable will overlay the
- global variable as long as the current group is active, i.e. the global
- variable will be used again when you exit the current group. The initial value
- of the local variable will be the same as the global variable, unless a new
- value is specified in the :local command:
- :local variable [ value ]
-
- The following variables are available:
-
- also-full-digest (boolean, default false)
- When a digest is split, the digest itself is not normally included on the
- menu, and as such the initial adminstrative information is not available.
- Setting also-full-digest will cause the (unsplit) digest to be included
- on the menu. These articles are marked with a @ at the beginning of the
- subject.
-
- also-subgroups (boolean, default true)
- When set, a group name in the presentation sequence will also cause all
- the subgroups of the group to be included, for example, comp.unix will
- also include comp.unix.questions, etc. When also-subgroups is not set,
- subgroups are only included if the group name is followed by a `.' in
- which case the main group is not included, i.e. `comp.unix' is not
- included when `comp.unix.' is specified in the presentation sequence, and
- vice-versa. Following a group name by an asterisk `*', e.g. comp.unix*,
- will include the group as well as all subgroups independently of the
- setting of also-subgroups.
-
- append-signature-mail (boolean, default false)
- When false, it is assumed that the .signature file is automatically
- appended to responses sent via E-mail. If true, .signature will be
- appended to the letter (see query-signature).
-
- append-signature-post (boolean, default false)
- When false, it is assumed that the .signature file is automatically
- appended to posted articles. If true, .signature will explicitly be
- appended to posted articles (see query-signature).
-
- attributes symbols (string, default ....)
- Each element in this string represents a symbol used to represent an
- article attribute when displayed on the screen. See the section on
- Marking Articles and Attributes.
-
- auto-junk-seen (boolean, default true)
- When set, articles which have the seen attribute (,) will be marked read
- when the current group is left. If not set, these articles will still be
- either unread or marked seen the next time the group is entered (see also
- confirm-junk-seen and retain-seen-status).
-
- auto-preview-mode (boolean, default false)
- Enables Auto Preview Mode. In this mode, selecting an article on the menu
- using its article id (letter a-z) will enter preview mode on that article
- immediately. Furthermore, the `n' {next-article} command will preview the
- next article on the menu only if it has the same subject as the current
- article; otherwise, it will return to the menu with the cursor placed on
- the next article. The continue command at the end of the article and the
- `=' {goto-menu} returns to the menu immediately as usual.
-
- auto-read-mode-limit N (integer, default 0)
- When operating in auto reading mode, nn will auto-select all unread
- articles in the group, skip the article selection phase, and enter
- reading mode directly after entry to the group.
- Auto reading mode is disabled when auto-read-mode-limit is zero; it
- is activated unconditionally if the value is negative, and conditionally
- if the value is greater than zero and the number of unread articles in
- the current group does not exceed the given value.
-
- auto-select-closed mode (integer, default 1)
- Normally, selecting a closed subject (usually in consolidated menu mode)
- will select (or deselect) all unread articles with the given subject (or
- all articles if they are all read). This behaviour can be changed via the
- value of this variable as follows: 0: select only the first article with
- the subject (shown on menu). 1: select only the unread articles with the
- subject. 2: select all available articles with the subject.
-
- auto-select-subject (boolean, default false)
- When set, selecting an article from the menu using the article id (a-z),
- all articles on the menu with the same subject will automatically be
- selected as well.
-
- backup (boolean, default true)
- When set, a copy of the initial .newsrc and select files will save be the
- first time they are changed. nn remembers the initial contents of these
- files internally, so the backup variable can be set any time if not set
- on start-up.
-
- backup-folder-path file (string, default "BackupFolder~")
- When removing deleted articles from a folder, this variable defines the
- name of the file where a (temporary) copy of the original folder is
- saved. If the file name doesn't contain a `/', the file will be located
- in the .nn directory. Otherwise the file name is used directly as the
- relative or full path name of the backup file. If possible, the old
- folder will be renamed to the backup folder name; otherwise the old
- folder is copied to the backup folder.
-
- backup-suffix suffix (string, default ".bak")
- The suffix appended to file names to make the corresponding backup file
- name (see backup).
-
- bug-report-address address (string, default nn-bugs@dkuug.dk)
- The mail address to which bug reports created with the :bug command are
- sent.
-
- case-fold-search (boolean, default true)
- When set, string and regular expression matching will be case
- independent. This is related to all commands matching on names or
- subjects, except in connection with auto-kill and auto-select where the
- individual kill file entries specifies this property.
-
- check-db-update-time H (integer, default 12)
- When non-zero, nn will issue a warning if the database has not been
- updated in the last H hours. The warning will tell you whether no news
- has arrived (feed broken?), or whether it is just nnmaster which has not
- updated the database (dead?).
-
- check-group-access (boolean, default false)
- When set, nn will perform a check on the readability of a group's
- readability before showing the menu for that group. Normally, this is not
- necessary since all users traditionally have access to all news groups.
- Setting (and locking) this variable may be used to limit access to a news
- group via the permissions and ownership of the group's spool directory
- (this will only work for non-NNTP sites).
-
- collapse-subject offset (integer, default 25)
- When set (non-negative), subject lines which are too long to be presented
- in full on the menus will be "collapsed" by removing a sufficient number
- of characters from the subject starting at the given offset in the
- subject. This is useful in source groups where the "Part (01/10)" string
- sometimes disappears from the menu. When not set (or negative), the
- subjects are truncated.
-
- columns col (integer, default screen width)
- This variable contains the screen width i.e. character positions per
- line.
-
- comp1-key key (key, default space)
- The key which gives the first/next completion, and the default value when
- nn is prompting for a string, e.g. a file name.
-
- comp2-key key (key, default tab)
- The key which ends the current completion and gives the first completion
- for the next component when nn is prompting for a string, e.g. a file
- name.
-
- compress (boolean, default false)
- This variable controls whether text compression (see the compress
- command) is turned on or off when an article is shown. The compression is
- still toggled for the current article with the compress command key.
-
- confirm-append (boolean, default false)
- When set, nn will ask for confirmation before appending an article to an
- existing file (see also confirm-create).
-
- confirm-auto-quit (boolean, default false)
- When set, nn will ask for confirmation before quitting after having read
- the last group. If not confirmed, nn will recycle the presentation
- sequence looking for groups that were skipped with the `N' {next-group}
- command. But it will not look for new articles arrived since the
- invocation of nn.
-
- confirm-create (boolean, default true)
- When set, nn will ask for confirmation before creating a new file or
- directory when saving or unpacking an article (see also confirm-append).
-
- confirm-entry (boolean, default false)
- When set, nn will ask for confirmation before entering a group with more
- than confirm-entry-limit unread articles (on the first menu level). It is
- useful on slow terminals if you don't want to wait until nn has drawn the
- first menu to be able to skip the group.
- Answering no to the "Enter?" prompt will cause nn to skip to the
- next group without marking the current group as read. If you answer by
- hitting interrupt, nn will ask the question "Mark as read?" which allows
- you to mark the current group as read before going to the next group. If
- this second question is also answered by hitting interrupt, nn will quit
- immediately.
-
- confirm-entry-limit articles (integer, default 0)
- Specifies the minimum number of unread articles in a group for which the
- confirm-entry functionality is activated.
-
- confirm-junk-seen (boolean, default false)
- When set, nn will require confirmation before marking seen articles as
- read when auto-junk-seen is set.
-
- confirm-messages (boolean, default false)
- In some cases, nn will sleep one second (or more) when it has shown a
- message to the user, e.g. in connection with macro debugging. Setting
- confirm-messages will cause nn to wait for you to confirm all messages by
- hitting any key. (It will show the symbol <> to indicate that it is
- awaiting confirmation.)
-
- consolidated-manual (boolean, default false)
- When set, the online manual will be presented with one menu line for each
- program in the nn package.
-
- consolidated-menu (boolean, default false)
- When set, nn will automatically close all multi-article subjects on entry
- to a group, so that each subject only occur once on the menu page.
-
- counter-delim-left (string, default "[")
- The delimiter string output to the left of the article counter in a
- closed subject's menu line.
-
- counter-delim-right (string, default "] ")
- The delimiter string output to the right of the article counter in a
- closed subject's menu line.
-
- counter-padding pad (integer, default 5)
- On a consolidated menu, the subjects may not be very well aligned because
- the added [...] counters have varying length. To (partially) remedy this,
- all counters (and subjects without counters) are prefixed by up to pad
- spaces to get better alignment. Increasing it further may yield
- practially perfect alignment at the cost of less space for the subject
- itself.
-
- cross-filter-seq (boolean, default true)
- When set, cross posted articles will be presented in the first possible
- group, i.e. according to the current presentation sequence (cross-post
- filtering on sequence). The article is automatically marked read in the
- other cross posted groups unless you unsubscribe to the first group in
- which it was shown before reading the other groups. Likewise, it is
- sufficient to leave the article unread in the first group to keep it for
- later handling.
- If not set, cross-postings are shown in the first group occurring on
- the Newsgroups: line which the user subscribes to (i.e. you let the
- poster decide which group is most appropriate to read his posting).
-
- cross-post (boolean, default false)
- Normally, nn will only show cross-posted articles in the first subscribed
- group on the Newsgroups: line. When cross-post is set, nn will show
- cross-posted articles in all subscribed groups to which they are posted.
-
- data-bits bits (integer, default 7)
- When set to 7, nn will display characters with the 8th bit set using a
- meta-notation M-7bit-char. If set to 8, these characters are sent
- directly to the screen (unless monitor is set).
- It also controls whether keyboard input is 7 or 8 bits, and thus whether
- key maps contain 127 or 255 entries. See the key mapping section for more
- details.
-
- date (boolean, default true)
- If set nn will show the article posting date when articles are read.
-
- debug mask (integer, default 0)
- Look in the source if you are going to use this.
-
- decode-header-file file (string, default "Decode.Headers")
- The name of the file in which the header and initial text of articles
- decoded with the :decode command is saved. Unless the file name starts
- with a `/', the file will be created in the same directory as the decoded
- files. The information is not saved if this variable is not set.
-
- decode-skip-prefix N (integer, default 2)
- When non-null, the :decode command will automatically skip upto N
- characters at the beginning of each line to find valid uuencoded data.
- This allows nn to automatically decode (multi-part) postings which are
- both uuencoded and packed with shar.
-
- default-distribution distr (string, default "world")
- The distribution to use as the default suggestion when posting articles
- using the follow and post commands if the corresponding
- follow-distribution or post-distribution variable contains the default
- option.
-
- default-kill-select [1]days (number, default 30)
- Specifies the default action for the K {kill-select} command if the first
- prompt is answered by return. It contains the number of days to keep the
- kill or select entry in the kill file (1-99 days). If it has the value
- days+100 (e.g. 130), it denotes that the default action is to select
- rather than kill on the subject for the specified period.
-
- default-save-file file (string, default +$F)
- The default save file used when saving articles in news groups where no
- save file has been specified in the init file (either in a save-files
- section or in the presentation sequence). It can also be specified using
- the abbreviation "+" as the file name when prompted for a file name even
- in groups with their own save file.
-
- delay-redraw (boolean, default false)
- Normally, nn will redraw the screen after extended commands (:cmd) that
- clear the screen. When delay-redraw is set nn will prompt for another
- extended command instead of redrawing the screen (hit return to redraw).
-
- echo-prefix-key (boolean, default true)
- When true, hitting a prefix key (see the section on key mapping below)
- will cause the prefix key to be echoed in the message line to indicate
- that another key is expected.
-
- edit-patch-command (boolean, default true)
- When true, the :patch command will show the current patch-command and
- give you a chance to edit it before applying it to the articles.
-
- edit-print-command (boolean, default true)
- When true, the print command will show the current printer command and
- give you a chance to edit it before printing the articles. Otherwise the
- articles are just printed using the current printer command.
-
- edit-response-check (boolean, default true)
- When editing a response to an article, it normally does not have any
- meaning to send the initial file prepared by nn unaltered, since it is
- either empty or only contains included material. When this variable is
- set, exiting the editor without having changed the file will
- automatically abort the response action without confirmation.
-
- edit-unshar-command (boolean, default false)
- When true, the :unshar command will show the current unshar-command and
- give you a chance to edit it before applying it to the articles.
-
- editor command (string, default not set)
- When set, it will override the current EDITOR environment variable when
- editing responses and new articles.
-
- embedded-header-escape string (string, default '~')
- When saving an article to a file, header lines embedded in the body of
- the article are escaped using this string to make it possible for nn to
- split the folder correctly afterwards. Header lines are not escaped if
- this variable is not set.
-
- enter-last-read-mode mode (integer, default 1)
- Normally, nn will remember which group is active when you quit, and offer
- to jump directly to this group when you start nn the next time. This
- variable is used to control this behaviour. The following mode values are
- recognized: 0: Ignore the remembered group (r.g.). 1: Enter r.g. if the
- group is unread (with user confirmation) 2: Enter r.g. or first unread
- group after it in the sequence (w/conf). 3: Enter r.g. if the group is
- unread (no confirmation) 4: Enter r.g. or first unread group after it in
- the sequence (no conf).
-
- entry-report-limit articles (integer, default 300)
- Normally, nn will just move the cursor to the upper left corner of the
- screen while it is reading articles from the database on entry to a
- group. For large groups this may take more than a fraction of a second,
- and nn can then report what it is doing. If it must read more articles
- than the number specified by this variable, nn will report which group
- and how many articles it is reading.
-
- erase-key key (key, default tty erase key)
- The key which erases the last input character when nn is prompting for a
- string, e.g. a file name.
-
- expert (boolean, default false)
- If set nn will use slightly shorter prompts (e.g. not tell you that ?
- will give you help), and be a bit less verbose in a few other cases (e.g.
- not remind you that posted articles are not available instantly).
-
- expired-message-delay pause (integer, default 1)
- If a selected article is found to have been expired, nn will normally
- give a message about this and sleep for a number of seconds specified by
- this variable. Setting this variable to zero will still make nn give the
- message without sleeping afterwards. Setting it to -1 will cause the
- message not to be shown at all.
-
- flow-control (boolean, default true)
- When set, nn will turn on xon/xoff flow-control before writing large
- amounts of text to the screen. This should guard against lossage of
- output, but in some network configurations it has had the opposite
- effect, losing several lines of the output. This variable is always true
- on systems with CBREAK capabilities which can do single character reads
- without disabling flow control.
-
- flush-typeahead (boolean, default false)
- When true, nn will flush typeahead prior to reading commands from the
- keyboard. It will not flush typeahead while reading parameters for a
- command, e.g. file names etc.
-
- folder directory (string, default ~/News)
- The full pathname of the folder directory which will replace the + in
- folder names. It will be initialized from the FOLDER environment variable
- if it is not set in the init file.
-
- folder-format-check (boolean, default true)
- When saving an article with a full or partial header in an existing
- folder, nn will check the format of the folder to be able to append the
- article in the proper format. If this variable is not set, folders are
- assumed to be in the format specified via the mmdf-format and mail-format
- variables, and articles are saved in that format without checking.
- Otherwise, the *-format variables are only used to determine the format
- for new folders.
-
- folder-save-file file (string, default not set)
- The default save file used when saving articles from a folder.
-
- follow-distribution words (string, default see below)
- This variable controls how the Distribution: header is constructed for a
- follow-up to an original article. Its value is a list of words selected
- from the following list:
- [ [ always ] same ] [ ask ] [ default | distribution ]
- This is interpreted in two steps:
- - First the default distribution is determined. If same is specified and
- the original article has a Distribution: header, that header is used.
- Else if default is specified (or distribution is omitted), the value of
- default-distribution is used. And finally, if only a distribution (any
- word) is specified that is used as the default.
- - Then if ask is specified, the user will be asked to confirm the default
- distribution or provide another distribution. However, if always (and
- same) is specified, and the default was taken from the original article's
- distribution, the original distribution is used without confirmation.
- The default value of follow-distribution is always same default, i.e. use
- either the original distribution or the default-distribution without
- confirmation in either case.
-
- from-line-parsing strictness (integer, default 2)
- Specifies how strict nn must parse a "From " line in a folder to
- recognize it as a mail format message separator line. The following
- strictness values determine whether a line starting with "From " will be
- recognized as a separator line:
- 0: Always.
- 1: Line must have at least 8 fields.
- 2: Line must contain a valid date and time (ctime style).
-
- fsort (boolean, default true)
- When set, folders are sorted alphabetically according to the subject (and
- age). Otherwise, the articles in a folder will be presented in the
- sequence in which they were saved.
-
- guard-double-slash (boolean, default false)
- Normally, when entering a file name, entering two slashes `//' in a row
- (or following a slash by a plus `/+') will cause nn to erase the entire
- line and replace it with the `/' (or `+'). On some systems, two slashes
- are used in network file names, and on those systems guard-double-slash
- can be set; that will cause nn to require three slashes in a row to clear
- the input.
-
- header-lines list (string, no default)
- When set, it determines the list of header fields that are shown when an
- article is read instead of the normal one line header showing the author
- and subject. See the full description in the section on Customized
- Article Headers below.
-
- help-key key (key, default ?)
- The key which ends the current completion and gives a list of possible
- completions for the next component when nn is prompting for a string,
- e.g. a file name.
-
- ignore-xon-xoff (boolean, default false)
- Normally, nn will ignore ^S and ^Q in the input from the terminal (if
- they are not handled in the tty driver). Setting this variable will treat
- these characters as normal input.
-
- include-art-id (boolean, default false)
- The first line in a response with included material normally reads
- "...somebody... writes:" without a reference to the specific article from
- which the quotation was taken (this is found in the References: line).
- When this variable is set, the line will also include the article id of
- the referenced article: "In ...article... ... writes:".
-
- include-full-header (boolean, default false)
- When set, the mail (M) command will always include the full header of the
- original article. If it is not set, it only includes the header when the
- article is forwarded without being edited.
-
- include-mark-blank-lines (boolean, default false)
- When set, the included-mark is placed on blank lines in included
- articles. Otherwise, blank lines are left blank (to make it easy to
- delete whole paragraphs with `d}' in vi and `C-@ M-] C-W' in emacs).
-
- included-mark string (string, default ">")
- This string is prefixed to all lines in the original article that are
- included in a reply or a follow-up. (Now you have the possibility to
- change it, but please don't. Lines with a mixture of prefixes like
- : orig-> <> } ] #- etc.
- are very difficult to comprehend. Let's all use the standard folks! (And
- hack inews if it is the 50% rule that bothers you.)
-
- inews shell-command (string, default "INEWS_PATH -h")
- The program which is invoked by nn to deliver an article to the news
- transport. The program will be given a complete article including a
- header containing the newsgroups to which the article is to be posted.
- See also inews-pipe-input. It is not used when cancelling an article!
-
- inews-pipe-input (boolean, default true)
- When set, the article to be posted will be piped into the inews program.
- Otherwise, the file containing the article will be given as the first
- (and only) argument to the inews command.
-
- initial-newsrc-file file (string, default '.defaultnewsrc')
- Defines the name of a file which is used as the initial .newsrc file for
- new users. The name may be a full path name, or as the default a file
- name which will be looked for in a number of places: in the standard news
- lib directory (where it can be shared with other news readers), in nn's
- lib directory, and in the database directory. Groups which are not
- present in the initial .newsrc file will be automatically unsubscribed
- provided new-group-action is set to a value allowing unsubscribed groups
- to be omitted from .newsrc.
-
- keep-backup-folder (boolean, default false)
- When set, the backup folder (see backup-folder-path) created when
- removing deleted articles from a folder is not removed. Notice that a
- backup folder is not created if all articles are removed from a folder!
-
- keep-unsubscribed (boolean, default true)
- When set, unsubscribed groups are kept in .newsrc. If not set, nn will
- automatically remove all unsubscribed from .newsrc if tidy-newsrc is set.
- See also unsubscribe-mark-read.
-
- kill (boolean, default true)
- If set, nn performs automatic kill and selection based on the kill file.
-
- kill-debug (boolean, default false)
- When set, nn will display a trace of the auto-kill/select process on
- entry to a group. It is automatically turned off if `q' is entered as the
- answer to a "hit any key" prompt during the debug output.
-
- kill-key key (key, default tty kill key)
- The key which deletes the current line when nn is prompting for a string,
- e.g. a file name.
-
- kill-reference-count N (integer, default 0)
- When this variable is non-zero, all articles which have N or more
- references on the References: line (corresponding to the number of >>'s
- on the menu line) will be auto-killed if they are not auto-selected (or
- preserved) via an entry in the kill file. It should probably not be used
- globally for all groups, but can be set on a per-group via the entry
- macros.
-
- layout number (integer, default 1)
- Set the menu layout. The argument must be a number between 0 and 4.
-
- limit max-articles (integer, default infinite)
- Limit the maximum number of articles presented in each group to
- max-articles. The default is to present all unread articles no matter how
- many there are. Setting this variable, only the most recent max-articles
- articles will be presented, but all the articles will still be marked as
- read. This is useful to get up-to-date quickly if you have not read news
- for a longer period.
-
- lines lin (integer, default screen height)
- This variable contains the screen height i.e. number of lines.
-
- long-menu (boolean, default false)
- If set nn will not put an empty line after the header line and an empty
- line before the prompt line; this gives you two extra menu lines.
-
- macro-debug (boolean, default false)
- If set nn will trace the execution of all macros. Prior to the execution
- of each command or operation in a macro, it will show the name of the
- command or the input string or key stroke at the bottom of the screen.
-
- mail file (string, default not set)
- file must be a full path name of a file. If defined, nn will check for
- arrival of new mail every minute or so by looking at the specified file.
-
- mail-alias-expander program (string, default not set)
- When set, aliases used in mail responses may be expanded by the specified
- program. The program will be given the completed response in a file as
- its only argument, and the aliases should be expanded directly in this
- file (of course the program may use temporary files and other means to
- expand the aliases as long the the result is stored in the provided
- file).
- Notice: currently there are no alias expanders delivered with nn.
- Warning: Errors in the expansion process may lead to the response not
- being sent.
-
- mail-format (boolean, default false)
- When set, nn will save articles in a format that is compatible with
- normal mail folders. Unless folder-format-check is false, it is only used
- to specify the format used when new folders are created. This variable is
- ignored if mmdf-format is set.
-
- mail-header headers (string, default not set)
- The headers string specifies one or more extra header lines (separated by
- semi-colons `;') which are added to the header of mail sent from nn using
- the reply and mail commands. For example:
- set mail-header Reply-To: storm@texas.dk;Organization: TI - DK
-
- mail-record file (string, default not set)
- file must be a full path name of a file. If defined, all replies and mail
- will be saved in this file in standard mailbox format, i.e. you can use
- you favourite mailer (and nn) to look at the file.
-
- mail-script file (string, default not set)
- When set, nn will use the specified file instead of the standard aux
- script when executing the reply and mail commands.
-
- mailer shell-command (string, default REC_MAIL)
- The program which is invoked by nn to deliver a message to the mail
- transport. The program will be given a complete mail message including a
- header containing the recipient's address. See also mailer-pipe-input.
-
- mailer-pipe-input (boolean, default true)
- When set, the message to be sent will be piped into the mailer program.
- Otherwise, the file containing the message will be given as the first
- (and only) argument to the mailer command.
-
- marked-by-next-group N (integer, default 0)
- Specifies the amount of (unmarked) articles on the menu marked seen by
- the N {next-group} command in selection mode. See marked-by-read-skip for
- possible values of N.
-
- marked-by-read-return N (integer, default 0)
- Specifies the amount of (unmarked) articles on the menu marked seen by
- the Z {read-return} command in selection mode. See marked-by-read-skip
- for possible values of N.
-
- marked-by-read-skip N (integer, default 4)
- Specifies the amount of (unmarked) articles on the menu marked seen by
- the X {read-skip} command in selection mode. The following values of N
- are recognized:
- 0: No articles are marked seen
- 1: Current page is marked seen
- 2: Previous pages are marked seen
- 3: Previous and current pages are marked seen
- 4: All pages are marked seen
-
- mark-overlap (boolean, default false)
- When set, nn will draw a line (using the underline capabilities of the
- terminal if possible) to indicate the end of the overlap (see the overlap
- variable).
-
- mark-overlap-shading (boolean, default false)
- When set, nn will shade overlapping lines (see the overlap variable)
- using the attributes defined by the shading-on and shading-off variables
- (of if not set, with the underline attribute). This is typically used to
- give overlapping lines a different colour on terminals which have this
- capability.
-
- menu-spacing mode (integer, default 0)
- When mode is a non-zero number as described below, nn will add blank
- lines between the lines on the menu to increase readability at the cost
- of presenting fewer articles on each page. The following values of mode
- are recognized: 0: Don't add blank lines between menu lines. 1: Add a
- blank line between articles with different subjects. 2: Add a blank line
- between all articles.
-
- merge-report-rate rate (integer, default 1)
- When nn is invoked with the -m option (directly or via nngrap), a status
- report of the merging process is displayed and updated on the screen
- every rate seconds. The report contains the time used so far and an
- estimate of the time needed to complete the merge.
-
- message-history N (integer, default 15)
- Specifies the maximum number, N, of older messages which can be recalled
- with the ^P {message} command.
-
- min-window size (integer, default 7)
- When the window variable is not set, nn will clear the screen to preview
- an article if there are less than size unused lines at the bottom of the
- menu screen.
-
- mmdf-format (boolean, default false)
- When set, nn will save articles in MMDF format. Unless
- folder-format-check is false, it is only used to specify the format used
- when new folders are created.
-
- monitor (boolean, default false)
- When set, nn will show all characters in the received messages using a
- "cat -v" like format. Otherwise, only the printable characters are shown
- (default).
-
- motd (boolean, default true)
- When set, nn will display the message of the day on start-up if it has
- changed since it was last shown. The message is taken from the file
- "motd" in the lib directory. It can also be shown (again) using the :motd
- command.
-
- multi-key-guard-time timeout (integer, default 2)
- When reading a multi-key sequence from the keyboard, nn will expect the
- characters constituting the multi-key to arrive "quickly" after each
- other. When a partial multi-key sequence is read, nn will wait (at least)
- timeout tenths of a second for each of the following characters to arrive
- to complete the multi-key sequence. If the multi-key sequence is not
- completed within this period, nn will read the partial multi-key sequence
- as individual characters instead. This way it is still possible to use
- for example the ESC key on a terminal with vt100 like arrow keys. When nn
- is used via an rlogin connection, you may have to increase the timeout to
- get reliable recognition of multi-keys.
-
- new-group-action action (integer, default 3)
- This variable controls how new groups are treated by nn. It is an integer
- variable, and the following values can be used. Some of these actions
- (marked with an *) will only work when keep-unsubscribed is set, since
- the presence of a group in .newsrc is the only way to recognize it as an
- old group:
- 0) Ignore groups which are not in .newsrc. This will obviously include
- new groups.
- 1*) Groups not in .newsrc are considered to be new, and are inserted at
- the beginning of the .newsrc file.
- 2*) Groups not in .newsrc are considered to be new, and are appended to
- the end of the .newsrc file.
- 3) New groups are recognized via a time-stamp saved in the file .nn/LAST
- and in the database, i.e. it is not dependent on the groups currently in
- .newsrc. The new groups are automatically appended to .newsrc with
- subscription. Old groups not present in .newsrc will be considered to be
- unsubscribed.
- 4) As 3, but the user is asked to confirm that the new group should be
- appended to .newsrc. If rejected, the group will not be appended to
- .newsrc, and thus be regarded as unsubscribed.
- 5) As 4, except that the information is stored in a format compatible
- with the rn news reader (.rnlast). This needs to be tested!
-
- new-style-read-prompt (boolean, default true)
- When set, the reading mode prompt line includes the group name and the
- number of selected articles in the group.
-
- news-header headers (string, default not set)
- The headers string specifies one or more extra header lines (separated by
- semi-colons `;') which are added to the header of articles posted from nn
- using the follow and post commands. See mail-header for an example.
-
- news-record file (string, default not set)
- Save file for follow-ups and postings. Same rules and format as the
- mail-record variable.
-
- news-script file (string, default not set)
- When set, nn will use the specified file instead of the standard aux
- script when executing the follow and post commands.
-
- newsrc file (string, default "~/.newsrc")
- Specifies the file used by nn to register which groups and articles have
- been read. The default setting corresponds to the .newsrc file used by
- other news readers. Notice that nn release 6.4 does allow individual
- articles to be marked unread, and some articles marked unread, and thus
- no longer messes up .newsrc for other news readers!
-
- nntp-cache-dir directory (string, default "~/.nn")
- When NNTP is used, nn needs to store articles temporarily on disk. This
- variable specifies which directory nn will use to hold these files. The
- default value may be changed during configuration. This variable can only
- be set in the init file.
-
- nntp-cache-size size (integer, default 10, maximum 10)
- Specifies the number of temporary files in the nntp cache. The default
- and maximum values may be changed during configuration.
-
- nntp-debug (boolean, default false)
- When set, a trace of the nntp related traffic is displayed in the message
- line on the screen.
-
- old [max-articles] (integer, default not set)
- When old is set, nn will present (or scan) all (or the last max-articles)
- unread as well as read articles. While old is set, nn will never mark any
- unread articles as read.
-
- orig-to-include-mask N (integer, default 3)
- When replying to an article, nn will include some of the header lines
- which may be used to construct a proper mail address for the poster of
- the original article. These addresses are placed on Orig-To: lines in the
- reply header and will automatically be removed before the letter is sent.
- This variable specifies which headers from the article are included; its
- value N is the sum of the following values:
- 1: Reply-To:
- 2: From:
- 4: Path:
-
- overlap lines (integer, default 2)
- Specifies the number of overlapping lines from one page to the next when
- paging through an article in reading mode. The last line from the
- previous page will be underlined if the terminal has that capability.
-
- pager shell-command (string, default $PAGER)
- This is the pager used by the :admin command (and nnadmin) when it
- executes certain commands, e.g. grepping in the Log file.
-
- patch-command shell-command (string, default "patch -p0")
- This is the command which is invoked by the :patch command.
-
- post-distribution words (string, default see below)
- This variable controls how the Distribution: header is constructed when
- posting an original article. Its value is a list of words selected from
- the following list:
- [ ask ] [ default | distribution ]
- This is interpreted in two steps:
- - First the default distribution is determined. If default is specified
- (or distribution is omitted), the value of default-distribution is used.
- Otherwise, the specified distribution (any word) is used as the default.
- - Then if ask is specified, the user will be asked to confirm the default
- distribution or provide another distribution.
- The default value of post-distribution is ask default, i.e. use the
- default-distribution with confirmation from the user.
-
- preview-continuation cond (integer, default 12)
- This variable determines on what terms the following article should be
- automatically shown when previewing an article, and the next-article
- command is used, or continue is used at the end of the article. The
- following values can be used:
- 0 - never show the next article (return to the menu).
- 1 - always show the next article (use 'q' to return to the menu).
- 2 - show the next article if it has the same subject as the current
- article, else return to the menu.
- The value should be the sum of two values: one for the action after using
- continue on the last page of the article, and one for the action
- performed when the next-article command is used multiplied by 10.
-
- preview-mark-read (boolean, default true)
- When set, previewing an article will mark the article as read.
-
- previous-also-read (boolean, default true)
- When set, going back to the previously read group with P {previous} will
- include articles read in the current invocation of nn even if there are
- still unread articles in the group.
-
- print-header-lines fields (string, default "FDGS")
- Specifies the list of header fields that are output when an article is
- printed via the :print command and print-header-type is 1 (short header).
- The fields specification is desctribed in the section on Customized
- Article Headers below.
-
- print-header-type N (integer, default 1)
- Specifies what kind of header is printed by the :print command,
- corresponding to the three save-* commands: 0 prints only the article
- body (no header), 1 prints a short header, and 2 prints the full article
- header.
-
- printer shell-command (string, default is system dep.)
- This is the default value for the print command. It should include an
- option which prevents the spooler from echoing a job-id or similar to the
- terminal to avoid problems with screen handling (e.g. lp -s on System V).
-
- query-signature (boolean, default ...)
- Will cause nn to require confirmation before appending the .signature
- file to out-going mail or news if the corresponding append-sig-...
- variable is set.
-
- quick-count (boolean, default true)
- When set, calculating the total number of unread articles at start-up is
- done by simple subtracting the first unread article number from the total
- number of articles in each group. This is very fast, and fairly accurate
- but it may be a bit too large. If not set, each line in .newsrc will be
- interpreted to count every unread article, thus giving a very accurate
- number. This variable is also used by nncheck.
-
- quick-save (boolean, default false)
- When set, nn will not prompt for a file name when an article is saved
- (unless it belongs to a folder). Instead it uses the save file specified
- for the current group in the init file or the default save file.
-
- re-layout N (integer, default 0)
- Normally on the menu, nn will prefix the subject a number of `>'s
- corresponding to the number of references on the References: line. The
- re-layout variable may be set to use a different prefix on the subjects:
- 0: One `>' per reference is shown (default).
- 1: A single `>' is shown if the Subject contains Re:.
- 2: The number of references is shown as `n>'
- 3: A single Re: is shown.
- 4: If any references use layout 0, else layout 1.
-
- re-layout-read N (integer, default -1)
- When the header-lines variable is not set, or contains the "*" field
- specifier, a line similar to the menu line will be used as the header of
- the article in reading mode, including the sender's name and the
- article's subject. When this variable is negative, the subject on this
- header line will be prefixed according to the re-layout variable.
- Otherwise, it will define the format of the "Re:" prefix to be used
- instead of the re-layout used on the menu.
-
- read-return-next-page (boolean, default false)
- When set, the Z {read-return} command will return to the next menu page
- rather than the current menu page.
-
- record file (string, no default)
- Setting this pseudo variable will set both the mail-record and the
- news-record variables to the specified pathname.
-
- repeat (boolean, default false)
- When set, nn will not eliminate duplicated subject lines on menus (I
- cannot imagine why anyone should want that, but....)
-
- repeat-group-query (boolean, default false)
- When set, invoking nn with the -g option will always repeat the query for
- a group to enter until you quit explicitly. (Same as setting the -r
- option permanently).
-
- report-cost (boolean, default true)
- This variable is ignored unless nn is running with accounting enabled
- (see nnacct). When set, nn will report the cost of the current session
- and the total on exit.
-
- response-check-pause pause (integer, default 2)
- Specifies the number of seconds to wait after posting an article to see
- whether the action *might* have failed. Some commands run in the
- background and may thus not have completed during this period, so even
- when nn says "Article posted", it may still fail (in which case you are
- informed via mail).
-
- response-default-answer action (string, default "send")
- The default action to be taken when hitting return to the "response
- action" prompt (abort, edit, send, view, write). If it is unset, no
- default action is defined.
-
- retain-seen-status (boolean, default false)
- Normally, seen articles will just be unread the next time the group is
- entered (unless they were marked read by auto-junk-seen). If
- retain-seen-status is set, the seen attribute on the articles will
- survive to the next time the group is entered. (This is not recommended
- because it may result in very large select files).
-
- retry-on-error times (integer, default 0)
- When set, nn will try the specified number of times to open an article
- before reporting that the article does not exist any more. This may be
- necessary in some network environments.
-
- save-closed-mode mode (integer, default 13)
- When saving an article in selection mode (i.e. by selecting it from the
- menu), nn will simply save the specified article if the article's subject
- is open. When the selected menu entry is a closed subject, the
- save-closed-mode variable determines how many articles among the closed
- articles should be saved: 0: save root article (the one on the menu) only
- 1: save selected articles within subject 2: save unread (excl selected)
- articles within subject 3: save selected+unread articles within subject
- 4: save all articles within subject If `10' is added to the above values,
- nn will not save the selected subject immediately; instead it will ask
- which articles to save using the above value as the default answer.
-
- save-counter format (string, default "%d")
- This is the printf-format which nn uses to create substitution string for
- the trailing * in save file names. You can set this to more complex
- formats if you like, but be sure that it will produce different strings
- for different numbers. An alternative format which seems to be popular is
- ".%02d" .
-
- save-counter-offset N (integer, default 0)
- Normally, file names created with the part.* form will substitute the *
- with successive numbers starting from one. Setting this variable will
- cause these numbers to start from N+1.
-
- save-header-lines fields (string, default "FDNS")
- Specifies the list of header fields that are saved when an article is
- saved via the O {save-short} command. The fields specification is
- desctribed in the section on Customized Article Headers below.
-
- save-report (boolean, default true)
- When set, a message reporting the number of lines written is shown after
- saving an article. Since messages are shown for a few seconds, this may
- slow down the saving of many articles (e.g. using the S* command).
-
- scroll-clear-page (boolean, default true)
- Determines whether nn clears the screen before showing each new page of
- an article.
-
- scroll-last-lines N (integer, default 0)
- Normally, nn will show each new page of an article from the top of the
- screen (with proper marking of the overlap). When this variable is set to
- a negative value, nn will scroll the text of the new pages from the
- bottom of the screen instead. If it is set to a positive value, nn will
- show pages from the top as usual, but switch to scrolling when there are
- less than the specified number of lines left in the article.
-
- select-leave-next (boolean, default false)
- When set, you will be asked whether to select articles with the
- leave-next attribute on entry to a group with left over articles.
-
- select-on-sender (boolean, default false)
- Specifies whether the find (=) command in article selection mode will
- match on the subject or the sender.
-
- shading-on code... (control string, default not set)
- Specifies the escape code to be sent to the terminal to cause "shading"
- of the following output to the screen. This is used if the
- mark-overlap-shading is set, and by the `+' attribute in the header-lines
- variable.
-
- shading-off code... (control string, default not set)
- Specifies the escape code to be sent to the terminal to turn off the
- shading defined by shading-on. Shading will typically be done by changing
- the foreground colour to change, e.g.
- on term ti924-colour
- set shading-on ^[ [ 3 2 m
- set shading-off ^[ [ 3 7 m
- set mark-overlap-shading
- unset mark-overlap
- end
-
- shell program (string, default $SHELL)
- The shell program used to execute shell escapes.
-
- shell-restrictions (boolean, default false)
- When set (in the init file), nn will not allow the user to invoke the
- shell in any way, including saving on pipes. It also prevents the user
- from changing certain variables containing commands.
-
- show-purpose-mode N (integer, default 1)
- Normally, nn will show the purpose of a group the first time it is read,
- provided a purpose is known. Setting this variable, this behaviour can be
- changed as follows:
- 0: Never show the purpose.
- 1: Show the purpose for new groups only.
- 2: Show the purpose for all groups.
-
- silent (boolean, default false)
- When set, nn wont print the logo or "No News" if there are no unread
- articles. Only useful to set in the init file or with the -Q option.
-
- slow-mode (boolean, default false)
- When set, nn will cut down on the screen output to give better response
- time at low speed. Normally, nn will use standout mode (if possible) to
- mark selected articles on the menu, but when slow-mode is set, nn will
- just put an asterisk `*' next to the article identifier on selected
- articles. Also when slow-mode is set nn will avoid redrawing the screen
- in the following cases: After a goto-group command an empty menu is shown
- (hit space to make it appear), and after responding to an article, only
- the prompt line is shown (use ^L to redraw the screen). To avoid
- redrawing the screen after an extended command, set the delay-redraw
- variable as well.
-
- slow-speed speed (integer, default 1200)
- If the terminal is running at this baud rate or lower, the on slow (see
- the section on init files) condition will be true, and the on fast will
- be false (and vice-versa).
-
- sort (boolean, default true)
- When set, nn will sort articles according to the current sort-mode on
- entry to a group. Otherwise, articles will be presented in order of
- arrival. If not set on entry to a menu for merged groups, the articles
- from each group will be kept together on the menu. If sort is unset while
- merged groups are presented on the menu, the articles will be reordered
- by local article number (which may not keep articles from the same group
- together).
-
- sort-mode mode (integer, default 1)
- The default sort algorithm used to sort the articles on entry to a news
- group. It is a numeric value corresponding to one of the sorting methods
- described in connection with the :sort command:
- 0 - arrival (ordered by article number)
- 1 - subject (subjects ordered after age of first article)
- 2 - lexical (subjects in lexicographical order)
- 3 - age (articles ordered after posting date only)
- 4 - sender (articles ordered after sender's name)
-
- spell-checker shell-command (string, default not set)
- When set, responses can be checked for spelling mistakes via the (i)spell
- action. The command to perform the spelling is given the file containing
- the full article including header as its only argument. If the spell
- checker can fix spelling mistakes, it must apply the changes directly to
- this file.
-
- split (boolean, default true)
- When set, digests will automatically and silently be split into
- sub-articles which are then handled transparently as normal articles.
- Otherwise, digests are presented as one article (which you can split on
- demand with the G command).
-
- stop lines (integer, default not set)
- When stop is set, nn will only show the first lines lines of the of each
- article before prompting you to continue. This is useful on slow
- terminals and modem lines to be able to see the first few lines of longer
- articles (and skipping the rest with the n command).
-
- subject-match-limit length (integer, default 256)
- Subjects will be considered identical if their first length characters
- match. Setting this uncritically to a low value may cause unexpected
- results!
-
- subject-match-offset offset (integer, default 0)
- When set to a positive number, that many characters at the beginning of
- the subject will be ignored when comparing subjects for ordering and
- equality purposes.
-
- subject-match-parts (boolean, default false)
- When set, two subjects will be considered equal if they are identical up
- to the first (differing) digit. Together with the subject-match-offset
- variable, this can be used in source groups where the subject often has a
- format like:
- vXXXXXX: Name of the package (Part 01/04)
- Setting subject-match-offset to 8 and subject-match-parts to true will
- make nn consider all four parts of the package having the same subject
- (and thus be selectable with `*').
- Notice that changing the subject-match-... variables manually will not
- have an immediate effect. To reorder the menu, an explicit :sort command
- must be performed. These variables are mainly intended to be set using
- the :local command in on entry macros for source and binary groups (entry
- macros are evaluated before the menu is collected and sorted).
-
- suggest-default-save (boolean, default true)
- When set, nn will present the default-save-file when prompting for a save
- file name in a group without a specific save file, or folder-save-file
- when saving from a folder. When not set, no file name is presented, and
- to use the default save file, a single + must be specified.
-
- tidy-newsrc (boolean, default false)
- When set, nn will automatically remove lines from .newsrc which represent
- groups not found in the active file or unsubscribed groups if
- keep-unsubscribed is not set.
-
- time (boolean, default true)
- When set, nn will show the current time in the prompt line. This is
- useful on systems without a sysline (1) utility.
-
- trace-folder-packing (boolean, default true)
- When set, a trace of the retained and deleted messages is printed when a
- folder is rewritten.
-
- trusted-escape-codes codes (string, default none)
- When set to a list of one or more characters, nn will trust and output
- escape characters in an article if it is followed by one of the
- characters in the list. For example, to switch to or from kanji mode,
- control codes like "esc\ $" and "esc\ (\ J" may be present in the text.
- To allow these codes, use the following command:
- set trusted-escape-codes ($
- You can also set it to all to pass all espace codes through to the
- screen. Notice that nn thinks all characters (including esc) output to
- the screen as occupy one column.
-
- unshar-command shell-command (string, default "/bin/sh")
- This is the command which is invoked by the unshar command.
-
- unshar-header-file file (string, default "Unshar.Headers")
- The name of the file in which the header and initial text of articles
- unpacked with the :unshar command is saved. Unless the file name starts
- with a `/', the file will be created in the same directory as the
- unpacked files. The information is not saved if this variable is not set.
- Setting it to "Unshar.Result" will cause the headers and the results from
- the unpacking process to be merged in a meaningful way (unless
- mmdf-format is set).
-
- unsubscribe-mark-read (boolean, default true)
- When set, unsubscribing to a group will automatically mark all current
- articles read; this is recommended to keep the size of .newsrc down.
- Otherwise, unread articles in the unsubscribe groups are kept in .newsrc.
- If keep-unsubscribed is false, this variable has no effect.
-
- update-frequency (integer, default 1)
- Specifies how many changes need to be done to the .newsrc or select files
- before they are written back to disk. The default setting causes .newsrc
- to be updated every time a group has been read.
-
- use-path-in-from (boolean, default false)
- When mail-format is set, saved articles will be preceded by a specially
- formatted "From\ " line:
- From origin date
- Normally, the origin will be the name of the news group where the article
- appeared, but if use-path-in-from is set, the contents of the "Path:"
- header will be used as the origin.
-
- use-selections (boolean, default true)
- When set, nn uses the selections and other article attributes saved last
- time nn was used. If not set, nn ignores the select file.
-
- visible-bell (boolean, default true)
- When set, nn will flash the screen instead of "ringing the bell" if the
- visible bell (flash) capability is defined in the termcap/terminfo
- database.
-
- window size (integer, default not set)
- When set, nn will reserve the last size lines of the menu screen for a
- preview window. If not set, nn will clear the screen to preview an
- article if there are less than min-window lines at the bottom of the
- screen. As a side effect, it can also be used to reduce the size of the
- menus, which may be useful on slow terminals.
-
- word-key key (key, default ^W)
- The key which erases the last input component or word when nn is
- prompting for a string, e.g. the last name in a path name.
-
- wrap-header-margin size (integer, default 6)
- When set (non-negative), the customized header fields specified in
- header-lines will be split across several lines if they don't fit on one
- line. When size is greater than zero, lines will be split at the first
- space occurring in the last size columns of the line. If not set (or
- negative), long header lines will be truncated if they don't fit on a
- single line.
-
- From: NN
- Subject: CUSTOMIZED ARTICLE HEADER PRESENTATION
-
- Normally, nn will just print a (high-lighted) single line header containing
- the author, subject, and date (optional) of the article when it is read.
-
- By setting the header-lines variable as described below, it is possible to get
- a more informative multi line header with optional high-lighting and
- underlining.
-
- The header-lines variable is set to a list of header line identifiers, and the
- customized headers will then contain exactly these header lines in the
- specified order.
-
- The same specifications are also used by the :print and save-short commands
- via the print-header-lines and save-header-lines variables.
-
- The following header line identifiers are recognized in the header-lines,
- print-header-lines, and save-header-lines variables:
-
- A Approved:
- a Spool-File:(path of spool file containing the article)
- B Distribution:
- C Control:
- D Date:
- d Date-Received:
- F From:
- f Sender:
- G Newsgroup:(current group)
- g Newsgroup:(current group if cross-posted or merged)
- I Message-Id:
- K Keywords:
- L Lines:
- N Newsgroups:
- n Newsgroups: (but only if cross posted)
- O Organization:
- P Path:
- R Reply-To:
- S Subject:
- v Save-File:(the default save file for this article)
- W Followup-To:
- X References:
- x Back-References:
- Y Summary:
-
- The 'G' and 'g' fields will include the local article number if it is known,
- e.g.
- Newsgroup: news.software.nn/754
-
- The following special symbols are recognized in the header-lines variable (and
- ignored otherwise):
-
- Preceding the identifier with an equal sign "=" or an underscore "_" will
- cause the header field contents to be high-lighted or underlined.
-
- A plus sign "+" will use the shading attribute defined by shading-on and
- shading-off to high-light the field contents. If no shading attribute is
- defined it will underline the field instead.
-
- Including an asterisk "*" in the list will produce the standard one line
- header at that point.
-
- Example: The following setting of the header-lines variable will show the
- author (underlined), organization, posting date, and subject (high-lighted)
- when articles are read:
- set header-lines _FOD=S
-
- From: NN
- Subject: COMMAND LINE OPTIONS
-
- Some of the command line options have already been described, but below we
- provide a complete list of the effect of each option by showing the equivalent
- set, unset, or toggle command.
-
- Besides the options described below, you can set any of nn's variables
- directly on the command line via an argument of the following format:
- variable=value
- To set or unset a boolean variable, the value can be specified as on or off (t
- and f will also work).
-
- Notice that the init files are read before the options are parsed (unless you
- use the -I option). Therefore, the options which are related to boolean
- variables set in the init file will toggle the value set there, rather than
- the default value. Consequently, the meaning of the options are also
- user-defined.
-
- The explanations below describe the effect related to the default setting of
- the variables, with the `reverse' effect in square brackets.
-
- -aN {set limit N}
- Limit the maximum number of articles presented in each group to N. This
- is useful to get up-to-date quickly if you have not read news for a
- longer period.
-
- -a0 Mark all unread articles as read. See the full explanation at the
- beginning of this manual.
-
- -B {toggle backup}
- Do not [do] backup the rc file.
-
- -d {toggle split}
- Do not [do] split digests into separate articles.
-
- -f {toggle fsort}
- Do not [do] sort folders according to the subject (present the articles
- in a folder in the sequence in which they were saved).
-
- -g Prompt for the name of a news group or folder to be entered
-
- -i {toggle case-fold-search}
- Normally searches with -n and -s are case independent. Using this option,
- the case becomes significant.
-
- -I Do not read the init file. This must be the first option!! The global
- setup file is still read.
-
- -Ifile-list
- Specifies an alternate list of init files to be loaded instead of the
- standard global and private init files. The list is a comma-separated
- list of file names. Names which does not contain a `/' are looked for in
- the ~/.nn directory. An empty element in the list is interpreted as the
- global init file. The list of init files must not be separated from the
- -I option by blanks, and it must be the first option. Example: The
- default behaviour corresponds to using -I,init (first the global file,
- then the file ~/.nn/init). The global setup file is still read as the
- first init file independently of the -I option used.
-
- -k {toggle kill}
- Do not [do] perform automatic kill and selection of articles.
-
- -lN {set stop N}
- Stop after printing the first N lines of each article. This is useful on
- slow terminals.
-
- -L[f] {set layout f}
- Select alternative menu layout f (0 to 4). If f is omitted, menu layout 3
- is selected.
-
- -m {no corresponding variable}
- Merge all articles into one `meta group' instead of showing them one
- group at a time. When -m is used, no articles will be marked as read.
-
- -nWORD
- Collect only articles which contain the string WORD in the sender's name
- (case is ignored). If WORD starts with a slash `/', the rest of the
- argument is used as a regular expression instead of a fixed string.
-
- -N {no corresponding variable}
- Disable updating of the rc file. This includes not recording that groups
- have been read or unsubscribed to (although nn will think so until you
- quit).
-
- -q {toggle sort}
- Do not [do] sort the articles (q means quick, but it isn't any quicker in
- practice!)
-
- -Q {toggle silent}
- Quiet mode - don't [do] print the logo or "No News" messages.
-
- -r {toggle repeat-group-query}
- Make -g repeat query for a group to enter.
-
- -sWORD
- Collect only articles which contain the string WORD in their subject
- (case is ignored). If WORD starts with a slash `/', the rest of the
- argument is used as a regular expression instead of a fixed string.
-
- -S {toggle repeat}
- Do not [do] eliminate duplicated subject lines on menus.
-
- -T {toggle time}
- Do not [do] show the current time in the prompt line.
-
- -w[N] {set window N}
- Reserve N lines of the menu screen for a preview window. If N is omitted,
- the preview window is set to 5 lines.
-
- -W {toggle confirm-messages}
- [Don't] Wait for confirmation on all messages.
-
- -x[N] {set old N}
- Present (or scan) all (or the last N) unread as well as read articles.
- This will never mark unread articles as read.
-
- -X {no corresponding variable}
- Read/scan unsubscribed groups also. Most useful when looking for a
- specific subject in all groups, e.g.
- nn -mxX -sSubject all
-
-
- From: NN
- Subject: MACRO DEFINITIONS
-
- Practically any combination of commands and key strokes can be defined as a
- macro which can be bound to a single key in menu and/or reading mode.
-
- The macro definition must specify a sequence of commands and key strokes as if
- they were typed directly from the keyboard. For example, a string specifying a
- file name must follow a save command. This manual does not give a complete
- specification of all the input required by the various commands; it is
- recommended to execute the desired command sequence from the keyboard prior to
- defining the macro to get the exact requirements of each command.
-
- Although it is possible to define temporary macros interactively using the
- :define command, macro definitions are normally placed in the init file.
- Macros are numbered from 0 to 100, i.e. it is possible to define a total of
- 101 different macros (implicit macros defined with the map command uses
- internal numbers from 101 to 200).
-
- To define macro number M, the following construction is used (the line breaks
- are mandatory):
- define M
- body
- end
-
- The body consists of a sequence of tokens separated by white space (blanks or
- newlines). However, certain tokens continue to the end of the current line.
-
- The following tokens may occur in the macro body:
-
- Comments
- Empty lines and text following a # character (preceded by white space) is
- ignored.
-
- Command Names
- Any command name listed in the key mapping section can be included in a
- macro causing that command to be invoked when the macro is executed.
-
- Extended Commands
- All the extended commands which can be executed through the command
- command (normally bound to the : key) can also be executed in a macro. An
- extended command starts with a colon (:) and continues to the end of the
- current line. Example:
- :show groups total
-
- Key Strokes
- A key stroke (which is normally mapped into a command depending on the
- current mode) is specified as a key name enclosed in single quotes.
- Examples (A-key, left arrow key, RETURN key):
- 'A' 'left' '^M'
-
- Shell Commands
- External commands can be invoked as part of a macro execution. There are
- two forms of shell command invocations available depending on whether a
- command may produce output or require user input, or it is guaranteed to
- complete without input or output to the terminal. The difference is that
- in the latter case, nn does not prepare the terminal to be used by
- another program. When the command completes, the screen is not redrawn
- automatically; you should use the redraw command to do that. The tho
- forms are:
- :!echo this command uses the terminal
- :!!echo this command does not > /tmp/file
-
- Strings
- Input to commands prompting for a string, e.g. a file name, can be
- specified in a macro as a double quoted string. Example (save without
- prompting for a file name):
- save-short "+$G"
-
- Conditionals
- Conditionals may occur anywhere in a macro; a conditional is evaluated
- when the macro is executed, and if the condition is false the rest of the
- current line is ignored. The following conditionals are available:
- ?menu True in menu mode
- ?show True in reading mode
- ?folder True when looking at a folder
- ?group True when looking at a news group
- ?yes Query user, true if answer is yes
- ?no Query user, true if answer is no Example (stop macro execution
- if user rejects to continue):
- prompt "continue? " ?no break
- In addition to these conditionals, it is possible to test the current
- value of boolean and integer variables using the following form:
- ?variable=value
- This conditional will be true (1) if the variable is an integer variable
- whose current value is the one specified, or (2) if the variable is a
- boolean variable which is either on or off. Examples:
- ?layout=3 :set layout 1
- ?monitor=on break
- ?sort=off :sort age
-
- break
- Terminate macro execution completely. This includes nested macros.
- Example (stop if looking at a folder):
- ?folder break
-
- return
- Terminate execution of current macro. If the current macro is called from
- another macro, execution of that macro continues immediately.
-
- input
- Query the user for a key stroke or a string, for example a file name.
- Example (prompt the user for a file name in the usual way):
- save-short input
-
- yes Confirm unconditionally if a command requires confirmation. It is ignored
- if the command does not require confirmation. Example (confirm creation
- of new files):
- save-short "+$G" yes
-
- no Terminate execution of current macro if a command requires confirmation;
- otherwise ignore it. If neither yes nor no is specified when a command
- requires confirmation, the user must answer the question as usual - if
- the user confirms the action execution continues normally; otherwise the
- execution of the current macro is terminated. Example (do not create new
- files):
- save-short "+$L/misc" no
-
- prompt string
- Print the string in the prompt line (highlighted). The string must be
- enclosed in double quotes. Example:
- prompt "Enter recipient name"
- When the macro terminates, the original prompt shown on entry to the
- macro will automatically be redrawn. If this is not desirable (e.g. if
- the macro goes from selection to reading mode), the redrawing of the
- prompt can be disabled by using a prompt command with an empty string
- (""). Example:
- prompt "Enter reading mode?" # old prompt is saved
- ?no return # and old prompt is restored
- read-skip # changes the prompt
- prompt "" # so forget old prompt
-
- echo string
- Display the string in the prompt line for a short period. Example:
- ?show echo "Cannot be used in reading mode" break
-
- puts string-to-end-of-line
- The rest of the line is output directly to the terminal without
- interpretation.
-
- macro M
- Invoke macro number M. The maximum macro nesting level is five (also
- catches macro loops).
-
- I use the following macro to quickly save all the selected files in a file
- whose name is entered as usual. It also works in reading mode (saving just the
- current article).
- define 1
- :unset save-report
- save-short input yes
- ?menu '+'
- :set save-report
- end
-
- From: NN
- Subject: KEY MAPPINGS
-
- The descriptions of the keys and commands provided in this manual reflects the
- default key mappings in nn. However, you can easily change these mappings to
- match your personal demands, and it is also possible to remap keys depending
- on the terminal in use. Permanent remapping of keys must be done through the
- init file, while temporary changes (for the duration of the current invocation
- of nn) can be made with the :map command.
-
- The binding and mapping of keys are controlled by four tables:
-
- The multikey definition table
- This table is used for mapping multicharacter key sequences into single
- characters. By default the table contains the mappings for the four
- cursor keys, and there is room for 10 user-defined multikeys. The
- fourteen multikeys are named: up, down, right, left (the four arrow keys),
- and #0 through #9 for the user-defined keys.
- Multikey #i (where i is a digit or an arrow key name) is defined using
- the following command:
- map #i key-sequence
- where the sequence is a list of 7-bit character names (see below)
- separated by spaces. For example, if the HOME key sends the sequence ESC
- [ H, you can define multikey #0 to be the home key using the command:
- map #0 ^[ [ H
-
- The input key mapping table
- All characters that are read from the keyboard will be mapped through the
- input mapping table. Consequently, you can globally remap one key to
- produce any other key value. By default all keys are mapped into
- themselves.
- An entry in the input key mapping table to map input-key into new-key is
- made with the command
- map key input-key new-key
- For example, to make your ESC key function as interrupt you can use the
- command
- map key ^[ ^G
-
- The selection mode key binding table
- This table defines for each key which command should be invoked when that
- key is pressed in selection mode, i.e. when the article menu is shown.
- The command to bind a key to a command in selection mode is:
- map menu key command
- For example, to have the HOME key defined as multikey #0 above bound to
- the select command, the following command is used:
- map menu #0 select
- To remap a key to select a specific article on the menu (which the `a'
- through `z' keys do by default), the command must be specified as
- `article N' where N is the entry number on the menu counted from zero
- (i.e. a=0, b=1, ..., z=25, 0=26, ..., 9=35). For example, to map `J' to
- select article `j', the following command is used:
- map menu J article 9
-
- The reading mode key binding table
- This table defines for each key which command should be invoked when that
- key is pressed in reading mode, i.e. when the article text is shown. The
- command to bind a key to a command in reading mode is:
- map show key command
-
- In addition to the direct mappings described above, the following variations
- of the map command are available:
-
- User defined keymaps
- Additional keymaps can be defined using the command
- make map newmap
- This will create a new keymap which can initialized using normal map
- commands, e.g.
- map newmap key command
- To activate a user-defined keymap, it must be bound to a prefix key:
- map base-map prefix-key prefix newmap
- When used, the prefix key itself does not activate a command, but instead
- it require another key to be entered and then execute the command bound
- to that key in the keymap which is bound to the prefix key.
- For example, to let the key sequence "^X i" execute macro number 10
- in both modes, the following commands can be used:
- make map ctl-x
- map ctl-x i macro 10
- map both ^X prefix ctl-x
-
- Mapping keys in both modes
- Using the pseudo-keymap `both', it is possible to map a key to a command
- in both selection and reading mode at once. For example, to map the home
- key to macro number 5 in both modes, the following command can be used:
- map both #0 macro 5
-
- Aliasing
- A key can also be mapped directly to the command currently bound to
- another key. Later remapping of the other key will not change the mapping
- of the `aliased' key. This is done using the following command:
- map keymap new-key as old-key
-
- Binding macros to keys
- A previously defined macro can be bound to a key using the command:
- map keymap key macro macro-number
-
- Implicit macro definitions
- An implicit macro can also be defined directly in connection with the map
- command:
- map keymap key (
- body...
- )
-
- Keys and character names are specified using the following notation:
-
- C A single printable character represents the key or character itself.
-
- ^C This notation represents a control key or character. DEL is written as ^?
-
- 125, 0175, 0x7D
- Characters and keys can be specified by their ordinal value in decimal,
- octal, and hexadecimal notation.
-
- up, down, right, left
- These names represent the cursor keys.
-
- #0 through #9
- These symbols represent the ten user-defined multikeys.
-
- If the variable data-bits is 7, key maps can specify binding of all keys in
- the range 0x00 to 0x7F, and the 8th bit will be stripped in all keyboard
- input. If the variable data-bits is 8, the 8th bit is not cleared, and key
- maps are extended to allow binding of keys in the range 0xA0 to 0xFE
- (corresponding to the national characters defined by the ISO 8859 character
- sets). Binding commands to these keys can be done either by using their
- numeric value, or directly specifying the 8 bit character in the map command,
- e.g.
- map menu 0xC8 macro 72
- map key \o'\(aae' %
-
- To show the current contents of the four tables, the following versions of the
- :map command are available:
-
- :map Show the current mode's key bindings.
-
- :map menu
- Show the selection mode key bindings.
-
- :map show
- Show the reading mode key bindings.
-
- :map #
- Show the multikey definition table.
-
- :map key
- Show the input key mapping table.
-
- From: NN
- Subject: STANDARD KEY BINDINGS
-
- Below is a list of all the commands that can be bound to keys, either in
- selection mode, in reading mode, or both. For each command the default command
- key bindings in both modes are shown. If the key is not bound in one of the
- modes, but it can be bound, the corresponding part will just be empty. If the
- command cannot be bound in one of the modes, that mode will contain the word
- nix.
-
- Function Selection mode Reading mode
- advance-article nix a
- advance-group A A
- article N a-z0-9 nix
- back-article nix b
- back-group B B
- cancel C C
- command : :
- compress nix c
- continue space space
- continue-no-mark return nix
- decode
- find = /
- find-next nix .
- follow F fF
- full-digest nix H
- goto-group G G
- goto-menu nix = Z
- help ? ?
- junk-articles J nix
- kill-select K K
- layout " nix
- leave-article nix l
- leave-next L L
- line+1 , down return
- line-1 / nix
- line=@ nix g
- macro M
- mail M m M
- message ^P ^P
- next-article nix n
- next-group N N
- next-subject nix k
- nil
- overview Y Y
- page+1 > nix
- page+1/2 nix d
- page-1 < delete backspace
- page-1/2 nix u
- page=0 nix h
- page=1 ^ ^
- page=$ $ $
- patch
- post
- preview % %
- previous P p
- print P
- quit Q Q
- read-return Z nix
- read-skip X X
- redraw ^L ^R ^L ^R
- reply R r R
- rot13 nix D
- save-body W w W
- save-full S s S
- save-short O o O
- select . nix
- select-auto + nix
- select-invert @ nix
- select-range - nix
- select-subject * *
- shell ! !
- skip-lines nix tab
- unselect-all ~ nix
- unshar
- unsub U U
- version V V
-
- See the descriptions of the default bindings for a description of the
- commands. The pseudo command nil is used to unbind a key.
-
- From: NN
- Subject: THE INIT FILES
-
- The init files are used to customize nn's behaviour to local conventions and
- restrictions and to satisfy each user's personal taste.
- Normally, nn reads upto three init files on start-up if they exist (all init
- files are optional):
-
- $LIB/setup
- A system-wide file located in the library directory. This file is always
- loaded before any other init file (even when the -I option is specified).
- It cannot contain a group presentation sequence.
-
- $LIB/init
- Another system-wide (global) init file located in the library directory.
- This file may be ignored via the -I option.
-
- ~/.nn/init
- The private init file located in the user's .nn directory. It is read
- after the global init file to allow the user to change the default setup.
-
- The init file is parsed one line at a time. If a line ends with a backslash
- `\', the backslash is ignored, and the following line is appended to the
- current line.
-
- The init file may contain the following types of commands (and data):
-
- Comments
- Empty lines and lines with a # character as the first non-blank character
- are ignored. Except where # has another meaning defined by the command
- syntax (e.g. multi-keys are named #n), trailing comments on input lines
- are ignored.
-
- Variable settings
- You can set (or unset) all the variables described earlier to change nn's
- behaviour permanently. The set and unset commands you can use in the init
- file have exactly the same format as the :set and :unset commands
- described earlier (except that the : prefix is omitted.)
- Variables can also be locked via the lock command; this is typically done
- in the setup file to enforce local policies.
-
- Key mappings
- You can use all the versions of the map command in the init file.
-
- Macro Definitions
- You can define sequences of commands and key strokes using the
- define...end construction, which can then be bound to single keys with
- the map command.
-
- Load terminal specific files
- You can load a terminal specific file using the
- load file
- The character @ in the file will be replaced by the terminal type defined
- in the TERM environment variable. nn silently ignores the load command if
- the file does not exist (so you don't have to have a specific init file
- for terminals which does not require remapping). If the file is not
- specified by an absolute pathname, it must reside in your ~/.nn
- directory. Examples:
- # load local customizations
- load /usr/lib/nninit
- # load personal terminal specific customizations
- load init.@
-
- Switch to loading a different init file
- You can skip the rest of the current init file and start loading a
- different init file with the following command:
- chain file
- If this occur in the private or global init file, the chained init file
- may contain a sequence part which will replace the private or global
- presentation sequence respectively.
-
- Stop loading current init file
- You can skip the rest of the current init file with the following
- command:
- stop
-
- Give error messages and/or terminate
- If an error is detected in the init file, the following commands can be
- used to print an error message and/or terminate execution:
- error fatal error message...
- Print the message and terminate execution.
- echo warning message...
- Print the message and continue.
- exit [ status ]
- Terminate nn with the specified exit status or 0 if omitted.
-
- Change working directory of nn
- You can use the cd command to change the working directory whenever you
- enter nn. Example:
- # Use folder directory as working directory inside nn
- cd ~/News
-
- Command groups
- The init file can contain groups of commands which are executed under
- special conditions. The command groups are described in the section on
- command groups below.
-
- One or more save-files sections
- A save-files section is used to assign default save files to specific
- groups:
- save-files
- group-name (pattern) file-name
- ...
- end
- The group name (patterns) and save file names are specified in the same
- way as in the presentation sequence (see below). Example:
- save-files
- news* +news/$L
- comp.sources* /u/src/$L/
- end
-
- The news group presentation sequence
- The last part of the init file may specify the sequence in which you want
- the news groups to be presented. This part starts with the command
- sequence and continues to the end of the init file.
-
- Both init files may contain a presentation sequence. In this case, the global
- sequence is appended to the private sequence.
-
- From: NN
- Subject: COMMAND GROUPS
-
- Command groups may only occur in the init file, and they provide a way to have
- series of commands executed at certain points during news reading.
-
- In release 6.4, these possibilities are still rather rudimentary, and a
- mixture of normal init file syntax and macro syntax is used depending on
- whether the command group is only executed on start-up or several times during
- the nn session.
-
- A command group begins with the word on and ends with the word end. The
- following command groups are conditionally executed during the parsing of the
- init file if the specified condition is true. They may also have an optional
- else part which is executed if the condition is false:
- on condition
- commands
- [ else
- commands ]
- end
-
- The following conditional command groups may be used in the init file to be
- executed at start-up:
-
- on [ test ]
- The commands (init file syntax) in the group are executed only if the
- specified test is true. A shell is spawned to execute the command "[ test
- ]", so all the options of the test(1) command is available. For example,
- to unset the flow-control variable if the tty is a pseudo-tty, the
- following conditional can be used:
- on [ -n "`tty | grep ttyp`" ]
- unset flow-control
- end
-
- on !shell command
- The command group is executed if the given shell command exits with 0
- status (success). Care should be taken that the command does not produce
- any output, e.g. by redirecting its output to /dev/null. For example, to
- prevent people from reading news if load is above a specific level, the
- following conditional might be placed in the global setup file.
- on !load-above 5
- error load is too high, try again later.
- end
-
- on `shell command\|` string...
- The command group is executed if the first output line from executing the
- specified shell command is listed among the specified string values. The
- shell command can be omitted on subsequent occurrences of this
- conditional, in which case the output from the last shell command is
- used. For example, the following conditional can be used to switch to an
- init file which has a limited sequence for news reading during working
- hours, evenings, and nights:
- on `date +%H` 9 10 11 12 13 14 15 16
- chain init.work
- end
- on `` 17 18 19 20 21
- chain init.evening
- else
- chain init.night
- end
-
- on `` string...
- This is equivalent to the previous form except that instead of executing
- a shell command, the output from the previous
-
- on $variable [ value ]
- If no value strings are specified, the command group is executed if the
- given variable is defined in the environment. Otherwise, the command
- group is executed only if the value of the variable occur in the value
- list. For example, if you want nn to look for mail in whatever $MAIL is
- set to - if it is set - you can use the following code:
- on $MAIL
- set mail $(MAIL)
- end
-
- on slow
- The commands (init file syntax) in the group are executed only if the
- current terminal output speed is less than or equal to the baud rate set
- in the slow-speed variable. This can be used to optimize the
- user-interface for slow terminals by setting suitable variables:
- on slow
- set confirm-entry
- set slow-mode
- set delay-redraw
- unset visible-bell
- set compress
- unset header-lines
- set stop 5
- set window 10
- end
-
- on fast
- Same as on slow except that the commands are only executed when the
- terminal is running at a speed above the slow-speed value.
-
- on term term-type...
- The commands are executed if one of the term-type names is identical to
- value of the TERM environment variable.
-
- on host host-name...
- The commands are executed if the local host's name occur in the host-name
- list.
-
- on program program-name...
- The commands are executed if the current program (nn, nncheck, etc) in
- the program-name list.
-
- The following on command groups are really macros which may be executed during
- nn's normal processing, and as such they cannot have an else part.
-
- on entry [ group list ]
- These commands (macro format!) are executed every time nn enters a news
- group. If a group list is not specified, the commands are associated with
- all groups which don't have its own entry macro specified in the group
- sequence. Otherwise, the entry macro will be associated with the groups
- in the list. The group list is specified using the meta-notations
- described in the presentation sequence section.
- All `:' commands at the beginning of the command group are executed
- before nn collects the articles in the group, so it is possible to set or
- unset variables like cross-post and auto-read-mode before any articles
- are collected and the menu is (not) shown.
- The non-`:' commands, and `:' commands that follows a command of
- another type will be executed immediately after the first menu page is
- presented. The execution of a `:' command can be postponed by using a
- double `::' as the command prefix.
- on entry comp.sources* alt.sources
- :set cross-post on # set before collection
- :local auto-read-mode on # set before showing menu
- ::unset cross-post # set after collection
- end
-
- on start-up
- These `:' commands (macro format!) are executed on start-up just before
- nn enters the first news group. However, postponed commands (i.e. non-`:'
- commands) will not be executed until the first group is shown (it works
- like an entry macro).
-
- From: NN
- Subject: GROUP PRESENTATION SEQUENCE
-
- News groups are normally presented in the sequence defined in the system-wide
- init file in nn's library directory.
-
- You can personalize the presentation sequence by specifying an alternative
- sequence in the private init file. The sequence in the private init file is
- used before the global presentation sequence, and need only describe the
- deviations from the default presentation sequence.
-
- The presentation sequence must start with the word
- sequence
- followed by a list of the news group names in the order you want them to be
- presented. The group names must be separated by white space. The sequence list
- must be the last part of the init file (the parsing of commands from the init
- file stops when the word sequence is encountered).
-
- You may use a full group name like "comp.unix.questions", or just the name of
- a main group or subgroup, e.g. "comp" or "comp.unix". However, if "comp"
- precedes "comp.unix.questions" in the list, this subgroup will be placed in
- the normal alphabetic sequence during the collection of all the "comp" groups.
-
- Groups which are not explicitly mentioned in any of the sequence files will be
- placed after the mentioned groups, unless `!!' is used and it has not been
- disabled (as described below).
-
- Each group name may be followed by a file or folder name (must start with
- either of `/' `~' or `+') which will specify the default save file for that
- group (and its subgroups). A single `+' following the group name is an
- abbreviation for the last save file name used. For example, the following two
- sequences are equivalent:
- group1 +file group2 +file group3 +file
- group1 +file group2 + group3 +
-
- When an article is saved, the default save name will be used as the initial
- contents of the file name prompt for further editing. It therefore does not
- need to be be a complete file name (unless you use the quick save mode).
-
- Each group name may also be associated with a so-called entry action. This is
- basically an (unnamed) macro which is invoked on entry to the group (following
- the same rules as the `on entry' command group related to :set and :unset
- commands).
-
- The entry action begins with a left parenthesis `(' and ends with a right
- parenthesis `)' on an otherwise empty line:
- comp.sources. +src/$L/ (
- :set cross-post
- )
- The last entry action can be repeated by specifying an empty set of
- parenthesis, e.g.
- comp.unix. +unix ()
- The entry action of a preceding group in the sequence can be associated with
- the current group(s) by specifying the name of the group in the parentheses
- instead of the commands, e.g.
- comp.unix. +unix (comp.sources.unix)
- A macro can also be associated with the entry action by specifying its number
- in the same way as the group name above, e.g.
- rec.music. +music (30)
- Notice that it is the current definition of the macro which is associated with
- the group, so if the macro is later redefined with the `:define' command, it
- will not have any effect on the entry action.
-
- Group names can be specified using the following notations:
-
- group.name
- Append the group (if it exists) to the presentation sequence list. If
- also-subgroups is set (default), all subscribed subgroups of the group
- will be included as well (if there are any). Examples: "comp",
- "comp.unix", "comp.unix.questions". If the group does not exits (e.g.
- "comp"), the subgroups will be included even when also-subgroups is not
- set, i.e. "comp" is equivalent to "comp.".
-
- group.name.
- Append the subgroups of the specified group to the presentation sequence.
- The group itself (if it exists) is not included. Examples: "comp.",
- "comp.unix.".
-
- .group.name
- Append the groups whose name ends with the specified name to the
- sequence. Example: ".test".
-
- group.name*
- Append the group and its subgroups to the presentation sequence list
- (even when also-subgroups is not set). Example: "comp.unix*".
-
- The following meta notation can be used in a sequence file. The group.name can
- be specified using any of the forms described above:
-
- ! groups
- Completely ignore the group or groups specified unless they are already
- in the presentation sequence (i.e. has been explicitly mentioned earlier
- in the sequence).
-
- !:code groups
- Ignore a selection of groups based on the given code letter (see below),
- unless they are already included in the sequence. Notice that these forms
- only excludes groups from the presentation sequence, i.e. they do not
- include the remaining groups at this point; that must be done explicitly
- elsewhere.
-
- !:U groups
- Ignore unsubscribed groups, i.e. if they are neither new, nor present and
- subscribed in .newsrc. This is useful to ignore a whole hierarchy except
- for a few groups which are explicitly mentioned in .newsrc and still see
- new groups as they are created.
-
- !:X groups
- Ignore unsubscribed and new groups, i.e. if they are not currently
- present and subscribed in .newsrc. This is useful to ignore a whole
- hierarchy except for a few groups which are explicitly mentioned in
- .newsrc. New groups in the hierarchy are ignored unless `NEW' occurs
- earlier in the sequence.
-
- !:O groups
- Ignore old groups, i.e. unless they are new. This is useful to ignore a
- whole hierarchy but still see new groups which are created in the
- hierarchy (it might become interesting some day). Individual groups can
- still be included in the sequence if they are specified before the `!:O'
- entry.
-
- !:N groups
- Ignore new groups in the hierarchy.
-
- !! Stop building the presentation sequence. This eliminates all groups that
- are not already in the presentation sequence.
-
- NEW This is a pseudo group name which matches all new groups; you could place
- this symbol early in your presentation sequence to see new groups `out of
- sequence' (to attract your attention to them).
-
- RC This is a pseudo group name which matches all groups occurring in the
- .newsrc file. It will cause the groups in .newsrc to be appended to the
- presentation sequence in the sequence in which they are listed in
- .newsrc.
-
- RC:number
- Similar to the RC entry, but limited to the first number lines of the
- .newsrc file. Example: RC:10 (use 10 lines of .newsrc).
-
- RC:string
- Similar to the RC entry, but limited to the lines up to (and including)
- the first line (i.e. group) starting with the given string. For example:
- RC:alt.sources
-
- < group.name
- Place the group (and its subgroups) at the beginning of the presentation
- sequence. Notice that each `<' entry will place the group(s) at the
- beginning of the current sequence, i.e. < A < B < C will generate the
- sequence C B A.
-
- > group.name
- Place the group (and its subgroups) after all other groups that are and
- will be entered into the presentation sequence.
-
- @ Disable the `!!' command. This can be included in the personal
- presentation sequence if the global sequence file contains a !! entry
- (see example 1 below).
-
- % .... %
- Starts and ends a region of the sequence where it is possible to include
- groups which has been eliminated earlier. This may be useful to alter the
- sequence of some groups, e.g. to place comp.sources.bugs after all other
- source groups, the following sequence can be used:
- ! comp.sources.bugs comp.sources* % comp.sources.bugs %
-
- Example 1: In a company where ordinary users only should read the local news
- groups, and ignore the rest (including new news groups which are otherwise
- always subscribed to initially), can use the following global presentation
- sequence:
- general
- follow
- ! local.test
- local
- !!
- The "expert" users in the company must put the @ command somewhere in their
- private sequence to avoid losing news groups which they have not explicitly
- mentioned in their init file.
- Example 2: This is the global sequence for systems with heavy news addicts who
- setup their own sequences anyway.
- # all must read the general news first
- < general
- # test is test, and junk is junk,
- # so it is placed at the very end
- > test
- > .test
- > junk
- # this is the standard sequence which everybody may
- # change to their own liking
- local # our local groups
- dk # the Danish groups
- eunet.general # to present it before eunet.followup
- eunet # the other European groups
- comp # the serious groups
- news # news on news
- sci # other serious groups
- rec # not really that important (don't quote me)
- misc # well, it must be somewhere
- # the groups that are not listed above goes here
- Notice the use of comments in the sequence where they are allowed at the end
- of non-empty lines as well.
- Example 3: My own presentation sequence (in the init file) simply lists my
- favourite groups and the corresponding default save files:
- sequence
- !:U alt* # ignore unsubscribed alt groups
- news.software.nn +nn
- comp.sys.ti* +ti/$L
- NEW # show new groups here
- news*
- rec.music.synth +synth/
- comp.emacs*,gnu.emacs +emacs/misc
- comp.risks +risks
- eunet.sources +src/unix/
- comp.sources* +src/$L/
- The presentation sequence is not used when nn is called with one or more news
- group names on the command line; it is thus possible to read ignored groups
- (on explicit request) wihtout changing the init file. (Of course, you can also
- use the G command to read ignored groups).
-
- From: NN
- Subject: MERGING NEWS GROUPS
-
- The third example above contains the following line:
- comp.emacs*,gnu.emacs +emacs/misc
- This is the syntax used to merge groups. When two or more groups are merged,
- all new articles in these groups are presented together as if they were one
- group. To merge groups, their names must be listed together in the sequence,
- and only separated by a single comma. To merge the groups resulting from a
- single group pattern (e.g. comp.emacs*), the group pattern must be followed by
- a comma and a blank (e.g. comp.emacs*, ...).
-
- Merged groups are presented as the first group in the "list", and the word
- "MERGED" will be shown after the group name. The Y {overview} command will
- still show merged groups as individual groups, but they will be annotated with
- the symbol `&' on the first of the groups, and a `+' on the rest of the
- groups.
-
- In the current version, the concept of the current group in connection with
- merged groups is a bit fuzzy. This should only be noticeable with the G
- command, which will take the most recently used group among the merged groups
- as the current group. So things like G = ... may not always work as expected.
-
- From: NN
- Subject: ENVIRONMENT
-
- The following environment variables are used by nn:
-
- EDITOR. The editor invoked when editing replies, follow-ups, and composing
- mail. nn knows about the following editors: vi, ded, GNU emacs, and
- micro-emacs, and will try to position the cursor on the first line following
- the header, i.e. after the blank line which must not be deleted! If an article
- has been included, the cursor is placed on the first line of the included text
- (to allow you to delete sections easily).
-
- LOGNAME. This is taken as the login name of the current user. It is used by nn
- to return failed mail. If it is not defined, nn will use the value of USER, or
- if that is not defined either, nn will use the call `who am i' to get this
- information. If all attempts fail, the failed mail is dropped in the bit
- bucket.
-
- PAGER. This is used as the initial value of the pager variable.
-
- SHELL. This is the shell which is spawned if the system cannot suspend nn, and
- it will be used to execute the shell escapes.
-
- TERM. The terminal type.
-
- From: NN
- Subject: FILES
-
- ~/.newsrc The record of read articles.
- ~/.nn/select The record of selected and seen articles.
- ~/.nn/init Personal configuration and presentation sequence.
- ~/.nn/kill The automatic kills and selections.
- ~/.nn/KILL.COMP The compiled kill file.
- ~/.nn/LAST The time stamp of the last news group we have seen.
- ~/.nn/NEXTG Active group last time nn was quit.
- ~/.nn/.param Parameter file for the aux script
- $lib/setup System-wide setup - always read first.
- $lib/init System-wide setup and presentation sequence.
- $lib/aux The response edit and send script.
- $lib/routes Mapping rules for mail addresses (on non-domain systems).
- $db/* The news data base.
- /etc/termcap Terminal data base [BSD].
- /usr/lib/terminfo/* Terminal data base [SysV].
- /usr/lib/nntp-server Name of remote nntp server.
- The name $lib and $db are the directories used for the auxiliary files and the
- news data base respectively. Their name and location is defined at compile
- time. Common choices are /usr/local/lib/nn or /usr/lib/news/nn for $lib and
- /usr/spool/nn or /usr/spool/news/.nn for $db.
-
- From: NN
- Subject: SEE ALSO
-
- Other netnews documentation.
- nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
- nnadmin(1M), nnusage(1M), nnmaster(8), nnspew(8)
-
- From: NN
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk (but see the addresses below)
-
- The NNTP support was designed and implemented by Ren\o'\(aae' Seindal,
- Institute of Datalogy, University of Copenhagen, Denmark.
-
- Bugs and fixes, suggestions, ideas, critique, etc. can be sent to the
- following address:
- nn-bugs@dkuug.dk
-
- The news.software.nn group is used for discussion on all subjects related to
- the nn news reader. This includes, but is not limited to, questions, answers,
- ideas, hints, information from the development group, patches, etc.
-
- From: NNACCT
- Subject: - news accounting and access authorization (nn)
-
- nnacct - news accounting and access authorization (nn)
-
-
- From: NNACCT
- Subject: SYNOPSIS
-
- nnacct -r [ -f file ] [ -a ] [ user ]...
- nnacct [ -ppolicy ] [ -qquota ] user...
- nnacct -ZERO
-
- From: NNACCT
- Subject: DESCRIPTION
-
- The nnacct command provides an optional accounting and access authorization
- for news reading via the nn news reader.
-
- The first form (-r) is used to print accounting reports. If a file is
- specified data from a saved accounting file; otherwise the data is read from
- the current accounting file.
-
- If -a is specified, the report will contain accounting data for all users.
- Otherwise, if one or more users are specified, the data for these users will
- be printed. If neiter is specified, only the accounting data for the current
- user is printed.
- Only the super-user can generate reports for other users than the caller.
-
- The second form (-p and/or -q) assigns the specified access policy and/or
- quota to the specified users. If a given user is not already known in the
- accounting file, a new entry with the specified policy and quota is created
- (default values are used if both are not specified).
-
- The third form (-ZERO) will clear the usage counts for all users. Individual
- usage counts cannot be cleared. The original accounting file is saved with a
- .old suffix.
-
- The following policies are currently implemented:
-
- 0 No access. The user is not allowed to read news at all.
-
- 1 Privileged user. The user can read news at all times and no accounting
- information is saved. This is obviously the policy for system
- administrators :-)
-
- 2 Full time access. The user can access news at all times.
-
- 3 Off-hours access. The user can only access news at off hours, i.e. in the
- morning, in the evening, on week-ends, and on holidays (not complete -
- check the source :-)
-
- The quota specifies a number of hours which the user is allowed to read news.
- When this quota is used up, access will be blocked. A quota of zero gives
- unlimited access.
-
- New users will get the default policy and quota defined in account.c. If this
- allows new users to read news at only specific times, this form can be used to
- permit individual users to read news at all times, or it can be used to
- prevent them from reading news at all. If the default policy does not allow
- new users to read news, this form must be used to authorize them to read news.
-
- From: NNACCT
- Subject: HOW IT WORKS
-
- If authorization is enabled, the nn news reader will call nnacct on start-up
- to check whether the policy and quota defined for the current user allows him
- to read news at this time (or at all).
-
- If accounting is enabled, the nn news reader will call nnacct on exit to
- register the time spent on news reading. If account logging is also defined
- (see account.c), an line is also added to the accounting log file.
-
- When accounting is defined, the user can use the :cost command to get the
- current accounting data, and if the variable report-cost is set, nn will print
- accounting information on exit.
-
- From: NNACCT
- Subject: CONTIGURATION AND NEW POLICIES
-
- The use of nnacct is enabled via the ACCOUNTING and AUTHORIZE symbols in nn's
- configuration file. Further configuration of cost calculations, logging,
- default policy, default quotas, etc. is done directly in the source file
- account.c. New access policies can also be defined in this file. This allows
- you to change the policies or prices without having to recompile the whole
- package since only nnacct is modified.
-
- From: NNACCT
- Subject: PRIVILEGED USERS
-
- Normally, only root is allowed to change user policy or quota, list all user's
- accounting data etc. This privilege can be shared with other users by listing
- their login name in the file $CLIENT/admins. There should be exactly one login
- name per line, and no blanks are allowed.
-
- From: NNACCT
- Subject: FILES
-
- $db/acct accounting data (accumulated per user)
- $db/acctlog accounting log (grows indefinitely)
- $lib/admins login names of privileged nnacct users.
-
-
- From: NNACCT
- Subject: SEE ALSO
-
- nn(1), nnusage(1)
-
- From: NNACCT
- Subject: BUGS
-
- There should be some tools to mess around with the accounting files, e.g. to
- make summaries, clear usage counters, etc.
-
- From: NNACCT
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNADMIN
- Subject: - nn database administration
-
- nnadmin - nn database administration
-
-
- From: NNADMIN
- Subject: SYNOPSIS
-
- nnadmin [ commands ]
-
- From: NNADMIN
- Subject: DESCRIPTION
-
- nnadmin is a control program for the nnmaster(1M) daemon which is responsible
- for building and maintaining the database used by the nn(1) news reader.
-
- nnadmin allows you to display extracts from the log file, display the "raw"
- contents of the database, make consistency checks on the database, instruct
- the running nnmaster to expire one or more groups, alter the options of the
- running nnmaster, and much more.
-
- nnadmin runs in two modes: interactive and non-interactive.
-
- In interactive mode, simple one line menus are used to show the available
- operations which are then selected by typing the letter associated with the
- command (normally the first letter in the command name).
-
- In non-interactive mode, the commands argument will be used as a series of
- key-strokes which are interpreted exactly as if they were typed in from the
- keyboard in interactive mode. For example, to stop the nnmaster, the following
- invokation of nnadmin can be used:
- nnadmin MK
- which will select the (M)aster submenu from the main menu, and then the (K)ill
- entry from the submenu.
-
- In non-interactive mode, the menus are not displayed and the commands are not
- echoed! nnadmin will exit when there are no more key-strokes to be read from
- the commands argument. It is not possible to specify a group name in the
- commands argument, so the functionalities of nnadmin that relates to specific
- groups are only available in interactive mode.
-
- Some "dangerous" commands will require that you confirm them by following them
- by "Y" on the command line. The most noteable are IY (initialize database) and
- EY (expire all groups). These commands will be marked with a [Y] following the
- command name.
-
- You can also invoke an interactive nnadmin using the :admin command in nn.
-
- From: NNADMIN
- Subject: SHELL ESCAPES
-
- At all prompts you can hit `!' to spawn a subshell.
-
- The working directory of the subshell will be changed to the database
- directory when invoked from the MASTER or DUMP menus, and it will changed to
- the group's spool directory (if it exists) when invoked from the GROUP menu.
-
- From: NNADMIN
- Subject: MAIN MENU
-
- From the main menu (identified by the ADMIN prompt) you can select the
- following operations:
-
- C)onf
- Show current configuration parameters such as directories, files,
- programs, network usage, etc.
-
- E)xpire [Y]
- Send a request to the nnmaster daemon to schedule (and run) expire for
- all groups in the database.
-
- G)roups
- Enter the GROUP submenu.
-
- I)nit [Y]
- Send a request to the nnmaster daemon to recollect all groups in the
- database.
-
- L)og
- Enter the LOG submenu.
-
- M)aster
- Enter the MASTER submenu.
-
- Q)uit
- Quit nnadmin.
-
- S)tat
- Print general statistics about the database. See the section on Database
- Statistics below.
-
- U)pdate
- Update the incore copy of the database master index.
-
- V)alidate
- Make a thorough consistency check on the database. If inconsistencies are
- found in a group, you will be asked whether a request should be sent to
- the nnmaster daemon to recollect the group (in non-interactive mode,
- requests will be sent automatically for all corrupted groups).
-
- W)akeup
- Send a wakeup signal to the nnmaster daemon to have it receive messages
- sent to it, perform the required actions, and then collect articles as
- necessary.
-
- Z (silent validation)
- This operation is identical to the Validate operation, expect that no
- output is produced during the consistency check; this operation is used
- by the nnmaster to execute the -C option.
-
- From: NNADMIN
- Subject: THE MASTER MENU
-
- The master menu (identified by the MASTER prompt) provides access to overall
- database information, and to send control messages to the nnmaster daemon.
-
- C)heck
- In interactive mode and in verbose batch mode (nnadmin MC), print a
- message telling whether nnmaster is running or not. In silent batch mode
- (nnadmin =MC) exit with a status code of 0 if nnmaster is running and 1
- otherwise; this may be useful is administrative scripts.
-
- D)ump
- Enter the DUMP submenu.
-
- F)iles
- Print a listing (using ls(1)) of all the data and index files in the
- database.
-
- G)roup
- Print the master index entry for a single group identified by its
- internal group number.
-
- K)ill
- Stop the nnmaster when it has finished its current task.
-
- O)ptions
- Change the runtime options of the running nnmaster daemon. Currently,
- only the value of the -r and -e options can be modified.
-
- S)tat
- Print general statistics about the database. See the section on Database
- Statistics below.
-
- T)race
- Turn the trace option -t on or off in the running nnmaster.
-
- From: NNADMIN
- Subject: THE DUMP MENU
-
- The dump menu (identified by the DUMP prompt) allows you to print the master
- index entry for various selections of groups in the database.
-
- A)ll
- Print all groups in the database.
-
- E)mpty
- Print the empty groups in the database.
-
- H)oles
- Print the groups where the `min' field in the active file is not the
- first article saved in the database (because it doesn't exist or because
- it is ignored for some other reason, e.g. bad or old).
-
- I)gnored
- Print groups which are ignored, either in the GROUPS file or because of
- some other condition (mainly no spool directory).
-
- N)on-empty
- Print the non-empty groups in the database.
-
- V)alid
- Print the groups which are present in the active file.
-
- in(W)alid
- Print the groups in the database which are not present in the active
- file.
-
- From: NNADMIN
- Subject: THE LOG MENU
-
- The log menu (identified by the LOG prompt) enables you the extract specific
- entries from the log file, and to truncate the log file.
-
- The entries in the log file share the following format:
- <class>: <date> <time> (<user>): <message>
- where <class> identifies the message class, the <date> and <time> specify when
- the entry was made, the <user> specifies who created the entry (the letter "M"
- denote the nnmaster), and the <message> is the text of the entry.
-
- To extract the log file entries of a specific class, simply enter the letter
- identifying the class:
-
- A - admin to master communication
- This class of messages are related to the sending of messages from an
- nnadmin program to the nnmaster daemon.
-
- B - bad articles
- Reports about bad articles which have been ignored or removed (controlled
- by the -b and -B options to nnmaster).
-
- C - collection statistics
- Statistics about collection of new articles. The message has the format:
- Collect: nnn art, ppp gr, ttt s
- meaning that nnn articles in ppp groups were collected in ttt seconds
- (real time).
-
- E - fatal errors
- Fatal errors encountered during operation. These errors require manual
- intervention to be fixed (some of the fatal errors occur if thing that
- "cannot happen" happens anyway, and may indicate a bug in the software).
-
- M - nnmaster messages.
- Master start/stop messages.
-
- N - NNTP related messages
- Various messages related to the NNTP part of the nnmaster, mostly about
- lost connections and failed attempts to connect to the NNTP server. These
- messages should only appear if you use NNTP, and your NNTP server is down
- for some reason.
-
- O - old articles
- Reports related to ignoring (and removing) old articles when building the
- database (controlled by the -O and -B options to nnmaster).
-
- R - reports
- Non-fatal error which enables the nnmaster to continue operation, but may
- prevent a user to run nn (file access problems). Reported problems should
- be checked. The most common report message will probably be
- some.group: no directory
- which indicates that the spool directory for that group has disappeared
- (most likely because it has been rmgroup'ed).
-
- T - trace output
- Messages produced as a result of using the -t option on the nnmaster.
- This is primarily for debugging purposes.
-
- U - usage statistics
- If nn is compiled with the STATISTICS option enabled, an entry will be
- made in the log file every time a user has spent more than five minutes
- on news reading. The message will have the following format:
- USAGE hours.minutes
- Since it is possible to suspend nn, or leave the terminal while nn is
- active, nn tries to be intelligent when it calculates the usage time so
- it will reflect the actual time spent on news reading. The usage
- statistics can be summarized using the nnusage(1M) program.
-
- V - validation errors
- When inconsistencies are detected in the database during validation, an
- entry for each corrupted group will be entered in the log file.
-
- X - expire statistics
- Messages similar to the Collect statistics reporting the result of
- running expire on the database. Reports related to ignoring, removing,
- renumbering, and reactivation of groups are also given class X.
-
- To extract a specific entry class, grep(1) is used, so it may take a while on a
- large log file.
-
- There are also a few special operations on the log file:
-
- G)roup
- Extract the entries which refers to a specified group.
-
- (1-9) tail
- Invoke tail(1) to extract the last 10-90 entries in the log file.
-
- space
- Equivalent to 1 (list last 10 lines of log).
-
- (.) all
- Display the complete log file.
-
- (@) clean [Y]
- Move the Log file to Log.old, and create a new empty Log file. If you
- want to clean out the old log file as well, simply repeat the clean
- operation (this will result in an empty Log.old file.)
-
- From: NNADMIN
- Subject: THE GROUP MENU
-
- When you enter the group menu (identified by the GROUP prompt), nnadmin will
- prompt you for the name of a news group, which you can enter with the usual
- completion feature described in the nn(1) manual. You can then perform the
- following operations on the specified group:
-
- C)lear_flag
- Clear a group specific flag. See the section on group flags below.
-
- D)ata
- Dump the contents of the data file containing the extracted article
- headers for the group.
-
- E)xpire
- Request the nnmaster to run expire on the group.
-
- F)iles
- List the files (using ls(1)) containing the index and data for the group.
-
- G)roup
- Switch to another group.
-
- H)eader
- Dump the master index entry for the group.
-
- R)ecollect
- Request the nnmaster to recollect all articles in the group.
-
- S)et_flag
- Set a group specific flag. See the section on group flags below.
-
- V)alidate
- Perform validation on the group's database information.
-
- Z)ap [Y]
- Remove group from news system - this will be done by running the rmgroup
- program which must reside in the NEWS_LIB directory. Of course, this
- should be done with great caution.
-
- From: NNADMIN
- Subject: INDIVIDUAL GROUP FLAGS
-
- You can set and clear the following flags for individual groups to control the
- future behaviour of nnmaster on that group.
-
- Notice that these flags will be reset to their default value if you
- reinitialize the database using nnmaster -I. To change these flags
- permanently, they should be set or cleared in the GROUPS file.
-
- A)lways_digest
- Normally, nnmaster will only attempt to split digests into individual
- articles if it can easily recognize an article as a digest. This requires
- that the word "digest" appears somewhere in the subject line, and that
- one of the first few lines in the body of the article loosely matches the
- subject. A few news groups frequently receives digests which break one or
- both of these requirements. To have nnmaster split these digests into
- individual articles anyway, you can turn on the "always digest" flag on
- these news groups. This will instruct nnmaster to treat all articles in
- the group as digests (naturally, articles which are then found not to
- contain other articles are still treated as normal articles.)
-
- C)ontrol
- This is a special flag for the control group. It indicates that the
- "Newsgroups:" field in the article header cannot be trusted (it does not
- specify the groups to which the article has been posted.)
-
- D)irectory missing
- This flag indicates that the spool directory for the news group cannot be
- found (the group has probably been removed with rmgroup(1M)). It is set
- automatically be the nnmaster if it cannot access the directory. When the
- flag is set, nnmaster completely ignores the group, so it can be used to
- disable news collection in specific groups. If you recreate the group or
- the directory manually, you must also clear this flag to have the
- nnmaster recognize the group again.
-
- M)oderated
- Indicates that the group is moderated. This flag is normally initialized
- automatically from the active file, and it should not be changed lightly.
-
- N)ever_digest
- This is the opposite of the "always digest" flag; when set, the nnmaster
- will never attempt to split any articles in that group into subarticles.
-
- From: NNADMIN
- Subject: DATABASE STATISTICS DISPLAY
-
- When you select the (S)tat operation in the main or master menus, you will get
- some general statistics about the database:
-
- initialized
- The time when the database was last rebuild using nnmaster -I.
-
- last_scan, last_size
- The time stamp on the active file and its size the last time the nnmaster
- read it.
-
- no of groups
- The total number of groups in the database.
-
- Articles
- The total number of articles in all groups. This is not an exact number,
- because it will count split digests as a single article (making the
- number too small), and it may count some articles that have been expired
- (making the number too large).
-
- Disk usage
- The total number of (1 kbyte) disk blocks occupied by the database.
-
- From: NNADMIN
- Subject: MASTER INDEX ENTRIES
-
- The master index entries displayed when you select the (H)eader operation in
- the master and group menus contain the following information:
-
- group_name group_number
- The first line of the display will show the name of the group and the
- internal group number which is used to identify the group in the
- database.
-
- first/last art
- This is the numbers of the first and last article that are currently
- stored in the database.
-
- active info
- This is the numbers of the first and last article in the news system as
- read from the active file. They will normally match the numbers above,
- but they may differ while the nnmaster is working on the group (or it has
- not yet collected all the articles in the group).
-
- Offsets: index->..., data->...
- These values show the starting position for the next write operation on
- the index and data files. They are primarily used for consistency
- checking and recovery after a system crash, but after an "expire by
- rewrite" operation (expire method 2) which is performed "in-situ", the
- data and index files may physically be longer than the actual data stored
- in them.
-
- Flags:
- This shows the current flags set for this group. If no flags are set, the
- field is omitted from the display. One extra flag which was not explained
- above is the BLOCKED flag; it is a temporary locking flag set on a group
- by the nnmaster while it is updating the database files for that group to
- prevent nn clients to access that group.
-
- From: NNADMIN
- Subject: RAW DATABASE DISPLAY
-
- When you select the (D)ata operation on the group menu, you will get a
- combined display of the raw data and index files for that group. The index
- file contains a single 32 bit value for each existing article number. This
- value is an offset into the data file pointing to the header for the
- corresponding article.
-
- When nn want to access the article from number N to the last article, it looks
- up the offset for article number N in the index file, and uses this as the
- starting point for reading article header information in the data file. It
- then simply reads to the end of the data file in which the article headers for
- articles number N+1, N+2, and so on follows immediately after the header for
- article number N.
-
- The article header information is presented in a very terse form; each of the
- output lines are described below for reference purposes:
-
- offset = xxxx , article # = nnnnn (type)
- This shows the offset into the data file and the article number. The
- offset is stored in the index file for quick access. If no type is
- printed it is a normal article. Other types are: "digest header" and
- "digest sub-article".
-
- xpost(count): nnn, nnn, nnn, ...
- Cross-postings to other groups are encoded as a list of internal group
- numbers.
-
- ts=nn hp=nn fp=nn lp=nn ref=nn[+Re] lines=nn
- These values are used by nn to sort, present, and access an article:
- ts is the time stamp on the article; it is a simple encoding of the
- posting date and time found in the Date: field.
- hp, fp, and lp are offsets into the file containing the article text: the
- header position, first text position, and last text position. The first
- will be zero for normal articles, but not for articles in a split digest.
- The last will be equal to the length of the file for normal articles, but
- not inside digests.
- ref is the number of references on the Reference: line. If "+Re" follows
- the number, the subject line contained a "Re:" prefix which has been
- removed.
-
- Sender(length): name
- The name of the sender in "ready to print" format, i.e. reduced to 16
- characters as explained in the nn manual.
-
- Subj(length): subject
- This is the full subject line from the article header (except for Re:
- prefixes in various formats).
-
- From: NNADMIN
- Subject: FILES
-
- The $db, $lib, and $news used below are synonyms for the DB_DIRECTORY,
- LIB_DIRECTORY, and the news system's lib directories respectively.
- $db/MASTER Database master index
- $db/GROUPS News group names in MASTER file order
- $db/DATA/nnn.x Index file for group number nnn
- $db/DATA/nnn.d Data file for group number nnn
- $master/GATE Message channel from nnadmin to nnmaster
- $master/MPID The process id of the nnmaster daemon.
- $Log The log file (truncate it regularly!)
-
- The MASTER file contains a record for each news group, occurring in the same
- sequence as the group names in the GROUPS file. The sequence also defines the
- group numbers used to identify the files in the database and in a few other
- places.
-
- The GATE file will be created by nnadmin when needed, and removed by nnmaster
- when it has read it. Therefore, to send a message to the nnmaster requires
- that you are allowed to write in the $master directory.
-
- From: NNADMIN
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngrep(1), nntidy(1)
- nnquery(1M), nnusage(1M), nnmaster(8)
-
- From: NNADMIN
- Subject: WARNINGS
-
- The GATE file is created with the owner and modes of the user that runs
- nnadmin which may cause problems if the owner of the nnmaster process
- (normally "news") is not allowed to read the created GATE file (a "umask" of
- 022 is ok.) Unless you allow ordinary users to create files in the LIB
- directory where the GATE file resides, only the owner of the directory
- (normally "news") and "root" can use nnadmin to send messages to the nnmaster.
- However, to send a wakeup signal to the master, anybody can run
- nnmaster -w
-
- From: NNADMIN
- Subject: BUGS
-
- The user interface is completely out of line with the rest of the nn family,
- and the way to run nnadmin in the non-interactive mode is a bit bizarre. This
- is not likely to change, because I believe there are more important things to
- do!
-
- From: NNADMIN
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNCHECK
- Subject: - check for unread articles
-
- nncheck - check for unread articles
-
-
- From: NNCHECK
- Subject: SYNOPSIS
-
- nncheck [ -Q -r -t ] [ -f format ]
-
- From: NNCHECK
- Subject: DESCRIPTION
-
- nncheck will report if there are some articles on the system which you have
- not read.
-
- Without options, nncheck will simply print a message reporting the number of
- unread articles with the following format:
- There are 327 unread articles in 25 groups
- and when there are no unread articles, the following message will be printed:
- No News (is good news)
-
- nncheck will exit with a value of 0 if there are unread articles, and 99 if
- there is no news (see the exception for the -r option.)
-
- It is important to notice that even though unread articles have been reported
- by nncheck, the actual number of unread articles may be much lower (or even
- zero) when nn is invoked to read the articles. This is because the calculation
- of the number of unread articles is only based on recorded article number
- intervals. Invoking nn to read the articles may reveal that the articles have
- previously been read in another news group, have been expired, or are killed
- using the auto-kill facility.
-
- The following options are used to modify the amount and format of the output
- from nncheck:
-
- -Q Quiet operation. No output is produced, only the exit status indicate
- whether there is unread news.
-
- -t Print the name of each group with unread articles, and how many unread
- articles there are (not counting split digests!).
-
- -r Output a single integer value specifying the number of unread articles,
- and exit with a 0 status (somebody told me this would be useful).
-
- -f format
- Output the number of unread articles using the specified format. The
- format is a text that may contain the following %-escapes:
- %-code resulting output
- %u "uuu unread articles"
- %g "ggg groups"
- %i "is" if 1 unread article, else "are"
- %U "uuu"
- %G "ggg"
- where uuu is the number of unread articles, and ggg is the number of
- groups with unread articles.
- For example, the default output format is
- "There %i %u in %g"
- which I prefer to the following less perfect format:
- "There are %U unread article(s) in %G group(s)"
-
-
-
- From: NNCHECK
- Subject: FILES
-
- ~/.newsrc The record of read articles
- $db/MASTER The database master index
-
-
- From: NNCHECK
- Subject: SEE ALSO
-
- nn(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
- nnadmin(1M), nnusage(1M), nnmaster(1M)
-
- From: NNCHECK
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNGOBACK
- Subject: - make news articles unread on a day-by-day basis (nn)
-
- nngoback - make news articles unread on a day-by-day basis (nn)
-
-
- From: NNGOBACK
- Subject: SYNOPSIS
-
- nngoback [ -NQvi ] [-d] days [ group ]...
-
- From: NNGOBACK
- Subject: DESCRIPTION
-
- nngoback will rewind the .newsrc record file of nn(1) one or more days. It can
- be used to rewind all groups, or only a specified set of groups. In other
- words, nngoback can mark news articles which have arrived on the system during
- the last days days unread.
-
- Only subscribed groups that occur in the current presentation sequence are
- rewound. That means that if no group arguments are specified, all groups
- occurring in the sequence defined in the init file will be rewound. Otherwise,
- only the groups specified on the argument line will be rewound.
-
- When a group is rewound, the information about selections, partially read
- digests etc. are discarded. It will print notifications about this unless the
- -Q (quiet) option is used.
-
- If the -i (interactive) option is specified, nngoback will report for each how
- many articles can be marked unread, and ask for confirmation before going back
- in that group.
-
- If the -v (verbose) option is specified, nngoback will report how many
- articles are marked unread.
-
- If the -N (no-update) option is specified, nngoback will perform the entire
- goback operation, but not update the .newsrc file.
-
- If you are not up-to-date with your news reading, you can also use nngoback to
- catch up to only have the last few days of news waiting to be read in the
- following way:
- nn -a0
- nngoback 3
- The nn command will mark all articles in all groups as read (answer all to the
- catch-up question.) The following nngoback will then make the last three days
- of news unread again.
-
- Examples:
-
- nngoback 0
- Mark the articles which have arrived today as unread.
-
- nngoback 1
- Mark the articles which have arrived yesterday and today as unread.
-
- nngoback 6
- Mark the articles which have arrived during the last week as unread.
-
- You cannot go more than 14 days back with nngoback. (You can change this limit
- as described below.)
-
- From: NNGOBACK
- Subject: THE BACK_ACT DAEMON
-
- It is a prerequisite for the use of nngoback that the script back_act is
- executed at an appropriate time once (and only once) every day. Preferably
- this is done by cron right before the bacth of news for `today' is received.
- back_act will maintain copies of the active file for the last 14 days.
-
- Optionally, the back_act program accepts a single numerical argument
- specifying how many copies of the active file it should maintain. This is
- useful if news is expired after 7 days, in which case keeping more than 7 days
- of active file copies is wasteful.
-
- From: NNGOBACK
- Subject: FILES
-
- ~/.newsrc The record of read articles.
- ~/.newsrc.goback The original rc file before goback.
- $db/active.N The N days `old' active file.
- $master/back_act Script run by cron to maintain old active files.
-
-
- From: NNGOBACK
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
- nnadmin(1M), nnusage(1M), nnmaster(8)
-
- From: NNGOBACK
- Subject: NOTES
-
- nngoback does not check the age of the `old' active files; it will blindly
- believe that active.0 was created today, and that active.7 is really seven
- days old! Therefore, the back_act script should be run once and only once
- every day for nngoback to work properly.
-
- The days are counted relative to the time the active files were copied.
-
- From: NNGOBACK
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNGRAB
- Subject: - news retrieval by keyword (nn)
-
- nngrab - news retrieval by keyword (nn)
-
-
- From: NNGRAB
- Subject: SYNOPSIS
-
- nngrab [ -c ] keyword
-
- From: NNGRAB
- Subject: DESCRIPTION
-
- nngrab invokes nn on all USENET articles whose subject (or keyword) field(s)
- contain an instance of keyword. nngrab is a fast equivalent for:
- nn -mxX -s/keyword all
-
- For example,
- nngrab tesla
- will retrieve items concerning Nikola Tesla.
-
- Keyword case is ignored unless -c is specified, and the keyword can be a
- regular expressions (escaped to avoid conflicts with the shell). For example,
- nngrab "n.*tesla"
-
- The range of search includes all newsgroups on the system, including ones
- which are unsubscribed.
-
- From: NNGRAB
- Subject: FILES
-
- $db/subjects subject database
-
-
- From: NNGRAB
- Subject: SEE ALSO
-
- nn(1), nnspew(8), egrep(1)
-
- From: NNGRAB
- Subject: NOTES
-
- nngrab can be much faster than the equivalent command shown above, if the
- tertiary news subject database generated by the nnspew(8) daemon exists. To
- enable the faster operation, nnspew must be executed regularly by cron.
-
- nngrab uses egrep(1) to scan the subject database, so if you are not running
- fast egrep (GNU-style) this is all for naught.
-
- nngrab will use a subject database generated by nnspew independent of its age.
- Thus, if you stop running nnspew, remember to remove the subjects file as
- well.
-
- From: NNGRAB
- Subject: BUGS
-
- Under version 6.4, search of the "Keywords:" field is not supported.
- Search on name is not possible either.
-
- From: NNGRAB
- Subject: AUTHOR
-
- James A. Woods, NASA Ames Research Center
- E-mail: jaw@ames.arc.nasa.gov
-
- From: NNGREP
- Subject: - grep for news group names (nn)
-
- nngrep - grep for news group names (nn)
-
-
- From: NNGREP
- Subject: SYNOPSIS
-
- nngrep [ -ainprsu ] [ -l ] [ pattern ]
-
- From: NNGREP
- Subject: DESCRIPTION
-
- nngrep can print various selections of the available news groups.
-
- Without options, nngrep will list all currently subscribed newsgroups whose
- name matches any of the specified patterns. If no pattern is specified, all
- subscribed groups will be listed.
-
- The selection of news groups against which the patterns are matches, and
- subsequently printed by nngrep can be limited or expanded using the following
- command line options and arguments:
-
- -a Use both subscribed and unsubscribed groups. Overrides the -u option.
-
- -i Use only ignored groups, i.e. which are not in the presentation sequence.
-
- -n Use only new groups. Notice that nn considers a group to be new until you
- have read at least one article in the group, or you have unsubscribed to
- the group. This means that even reasonable active news groups may remain
- "new" for quite some time if it only contains articles which are
- cross-posted to other groups which occur earlier in your presentation
- sequence.
-
- -p Use only groups with unread (pending) articles.
-
- -r Use only read groups, i.e. without unread articles.
-
- -s Use only groups which are in the presentation sequence.
-
- -u Use only unsubscribed groups.
-
- These options can be combined if they don't logically exclude each other.
-
- For example, to get the names of all "source" groups, you can use the command
- nngrep source
-
- You can use this to read a specific subset of news groups with nn; for example
- nn `nngrep -sp source`
-
- From: NNGREP
- Subject: LONG LISTING
-
- A long listing of the matched groups can be requested with the -l option. It
- will include the following information:
-
- SUBSCR Specifies whether the group is subscribed or not (yes/no).
- NEW Specifies whether the group is new or not (yes/no).
- UNREAD Shows the number of unread articles in the group (if any).
- SEQUENCE Shows the group's index in the presentation sequence.
- GROUP The name of the group.
-
-
- From: NNGREP
- Subject: FILES
-
- ~/.newsrc The record of read articles
- ~/.nn/init The presentation sequence
-
-
- From: NNGREP
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngoback(1), nngrab(1), nnpost(1), nntidy(1)
- nnadmin(1M), nnusage(1M), nnmaster(8)
-
- From: NNGREP
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNMASTER
- Subject: - nn database manager
-
- nnmaster - nn database manager
-
-
- From: NNMASTER
- Subject: SYNOPSIS
-
- nnmaster -I [lmit]
- nnmaster -w
- nnmaster -v
- nnmaster -l [ "lock message" ]
- nnmaster [ options ] [ groups ]
- nnmaster -F [ options ] [ groups ]
-
- From: NNMASTER
- Subject: DESCRIPTION
-
- nnmaster is the daemon which is responsible for building and maintaining the
- database used by the nn(1) news reader.
-
- Normally, nnmaster is started when the system enters multi-user mode, and runs
- until system shutdown. To facilitate this, you should place the following call
- in /etc/rc (or similar) to invoke the nnmaster daemon:
- $master/nnmaster -l -r -C
- where $master is the MASTER_DIRECTORY defined during configuration of nn.
-
- When nnmaster is started as specified above, it will first unlock the database
- in case it was locked (-l), perform a thorough consistency check on the
- database (-C).
-
- Then, every 10 minutes (-r), it will look at the time-stamp of the news active
- file to see whether new articles have arrived on the system (or whether
- articles have been expired).
-
- If the active file has been modified, nnmaster will collect the header
- information from the new articles and enter them into the database (or remove
- the headers of the expired articles from the database).
-
- If it detects that some articles have been expired, it will automatically
- remove the header information of the expired articles from the database.
-
- From: NNMASTER
- Subject: ARTICLE COLLECTION OPTIONS
-
- Normally, nnmaster will collect all available news groups defined in the news
- active file. The set of collected groups can be controlled via the argument
- line. Groups can be either included or excluded:
- A group name, e.g. comp, will cause the group and all its subgroups to be
- collected. Individual groups, e.g. news.software.nn, can also be specified
- A group name preceded by an exclamation mark, e.g. !talk.politics, will cause
- the group and all its subgroups to be ignored.
- An empty argument, i.e. "", will cause all groups that are not ignored to be
- collected. For example, to collect everything but rec and misc, use the
- following command:
- nnmaster -r !rec !misc ""
- If the empty argument had been omitted, nothing would be collected, since the
- presence of any groups arguments causes nnmaster to ignore all groups which
- are not explicitly mentioned.
- Example 1: The following commands can be executed by cron to collect different
- sets of groups at different intervals or under different conditions:
- nnmaster -B -O14 rec misc sci -LBO -u
- nnmaster !rec !misc !sci "" -u
- Example 2: The group arguments are used in the given sequence, e.g. to leave
- out comp.sys, but still collect comp.sys.ibm.pc, use the command:
- nnmaster -r comp.sys.ibm.pc !comp.sys ""
- The use of the -u option in the first example is essential, since each of the
- commands will update the active file time stamp which will prevent the other
- command from detecting new articles that have arrived.
- Using this method to keep specific groups out of the database must be used
- with great caution; just a single invocation of nnmaster without any arguments
- will collect all the otherwise ignored groups!
-
- From: NNMASTER
- Subject: COLLECTION OF ARTICLES
-
- The following options control how nnmaster performs the collection of new
- articles.
-
- -r [ min ]
- Daemon mode. The nnmaster will put itself in the background (unless -f is
- also specified), and will checks for arrival of new articles and expired
- articles every min minutes (and update the database accordingly). If min
- is omitted, the default is to check every 10 minutes.
- Without the -r option, the nnmaster will just perform a single collection
- of new articles (if any) and then exit. This can be used to have the
- nnmaster started by cron(8) at regular intervals instead of having it as a
- daemon which sleeps between checking for new articles. Since the nnmaster
- is a bit expensive to start up (it has to read a few files), it is up to
- you to decide which mode is best on your system. (I have also heard that
- it works to call nnmaster without -r from inews(1). I cannot recommend
- this unless you receive batched news; invoking nnmaster for every
- received article sounds too expensive to me.)
-
- -h [ sec ]
- Hold collection of new articles until next scan if new articles have
- arrived withing the last sec [60] seconds. This is useful to prevent
- nnmaster from competing for disk i/o with an rnews process which is
- unbatching incoming news, or a running expire process. It will have the
- side effect of limiting the number of C: entries in the log, since
- collection of incoming batches will typically be done in larger thunks.
-
- -f Run nnmaster in foreground in daemon mode (see -r). Useful if nnmaster is
- invoked from inittab. (Notice that if you use a respawn entry in inittab,
- you will not be able to stop nnmaster using the -k option, since init
- will immediately start another master.)
-
- -C Perform a consistency check on the database on start-up, and rebuild
- corrupted database files. This operation can be quite time-consuming
- since it reads through all the database files.
-
- -b Normally, articles without a proper news header (no Newsgroups: line) are
- ignored. Specifying the -b option causes these `bad' articles to be
- included in the database (normally with no sender or subject).
-
- -B Remove `bad' articles. Sometimes, articles without a header ends up in
- the news spool directory. These articles have no article id, and
- therefore, they will never be expired by expire(8). This option will
- allow the nnmaster to silently remove these articles (a `B' entry will
- occur in the log file).
-
- -O days
- Ignore articles which are older than the given number of days. This may
- help keep old 'stray' articles out of the database. If the -B options is
- also specified, the old articles will be removed from the news spool
- directories. Old ignored or removed articles will be reported with an `O'
- entry in the log file. This option can be disable for individual groups
- by the O flag in the GROUPS file (see below).
-
- -R N Specifies how the auto-recollect operation is performed on the groups
- having this option set in the GROUPS file (see below). Four methods are
- available (default is method 1):
- 1: Run expire on the group when new articles arrive.
- 2: Run expire on the group on every scan.
- 3: Recollect all articles when new articles arrive.
- 4: Recollect all articles on every scan.
-
- -M mode
- Normally, nnmaster will send a message via mail to the news administrator
- (OWNER) when an error or potential problems (primarily nntp related)
- occur. This can be restricted to only fatal errors (nnmaster terminated)
- if mode is 1, and disabled completely if mode is 0.
-
- -Q Normally, nnmaster will print a message on the system console or in the
- syslog if a fatal error happens. This option will prevent this, so only a
- type 'E' entry is written to the Log file.
-
- From: NNMASTER
- Subject: DATABASE EXPIRATION
-
- Since articles does not stay forever in the news system, the database must be
- cleaned up regularly to remove the information stored for expired articles.
- Expiration of the database is normally scheduled using the nnadmin(1M) command
- executed by cron at a suitable time when expire on the news articles has
- completed. The following command will send a message to the nnmaster and cause
- it to initiate expire on all news groups:
- nnadmin =EYW
-
- Selective expiration of individual groups can be done from nnadmin
- (interactive mode). It can also be done by invoking nnmaster with the -F
- option. For example, the following command will run expire on all groups
- except the `rec' groups:
- nnmaster -F -k !rec ""
- The -k option is required to terminate the currently running master since two
- daemons cannot be running at the same time. Thus to run expire (on all groups)
- in this way from cron, the following commands must be used:
- nnmaster -Fk "" ; nnmaster -r ...
-
- It is also possible to have nnmaster detect expiration automatically (see -e).
- This requires that the min field in the active file is updated by the news
- expire (this is not the default case when Cnews is used). However, this is not
- always a safe indication since the first article may not have been expired,
- while a lot of other articles have been deleted.
-
- There are several strategies available in the nnmaster to do this clean-up,
- each having their strengths and weaknesses.
-
- Method 1 (default): Rebuilds the database from the existing database
- information by comparing the current database contents with the contents of
- the news group directories, eliminating entries whose file no longer exists.
- This method is guaranteed to eliminate all expired articles from the database,
- and it is reasonably fast because it only has to read the directories, not
- each article file.
- If news is accessed remotely via nntp, the list of existing articles
- cannot efficiently be fetched by reading a local directory. Instead an XHDR
- request is sent to the nntp server to get a list of articles.
-
- Method 2: Eliminates only the expired articles before the first article in the
- group. This is very fast since only the active file and the database itself is
- accessed, but it will obviously leave some expired articles in the database.
- This method requires that the min field in the active file is updated by
- expire.
-
- Method 3: Discard the current database information and recollects all
- articles. This is obviously very time consuming, and it is therefore not
- recommended, especially not with nntp.
-
- The options related to database expiration are:
-
- -E N Select expire method N. (If N is omitted, the default method is used).
-
- -e [N]
- Automatically run expire in the database on groups where the min number
- in the active file has increased by N (1 if omitted) articles. This is
- disabled by default (since the min field is often unreliable).
-
- -F Run expire once and exit. If a list of groups is specified on the command
- line, the matched groups (see the rules above) will be marked for
- expiration. If no groups are specified, only the groups already scheduled
- for expire will be expired. Consequently, to expire all groups, a blank
- argument "" (matching all groups) must be specified.
-
- From: NNMASTER
- Subject: DATABASE LOCKING
-
- The database can be locked centrally, which will normally disallow all access
- to the database, and even block nnmaster from being (accidentally) started.
- When a lock is set on the database, all currently running clients will
- terminate the next time they try to access the database. Setting a lock on the
- database can thus also be used to force running clients to terminate.
-
- The following options set and clear locks on the database:
-
- -l message
- Locks the database with the given message. The message will be displayed
- every time a program tries to access the database.
-
- -l Unlock the database if it was locked.
-
- -i Ignore a possible lock and continue. This can be used to have nnmaster
- operate on a database which is blocked from normal user access.
-
- Since only one nnmaster can operate on the database at any one time, a running
- nnmaster daemon must be stopped before a lock can be set on the database. If
- neither -f nor -r is specified with the -l option (in both forms), nnmaster
- will terminate after setting or clearing the lock.
-
- From: NNMASTER
- Subject: DATABASE INITIALIZATION
-
- The following options are used to initialize and update the central database
- files:
-
- -I [limit]
- Initialize database. This option will erase an existing database, and
- create an empty database containing entries for the currently known
- groups. nnmaster will offer you to use an existing GROUPS file when
- initializing the database.
- The optional limit can be used to put a limit on the number of articles
- that will be collected in each group during the first collection of
- articles following the database initialization. This is useful on systems
- where the 'min' field in the active file is unreliable or not maintained
- (Cnews doesn't) to limit the work done to do the initial collection of
- news after the initialization of the database. If news is accessed
- remotely from an NNTP server, this is even more important! If limit is
- omitted, or is zero, nnmaster will trust the min field and collect all
- articles in the range min..last.
-
- -G Reread the GROUPS file. This option is used to instruct nnmaster to parse
- the GROUPS file after it has been edited. See the section on the GROUPS
- file below.
-
- From: NNMASTER
- Subject: MISCELLANEOUS OPTIONS
-
- The following options controls various details of the nnmaster's behaviour:
-
- -D [ N ]
- Run nnmaster in "debug mode". If N is omitted, or equals 1 or 3, this
- will produce a compact but still very informative trace of the collection
- or expire process directly on the terminal. This is most useful when
- doing the first collection of articles after initializing the database
- with -I. If N is 2 or 3, a trace of the NNTP traffic is written to a file
- nnmaster.log in the TMP directory. This option disables -r.
-
- -H Identifies the host which nnmaster is running on as the nntp-server for
- its clients, i.e. that it can access the news spool directory locally
- without using NNTP. Normally, nnmaster will detect this by itself by
- comparing the host name to the contents of the nntp_server file, so this
- option should really be superfluous.
-
- -y retries
- In some networked environment, opening an article (shared from another
- machine via NFS) may fail for no obvious reason. Using this option, it is
- possible to cause nnmaster to perform retries attempts to open an article
- before marking the article as non-existing in the database.
-
- -L types
- Exclude the specified entry types from the log file. This is normally
- used to exclude the 'C'ollecting and e'X'pire entries (-LCXO).
-
- -t Trace the collection process. This will place a lot of information into
- the log file (T: entries).
-
- -u Normally, nnmaster will just compare the time-stamp on the active file
- with a time-stamp saved in the database to see if new articles have
- arrived. The -u option forces the nnmaster to read the active file on
- start-up to see if new articles have arrived.
-
- -v Print the release and version identification for nnmaster, and exit.
-
- -w Wakeup the real nnmaster. Send a signal to the nnmaster daemon to have it
- check for new articles immediately.
-
- -k Kill the already running nnmaster daemon before proceeding with the
- operation specified by the other options (or terminate if no other
- operation is requested).
-
- From: NNMASTER
- Subject: THE GROUPS FILE
-
- The primary purpose of the GROUPS file is to store the names of the news
- groups represented in the database. Each line in the file corresponds to an
- entry in the (binary) MASTER file, and the sequence of the lines in the GROUPS
- file must never be changed unless the database is reinitialized afterwards.
-
- However, the contents of the lines in the GROUPS file can be edited to control
- how the nnmaster should handle each individual group.
-
- The format of each line is:
- news.group.name [ timestamp ] [ flags ]
-
- The news group name is the name of the group, and must not be changed in any
- way. If the group is no longer in the news active file, and consequently the
- group does no longer exist, group name can be replaced by a `@' character
- which will instruct nnmaster to ignore this entry without having to rebuild
- the entire database.
-
- The optional time stamp indicates when the line was added to the GROUPS file
- and is used by nn to detect new groups. When the GROUPS file is built
- initially from the active file, the time stamps are omitted which simply means
- that they are "old".
-
- One or more of the following flags can be added to the GROUPS line to control
- nnmaster's handling of the group:
-
- D Causes nnmaster to treat all articles in the group as digests, even when
- they don't initially look like digests. Articles which are found not to
- be digests after all, are still not digested.
-
- N Instructs nnmaster to never digest any articles in the group.
-
- O Disables the -O option for this group, i.e. all existing articles will be
- included in the database (and they will not be removed if the -B option
- is specified). This flag should be set on groups which you never expire,
- or have a very long expire time!
-
- R Causes nnmaster to recollect all available articles in the group whenever
- a new article is received. This is said to be useful is some high-traffic
- clarinet groups with many cancelled articles.
-
- >file
- Instructs nnmaster to append all new articles to the specified file. This
- makes it possible to keep specific groups out of the way of expire. The
- archive file can be access directly from the nn client using the
- goto-group command. The file name must be a full path name to a file in
- an existing, writeable directory.
-
- @ Instructs nnmaster to completely ignore this group - this is equivalent
- to setting the group name to `@' as described above.
-
- ! or X
- Causes nnmaster to ignore the group and not collect the group's articles
- in the database.
-
- Comments (starting with `#' and continuing to the end of line) and empty lines
- are allow in the GROUPS file, but it is strongly recommended to keep the
- changes to the GROUPS file as small as possible, because of the implicit
- correspondence with the binary MASTER file.
-
- It is not recommended to edit the GROUPS file while nnmaster is running
- because it may add new groups to the file. After editing the GROUPS file, the
- command
- nnmaster -G
- must be run before restarting the nnmaster to parse and verify the new GROUPS
- file.
-
- From: NNMASTER
- Subject: NNTP SUPPORT
-
- The nnmaster can access the news articles from a local news spool directory as
- well as from an NNTP server. When compiled with NNTP enabled, nnmaster will
- compare the name of the NNTP server and the name of the local host; if they
- are identical, nnmaster will bypass NNTP and access the articles directly.
-
- When it has to access the news articles via NNTP, it cannot time-stamp the
- active file, so instead it transfers the entire active file from the NNTP
- server and compares it with a local copy of the last active file fetched from
- the NNTP server. This is not very expensive in terms of cpu-cycles, disk-load,
- or net-bandwidth, but to stay on friendly terms with the NNTP server
- administrator, you should probably not use shorter update intervals than the
- standard 10 minutes.
-
- Setting a much higher update interval than the standard 10 minutes is not
- really recommended either, since an update normally implies fetching a burst
- of news articles from the NNTP server, so setting the interval too long may
- imply that the load on the NNTP server will be more un-even.
-
- In expire method 1, the use of XHDR just to get a list of existing articles in
- a group is definitely a waste of resources on the nntp server (but still lower
- than using method 3). Before using the XHDR request, nnmaster will send a
- non-standard "LISTGROUP" request; if the nntp server supports this request, it
- should return an OK_HEAD status followed by an (unordered) list of article
- numbers (one per line) terminated by a `.' line. The nntp servers supporting
- this request will be much less loaded during expire.
-
- The -O option does not work with NNTP. The -B option will only work with NNTP
- if the nnmaster is running on the NNTP server.
-
- From: NNMASTER
- Subject: FILES
-
- The $db, $master, and $news names used below are synonyms for the
- DB_DIRECTORY, MASTER_DIRECTORY, and NEWS_LIB_DIRECTORY defined during
- configuration.
-
- $db/MASTER Database master index
- $db/GROUPS News group names and flags in MASTER file order
- $db/DATA/nnn.[dx] Database files for group number nnn
- .../.nn[dx] Database files if located in the group directories
- $master/GATE Message channel from nnadmin to nnmaster
- $master/MPID The process id of the nnmaster daemon.
- $Log The log file (the location is configuration dependent)
- $news/active Existing articles and groups
- /usr/lib/nntp_serverContains the name of the NNTP server.
-
- The MASTER file contains a record for each news group, occurring in the same
- sequence as the group names in the GROUPS file. The sequence also defines the
- group numbers used to identify the files in the database's DATA directory.
-
- The GATE file will be created by nnadmin when needed, and removed by nnmaster
- when it has read it. Therefore, to send a message to the nnmaster requires
- that you are allowed to write in the $master directory.
-
- The contents of the Log file are described in the nnadmin manual.
-
- From: NNMASTER
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngrep(1), nntidy(1)
- nnadmin(1M), nnspew(8), nnusage(1M)
-
- From: NNMASTER
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNPOST
- Subject: - post news articles (nn)
-
- nnpost - post news articles (nn)
-
-
- From: NNPOST
- Subject: SYNOPSIS
-
- nnpost [ -dksy string ] [ -f file ] [ -p ] [ group... ]
-
- From: NNPOST
- Subject: DESCRIPTION
-
- nnpost is used to post new articles using nn's normal interface, but without
- entering nn in reading mode.
-
- When started, it reads the init file and then directly executes nn's :post
- command.
-
- It will prompt for a (comma-separated) list of news groups, the article
- subject, a list of keywords, a summary, and the distribution of the article.
- Each of these prompts can also be supplied via command line options or
- arguments as described below.
-
- When prompted for the "Newsgroup:", entering a ? as the first key will cause
- nnpost to list all the known news groups and their purpose (if this
- information is available). You can also enter / followed by a word or regular
- expression which will cause nnpost to produce a (much) shorter listing only
- containing the groups whose name and/or purpose description matches the
- regular expression. When paging through either list, you can enter q to quit
- the listing.
-
- If a source file is specified with -f it will be used as the initial article
- body. If the -p option is also specified, the article is posted directly
- without editing.
-
- nnpost can be used to do unattended postings if sufficient arguments are
- provided on the command line to build the header and the body of the article.
- The required arguments are: one or more newsgroups, a subject (-s), a source
- file (-f), a distribution (-d), and the -p option. Other fields which are not
- specified (e.g. keywords) will not be included in the header. The contents of
- the news-header variable in the init file will be included in the header.
-
- From: NNPOST
- Subject: OPTIONS
-
-
- -d distribution
- Use the specified distribution for the article.
-
- -k "keywords"
- Associate the specified keywords with the article.
-
- -s "subject"
- Use the specified subject for the new article.
-
- -y "summary"
- Include the given summary in the article header.
-
- -f file
- Read the article body from the specified file.
-
- -p Post the article specified with -f without editing.
-
- From: NNPOST
- Subject: FILES
-
- ~/.nn/init The control variables for nnpost.
-
-
- From: NNPOST
- Subject: SEE ALSO
-
- nn(1)
-
- From: NNPOST
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNSPEW
- Subject: - subject database manager (nn)
-
- nnspew - subject database manager (nn)
-
-
- From: NNSPEW
- Subject: SYNOPSIS
-
- nnspew
-
- From: NNSPEW
- Subject: DESCRIPTION
-
- nnspew builds a sorted database of all available subjects in the nn article
- database for fast access via the nngrab utility.
-
- nnspew should be activated regularly to rebuild the subject database, e.g. by
- cron. For example:
- 2 6,9,12,15,18,21 * * * root /bin/nice /usr/lib/nn/nnspew
-
- Cross posted articles are only represented in the database once, and identical
- subjects in each group are merged into one to use a minimum of disk space.
- This saves about 50% of the disk space otherwise required.
-
- From: NNSPEW
- Subject: FILES
-
- $db/subjects subject database
-
-
- From: NNSPEW
- Subject: SEE ALSO
-
- nn(1), nngrab(1), egrep(1)
-
- From: NNSPEW
- Subject: NOTES
-
- nngrap will use the subject database generated by nnspew independent of its
- age. Thus, if you stop running nnspew, remember to remove the subjects file as
- well.
-
- From: NNSPEW
- Subject: BUGS
-
- nnmaster should automatically append new articles to the subject database to
- keep it up-to-date, and thus require less frequent rebuilding using nnspew.
-
- From: NNSPEW
- Subject: AUTHOR
-
- James A. Woods, NASA Ames Research Center
- E-mail: jaw@ames.arc.nasa.gov
-
- From: NNSTATS
- Subject: - display nnmaster collection and expire statistics
-
- nnstats - display nnmaster collection and expire statistics
-
-
- From: NNSTATS
- Subject: SYNOPSIS
-
- nnstats [ -lt ] [ -d month day ] [ -m month ] [ logfile ]...
-
- From: NNSTATS
- Subject: DESCRIPTION
-
- nnstats will extract the collection (C) and expiration (X) entries from the
- log file and calculate total and average number of articles, groups and
- elapsed time per day, per month, or for the duration of the whole log file.
-
- Normally only a summary for the specified period is printed. If -l is
- specified, the statistics for each day in the period is also printed, and if
- -t is specified the summary is not printed.
-
- Normally the statistics is collected for all days in the log files (or the
- current log file if one is not specified).
-
- If "-m month" is specified, the statistics for that month is calculated. The
- month is specified in normal date notation, i.e. a capitalized three letter
- abbreviation like Jan, Feb, ...
-
- If "-d month day" is specified, the statistics for that date only is
- calculated and printed.
-
- From: NNSTATS
- Subject: FILES
-
- .../Log The log file
-
-
- From: NNSTATS
- Subject: SEE ALSO
-
- nn(1), nnusage(1M), nnadmin(1M), nnmaster(8)
-
- From: NNSTATS
- Subject: NOTES
-
- If nnmaster is run with options -LCX, nnstats will not work, because the
- necessary entries are not written to the log file.
-
- From: NNSTATS
- Subject: AUTHORS
-
- Mark Moraes <moraes@csri.toronto.edu>
- Kim F. Storm <storm@texas.dk>
-
- From: NNTIDY
- Subject: - tidy your personal .newsrc file
-
- nntidy - tidy your personal .newsrc file
-
-
- From: NNTIDY
- Subject: SYNOPSIS
-
- nntidy [ -aciNQrsuv ] [ group ]...
-
- From: NNTIDY
- Subject: DESCRIPTION
-
- nntidy will clean out non-existing groups, adjust obviously wrong article
- numbers, and remove badly formed lines from your .newsrc file.
-
- It may optionally remove ignored groups, unsubscribed groups, and groups which
- are not part of your presentation sequence or the groups specified on the
- command line.
-
- You should run nntidy if your rc file has been corrupted for some reason.
-
- From: NNTIDY
- Subject: OPTIONS
-
-
- -a Equivalent to -cisu.
-
- -c Remove unrecognized lines. This will also remove the `options' line used
- by some older news readers, such as readnews(1)
-
- -i Remove entries for groups which are ignored in the database, e.g. entries
- marked with `X' in the GROUPS file.
-
- -r Remove entries for unsubscribed groups.
-
- -s Remove entries which are not included in the group presentation sequence
- defined in the init file. If one or more groups are specified on the
- command line, entries not matched by these groups (and their subgroups
- etc) will be removed.
- Notice that depending on how you construct the presentation sequence,
- this may cause unsubscribed groups to be removed from .newsrc, but this
- will not normally happen.
-
- -u Truncate entries for unsubscribed groups, by removing the article numbers
- and leaving only the news group name and the `!' mark.
-
- -v Verbose operation. Reports each change made to the .newsrc file.
-
- -N No update mode. The requested operations are performed, but the result is
- not written back to disk. This can be used with the -v option to see
- whether tidying is required.
-
- -Q Quiet operation. The version information is not printed.
-
- From: NNTIDY
- Subject: FILES
-
- ~/.newsrc The record of read articles
- ~/.newsrc.tidy The original rc file before tidy
-
-
- From: NNTIDY
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1)
- nnadmin(1M), nnusage(1M), nnmaster(8)
-
- From: NNTIDY
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
- From: NNUSAGE
- Subject: - display nn usage statistics
-
- nnusage - display nn usage statistics
-
-
- From: NNUSAGE
- Subject: SYNOPSIS
-
- nnusage [ -at ]
-
- From: NNUSAGE
- Subject: DESCRIPTION
-
- nnusage will extract the usage entries from the log file and calculate the
- total usage time for the current user, or for all nn users if -a is specified.
-
- When -t is used with the -a option, nnusage will list the users ordered after
- the total usage time. Otherwise, the output will be sorted according to user
- names.
-
- Since it is possible to suspend nn, or leave the terminal while nn is active,
- nn tries to be intelligent when it calculates the usage time so it will truly
- report the actual time spent on news reading.
-
- From: NNUSAGE
- Subject: FILES
-
- .../Log The log file
-
-
- From: NNUSAGE
- Subject: SEE ALSO
-
- nn(1), nncheck(1), nngoback(1), nngrep(1), nntidy(1)
- nnacct(1m), nnadmin(1M), nnquery(1M), nnmaster(8)
-
- From: NNUSAGE
- Subject: NOTES
-
- If nn is compiled with ACCOUNTING turned on, then calls to nnusage are
- converted into equivalent calls to nnacct.
-
- The nn package must have been compiled with the STATISTICS option turned on to
- produce the usage entries in the log file.
-
- Only nn sessions longer than 5 minutes are registered in the log file.
-
- From: NNUSAGE
- Subject: AUTHOR
-
- Kim F. Storm, Texas Instruments A/S, Denmark
- E-mail: storm@texas.dk
-
-