DragonFly On-Line Manual Pages
XRN(1) DragonFly General Commands Manual XRN(1)
NAME
xrn - an X-based interface to the USENET news system that uses the NNTP
remote news server
SYNOPSIS
xrn is an X-based interface to the USENET news system that uses the
NNTP remote news protocol for accessing newsgroups and articles on an
NNTP server, thus allowing users to read news from personal
workstations by accessing a central news repository. This manual page
applies to version 10.00-beta-3.
DESCRIPTION
xrn [-addButtonList list] [-allButtonList list] [-artButtonList list]
[-artSpecButtonList list] [-authenticator command]
[-authenticatorCommand command] [+/-authorFullName] [-breakLength len]
[-busyIconName name] [-busyIconPixmap pixmap] [-cacheFile file]
[-cancelCount number] [+/-cc] [+/-ccForward] [-confirm list]
[-deadLetters file] [-defaultLines count] [+/-discardOld]
[+/-displayLineCount] [+/-displayLocalTime] [-distribution dist]
[+/-dumpCore] [-editorCommand command] [+/-executableSignatures]
[+/-fullNewsrc] [-geometry geometry] [-iconGeometry +X+Y] [-iconName
name] [-iconPixmap pixmap] [-ignoreNewsgroups list] [-includeCommand
command] [+/-includeHeader] [-includePrefix "prefix text"]
[+/-includeSep] [+/-info] [+/-killFiles] [-leaveHeaders list]
[-lineLength len] [+/-localSignatures] [-lockFile file] [-mailer
mailer] [-maxLines number] [-minLines number] [-newsrcFile file]
[-ngButtonList list] [-nntpServer name] [-onlyShow number]
[-organization org] [+/-pageArticles] [-pointerBackground color]
[-pointerForeground color] [-prefetchMax number] [-prefetchMinSpeed
kbytes] [-printCommand command] [-replyTo name] [+/-rescanOnEnter]
[-rescanTime time] [+/-resetSave] [-saveDir directory] [-saveMode mode]
[-saveNewsrcFile file] [-savePostings file] [-saveString string]
[-signatureFile file] [+/-signatureNotify] [+/-sortedSubjects]
[+/-stayInArticleMode] [-stripHeaders list] [+/-subjectRead]
[+/-subjectScrollBack] [-tmpDir directory] [-topLines number]
[+/-typeAhead] [-unreadIconName name] [-unreadIconPixmap pixmap]
[+/-updateNewsrc] [-verboseKill actions] [-watchUnread list]
Along with the standard toolkit options, e.g., -display, -geometry,
-xrm, and -iconic.
BASIC OPERATION
Don't let the size of this manual page alarm you. xrn is easy to learn
on-line without reading the documentation. This manual page describes
many features that may be obvious to the casual observer. It also
describes how to use scroll bars, buttons, and select text; if you have
used an X toolkit application before, the section titled "BUTTONS,
SCROLL BARS, and SELECTION" can be skipped.
xrn uses the .newsrc file to determine what groups need to be read. If
the .newsrc file does not exist, it is created, and the user is
subscribed to the news group "news.announce.newusers".
xrn has four modes of operation: Add, Newsgroup, All, and Article
modes. Add mode will be entered on startup if there are any groups
that the news system knows about that are not in the .newsrc file
(i.e., new groups). In Add mode, the user is given a list of new
groups. Groups can then be subscribed to and placed in the .newsrc
file at the first position, the last position, or after a group already
in the .newsrc file. When Add mode is exited, any remaining groups are
added unsubscribed, so the user is not asked about them the next time
xrn is started. On exit from Add mode, or on startup if there are no
new groups, Newsgroup mode is entered. Newsgroup mode displays the
subscribed to groups that have unread articles and the range of
available articles. The basic functions available in this mode allow
the user to read a group, mark all articles in a group as read,
unsubscribe from a group, move the cursor around the newsgroup window,
change the order of the list of newsgroups, re-visit the most recently
visited group, and quit xrn. In addition, the user can subscribe to a
group and specify its position in the .newsrc file, query the news
server for new articles and groups, and go to groups that are either
not subscribed to or currently have no unread articles (i.e., groups
not displayed on the screen). From Newsgroup mode the user can go into
All mode. In All mode the user is presented with a sorted list of all
known groups and their subscription status (subscribed or unsubscribed)
and can change their status or location in the .newsrc file. On
exiting All mode the user is placed back in Newsgroup mode. In order
to read the articles in a particular group, the user goes from
Newsgroup mode to Article mode. In Article mode the user can sequence
through the articles in the group forward or backward, mark a group of
articles as read or unread, mark all articles in the current group as
read, unsubscribe to the current group, return to the last article
visited, search forward or backward for an article subject (either for
the exact subject or for a regular expression in the subject), locally
kill all articles with a particular subject, and quit (saving all
changes) or exit (leaving all articles marked unread). In addition,
the user can save the current article in a file, post an article to the
group, post a followup to the current article, mail a reply to the
author of an article, forward an article to another user via mail, and
return to Newsgroup mode.
NEWS SYSTEM
The news system is a set of bulletins, discussion groups, program
sources, and other bits of information distributed around the world
under the name "USENET". The information is generally called "news"
and is broken up into "newsgroups". Each newsgroup deals with a
subject or set of subjects. The subjects for newsgroups are varied:
from discussions about particular versions of UNIX to movie reviews,
from information on the X window system to commentary on current social
and political issues.
For information on what newsgroups are available, answers to commonly
asked questions, and newsgroup ediquette, read the articles in the
newsgroup "news.announce.newsusers". Users who are new to the USENET
are strongly encouraged to become familiar with the contents of the
articles in "news.announce.newusers" before posting any messages.
NEWS SERVER
In order to run xrn, you must have access to an NNTP news server. If
you do not have access to such a server and would like to set one up,
see the "USENET Software: History and Sources" posting in
news.announce.newusers for information about where to get the
appropriate software. The NNTP server to which to connect must be
specified in one of the following ways: the "-nntpServer" command line
argument; the environment variable NNTPSERVER; the nntpServer X
resource; (these are listed in the order in which they are checked).
The name can be either a host name (e.g., shambhala.berkeley.edu) or an
internet number (e.g., 128.32.132.54). If someone else has installed
xrn at your site, then it is probably already configured to use the
correct news server and you don't have to worry about it.
SCREEN LAYOUT
The screen displayed by xrn consists of seven sections: a title bar,
two scrollable text windows, two information bars, and two button
boxes. The title bar displays the current version of the program. The
top text window displays information based on the mode. In Add mode,
the window displays all groups that are not currently in the .newsrc
file, one per line. In Newsgroup mode, the window displays the groups
containing unread articles. Each group is represented by a line of the
form:
Unread news in <group name> <num> article(s) + <old> old
<group name> is the name of the group, <num> is the number of unread
articles, and <old> is the number of read articles that are still
available (i.e. have not been expired) on the news server. If "List
old" is toggled on, then the word "Unread" will not appear on the lines
of newsgroups with no unread articles, and furthermore, the words "news
in" will not appear on the lines of newsgroups with no available
articles at all.
In Article mode, the window displays a list of subjects for the
articles in the current group, with each subject line being represented
by a line of the form:
[+u][SP] <num> <subject of the article> [<lines>] <author>
where <num> is the article number, <lines> is the number of lines in
the article (when available), and <author> is the author of the
article. A `+' in the first position means that the article has been
read, a `u' in the first position means that the article has been
marked as unread, a `S' in the second position means that the article
has been saved to a file, and a `P' in the second position means that
the article has been printed.
The top information bar displays information about the mode, the
buttons in the top button box, and error messages. The top button box
has buttons that are specific to the mode and apply to the information
in the top text window. The bottom text window displays articles in
Article mode and a list of all known groups and their subscription
status in All mode. The bottom information bar displays information
about the mode, the buttons in the bottom button box, and error
messages. The bottom button box has buttons that are specific to the
mode and apply to the information in the bottom text window.
BUTTONS, SCROLL BARS, AND SELECTION
All button and text selection commands are done with the left mouse
button. Single-line text selection is accomplished by clicking the
left mouse button on the desired line. Multiple-line selection is
accomplished by clicking the left mouse button on the first line,
holding the button down, dragging the mouse to the last line, and
releasing the mouse button. Multiple-line selection can also be
accomplished by left-clicking on the first line, and right-clicking on
the last line. Selected lines appear in reverse video (the foreground
and background colors are switched).
The text windows are scrolled with the scroll bar on the left side of
the window. Clicking the left mouse button in the scroll bar will
scroll the text down some fraction of a page; clicking the right mouse
button in the scroll bar similarly scrolls up. Clicking the middle
mouse button will scroll over larger areas: clicking at the top of the
scroll bar will scroll to the top of the text, clicking in the middle
will scroll to the middle of the text, and clicking at the bottom will
scroll to the bottom of the text. For those who like using the
keyboard, hitting control-V while the mouse cursor is in a scrollable
text window will cause the window to scroll down one page, meta-V will
scroll up one page.
Hitting the space bar (while the mouse cursor is in the top button box)
will do the right thing; scroll the article text window when
appropriate, go to the next article at the end of the current article,
go to newsgroup mode when done with all articles in the current group,
and go to the next group when in newsgroup mode.
Clicking the middle button on a newsgroup in Newsgroup mode causes xrn
to enter Article mode in that newsgroup. Clicking the middle button on
an article in Article mode causes that article to be displayed.
MODES
The next few sections describe xrn's modes by presenting an overview of
each mode and then a list of its buttons. Each list includes the names
and descriptions of the mode's buttons. The labels that actually
appear on the buttons when you run xrn are not listed; most of them are
obvious, but if you are unsure about one, consult the list of button
labels in the application-defaults file.
The listed button names correspond to button widget names, so they can
be used in X resources to control the appearance or behavior of
individual button widgets.
Furthermore, the button names are used in the "ButtonList" options (see
their documentation in "COMMAND LINE ARGUMENTS", below) to control
which buttons are actually displayed. Note that only the buttons whose
names are followed by asterisks in the lists below are displayed in the
default xrn configuration; the others are displayed only if you specify
a "ButtonList" option which requests them.
All button names are also action procedure names and can therefore be
used in Xt translations to specify key sequences that activate button
behavior (consult the X toolkit intrinsics documentation for more
information about translations). Some buttons are already bound to key
sequences by default; the key sequences for such buttons are listed in
parentheses after their entries in the lists below.
ADD MODE
Add mode is entered when xrn detects groups that the news system knows
about that are not in the .newsrc file (i.e., newly created groups).
To change or add key bindings to Add mode, use the X resource
"*addFrame.list.translations".
addQuit * (`q')
Add remaining groups in the list to .newsrc as unsubscribed; go
to group mode.
addIgnoreRest * (`x')
If the "fullNewsrc" option is false, then mark the remaining
groups "ignored" (i.e., don't subscribe to them or add them to
the newsrc file) and go to group mode. Otherwise, behave as
"addQuit".
addFirst * (`^')
Add the current group(s) to the beginning of the .newsrc file
and mark as subscribed. The current group is the selected
group(s), or the group on the line containing the cursor.
addLast * (`$')
Add the current group(s) to the end of the .newsrc file and mark
as subscribed.
addAfter * (`+')
Add the current group(s) after a group already in the .newsrc.
A dialog box is used to allow the user to enter the name of the
group to add the group after. The mouse cursor must be in the
dialog box for xrn to accept text (however, it does not have to
be in the type-in area). The dialog box has two options: abort
and add. No other buttons on the screen will work until the
user has selected an option in the dialog box. Hitting carriage
return is the same as clicking the add button (in all xrn dialog
boxes hitting carriage return is the same as clicking in the
rightmost button of the dialog box).
addUnsub * (`u')
Add the current group(s) to the end of the .newsrc file and mark
as unsubscribed.
addIgnore * (`i')
If the "fullNewsrc" option is false, then mark the current
group(s) "ignored". Otherwise, behave as "addUnsub".
NEWSGROUP MODE
Newsgroup mode informs the user of the groups with unread news and
gives the user control over which groups are visited. Clicking the
middle button on a newsgroup entry will enter that newsgroup.
To change or add key bindings to Newsgroup mode, use the X resource
"*newsgroupFrame.newsgroups.translations". In addition to the key
bindings listed with buttons below, clicking the middle button on a
group in the newsgroup list will cause xrn to enter that newsgroup.
ngQuit * (`q')
Quit xrn.
ngRead * (space or `y')
Read the articles in the current group. The current group is
either the first one selected (if one or more are selected) or
the one on the line containing the cursor. If all groups have
been read, the user can still access groups by using the goto
newsgroup command. Hitting the space bar with the cursor in the
top button box will call this function.
ngNext * (down arrow or `n')
Move the cursor to the next group, leaving the articles in the
current group untouched.
ngPrev * (up arrow or `p')
Move the cursor to the previous group, leaving the articles in
the current group untouched.
ngScroll ("Next", "Page Down" or Ctrl-v)
Scroll the list of newsgroups forward a page.
ngScrollBack ("Prior", "Page Up" or Meta-v)
Scroll the list of newsgroups backwards a page.
ngCatchUp * (`c')
Mark all articles in the current group as read.
ngSubscribe * (`s')
Subscribe to a group. A dialog box is used to allow the user to
enter the name of the group. The dialog box has the following
options: abort, prev group (subscribe to the previous group
visited), first (put group in the beginning of the .newsrc
file), last (put group in the end of the .newsrc file), and
current position (put group at the position of the cursor).
This command can also be used to change the position of a
subscribed group. Hitting carriage return after typing in the
name is the same as clicking the current position button.
ngUnsub * (`u')
Unsubscribe from the current group.
ngGoto * (`g')
Go to a newsgroup by typing its name into a dialog. The name
specified can be a substring of the group name or a regular
expression. If the newsgroup is currently ignored, it is added
to the end of the newsrc file and subscribed before it is
visited. If the newsgroup is not currently subscribed, it is
subscribed before it is visited. The first unread article in
the group is displayed, or the last article in the group if
there are no unread articles.
ngAllGroups * (`L')
Display all of the groups that exist, their subscription
statuses, and a set of buttons for changing the status.
ngRescan * (`r')
Query the server for any new groups or articles. If
"cacheActive" (see below) is True, then this command checks for
new newsgroups in the foreground and then checks for new
articles group by group in the background; if "cacheActive" is
False, then the entire rescan takes place in the foreground.
ngGetList (`R')
Retrieve a full list of newsgroups (and what articles are
available in them) from the server and check for new newsgroups.
This command always retrieves a full list in the foreground,
pausing xrn while the retrieval is happening, even if
"cacheActive" is True.
ngPrevGroup * (`-')
Re-visit the previous group visited. If it is not currently
subscribed, it is subscribed before it is visited.
ngListOld * (`l')
Toggle between listing only groups with unread news and listing
all subscribed groups whether or not they have unread news. xrn
starts out listing only groups with unread news.
ngSelect * (Shift-S)
Select a range of groups for a subsequent "ngMove" operation.
This selection is cancelled automatically if the list of
newsgroups displayed in the newsgroup list changes.
ngMove * (`m')
Move the previously selected groups to the current cursor
position, unless the cursor is currently within the selected
groups, in which case nothing happens.
ngExit * (`x')
Quit xrn, leaving the .newsrc file unchanged since the last time
it was updated. The .newsrc file is updated each time a rescan
or checkpoint occurs, as well as each time you exit from Article
mode if "updateNewsrc" is true. See below for more information
about rescanning, checkpointing, and "updateNewsrc".
ngCheckPoint * (Ctrl-s)
Update the .newsrc file based on xrn's current state.
ngGripe * (Shift-G)
Send a gripe (bug, bug fix, complaint, feature request, etc.) to
the maintainer of xrn.
ngPost * (`a')
Post an article to a newsgroup or a comma-separated list of
newsgroups. See "COMPOSING MESSAGES" below for more
information.
ngPostAndMail * (Shift-A)
Post an article and mail it too.
ngMail (Shift-M)
Send a mail message.
ALL MODE
Use All mode to display a list of all groups, in .newsrc order or in
alphabetical order; to subscribe to or unsubscribe from specific
groups; or to change the order of groups in your .newsrc. Operations
in All mode apply to the selected groups if any are selected, or to the
group on the same line as the cursor otherwise.
To change or add key bindings to All mode, use the X resource
"*allFrame.list.translations". In addition to the key bindings listed
with buttons below, clicking the middle button on a group in the
newsgroup list will cause xrn to enter that newsgroup.
allQuit * (`q')
Update the .newsrc file and return to group mode.
allNext * (down arrow or `n')
Move the cursor to the next group.
allPrev * (up arrow or `p')
Move the cursor to the previous group.
allScroll ("Next", "Page Down" or Ctrl-v)
Scroll the list of newsgroups forward a page.
allScrollBack ("Prior", "Page Up" or Meta-v)
Scroll the list of newsgroups backwards a page.
allSearch * (`/')
Search the list of newsgroups for a specific string.
allLimit * ('l')
Limit the display to a subset of the list of all newsgroups, by
specifying a regular expression indicating which groups to
display. If the list is already limited, enter an empty regular
expression to restore all groups to the display.
allSub * (`s')
Subscribe to the selected groups, leaving them at their current
position in the .newsrc file.
allFirst * (`^')
Subscribe to the selected groups and move them to the beginning
of the .newsrc file.
allLast * (`$')
Subscribe to the selected groups and move them to the end of the
.newsrc file.
allAfter * (`+')
Subscribe to the selected groups and move them after a
particular group (for which the user is prompted with a dialog
box) in the .newsrc file.
allUnsub * (`u')
Unsubscribe from the selected groups.
allIgnore * (`i')
Ignore the selected groups, i.e., unsubscribe from them and
remove them from the newsrc file.
allGoto * (space or `g')
Go to the current newsgroup (either the first selected newsgroup
or the newsgroup on the same line as the cursor). As with
"ngGoto", either the first unread article or the last article
(if there are no unread articles) is displayed. However, unlike
"ngGoto", this button does not subscribe you to an unsubscribed
newsgroup before entering it.
allSelect * (Shift-S)
allMove * (`m')
Same as the "ngSelect" and "ngMove" buttons in Newsgroup mode.
Note that "ignored" newsgroups cannot be moved, since they have
no location in the newsrc file.
allToggle * (`o')
Toggle between listing newsgroups in .newsrc order and
alphabetical order.
allPost * (`a')
Post an article, by default to the current newsgroup.
allPostAndMail * (Shift-A)
Post an article and mail it too.
allMail (Shift-M)
Send a mail message.
ARTICLE MODE
Use Article mode for reading and manipulating articles in a group.
When you enter Article mode, it displays a list of unread articles and
their Subjects, or it displays the last available article if there are
no unread articles. You can view previous articles by using "artPrev"
when viewing the first article, by using "artGotoArticle" to go to a
specific article older than the first article, by using one of the
subject-search buttons to search backward for an article older than the
first article, or by using "artListOld" to list all articles in the
group
Hitting the space bar in Article mode will "do the right thing"; it
will scroll an article if there is more of the article to see or call
the "artNextUnread" action otherwise.
To change or add key bindings to Article mode, use the X resource
"*artFrame.subjects.translations". In addition to the key bindings
listed with buttons below, clicking the middle button on an article in
the list will display that article.
Most of the buttons or actions in Article mode keep the article window
synchronized with the cursor position in the subject list, i.e., as you
move the cursor in the subject list, xrn displays the article the
cursor is on. However, it is also possible to navigate in the subject
list without changing the displayed article. In particular, you can
use the "artScrollIndex", "artScrollIndexBack", "artUp" and "artDown"
actions to move the cursor without changing the displayed article; you
can also select articles with the left and right mouse buttons without
changing the displayed article.
When you navigate the subject list in this manner, you can use the
"artCurrent" action to tell xrn to display the article that the cursor
is currently on in the subject list.
Buttons in the top button box
artQuit * (`q')
Update the .newsrc file and return to Newsgroup mode (or go to
the next newsgroup, if "stayInArticleMode" is true).
artNextUnread * (`n')
Starting at the first selected article if any articles are
selected, or at the article under the cursor otherwise, display
the next available unread article, wrapping around to the
beginning of the subject list if there are no unread articles
after the starting point but there are unread articles before
it. If no unread articles exist, xrn exits from Article mode
and returns to Newsgroup or All mode (or goes to the next
newsgroup, if "stayInArticleMode" is true).
artNext * (`N')
Display the selected article, if any, or the article under the
subject cursor if it isn't currently displayed, or the next
article after the currently displayed one. Exit from Article
mode (or go to the next newsgroup, if "stayInArticleMode" is
true) after the last article has been reached.
artPrev * (`P')
Display the selected article, if any, or the article under the
subject cursor if it isn't currently displayed, or the article
before the currently displayed one.
artLast * (`-')
Display the last article accessed before the currently displayed
one. This command only keeps track of one previously accessed
article, so invoking it repeatedly simply toggles the display
between two articles.
artCurrent (Enter or Return)
If no articles are selected in the subject list, then display
the article that the cursor is currently on. Otherwise, display
the first selected article.
artUp (up arrow)
Move the cursor up one line in the subject list, without
changing the currently displayed article.
artDown (down arrow)
Move the cursor down one line in the subject list, without
changing the currently displayed article.
artNextGroup * (Meta-n)
Go directly to the next newsgroup with unread news, bypassing
Newsgroup or All mode.
artCatchUp * (`c')
If any articles are currently selected, then mark as read all
articles that are not explicitly marked unread, from the first
listed article up to the first selected article. Otherwise,
mark as read all articles that are not explicitly marked unread,
and exit Article mode (note that "stayInArticleMode" does not
affect this command).
artFedUp * (Meta-c)
Mark as read all articles in the current group that are not
explicitly marked unread, and then go to the next group with
unread articles.
artGotoArticle * (`.')
Go to a specific article (you will be prompted for the article
number with a dialog box).
artMarkRead * (`j')
Mark as read the current or selected articles, and then return
the list cursor to the currently displayed article if it wasn't
there already).
artMarkUnread * (`m')
Mark as unread the current or selected articles, and then return
the list cursor to the currently displayed article if it wasn't
there already.
When an article is marked as unread, a `u' is placed in the far
left column next to the article's number. The only way to mark
an article as read once it has been marked with a `u' is to use
the "artMarkRead" function.
The "artNext", "artPrev", "artSubNext", "artSubPrev",
"artThreadParent" and "artSubSearch" commands will all display
articles that are marked unread as they encounter them, but
"artNextUnread" will not.
artSub (`+')
Subscribe to the current group. This comment is used if you
enter an unsubscribed newsgroup from All mode and decide while
reading it that you wish to subscribe to it.
artUnsub * (`u')
Unsubscribe from the current group; exit from Article mode (or
go to the next newsgroup, if "stayInArticleMode" is set).
artSubNext * (Ctrl-n)
artSubPrev * (Ctrl-p)
If articles are selected, then display the first selected
article. Otherwise, if the cursor is not on the currently
displayed article, then display the article the cursor is on.
Otherwise, find and display the next or previous article with
the same subject as the current article (besides any "[rR][eE]:"
prefix). If there are no more articles with the current subject
and there are more unread articles, display the first unread
article. If there are no more articles with the current subject
and there are no more unread articles, exit Article mode (or go
to the next newsgroup, if "stayInArticleMode" is set).
artThreadParent * (Meta-p, Shift-Meta-P)
Find and display the parent (actually, more generally, the most
recent available ancestor) of the current or selected article
(i.e., the article to which the current or selected article is a
followup).
This command will search through all of the article's ancestors,
from most to least recent, until it finds one which is
available. By default, articles which are currently listed in
the Subject index take precedence over other articles. To force
this command to definitely display the most recent parent, even
if it is not currently listed, hold down the shift key when you
execute the command.
artListOld * (Shift-L, Ctrl-Shift-L)
List all articles available in the group, even those that have
been read. Note that this button does not toggle (clicking this
button twice will not put you back to where you were). Note,
furthermore, that this command can take a while when is is
executed on a newsgroup with many articles in it.
Executing this command with the Ctrl key depressed will cause
xrn to pop up a dialog asking you to enter the first article
number to list. If you hit Enter without entering an article
number, then xrn will "fill in the gaps" in the current article
list, i.e., it will display old articles between the current
first displayed article and the last article in the newsgroup.
If you instead enter an article number, xrn will display all
articles between that article and the last article in the
newsgroup. Finally, if you enter a number preceded by a plus
sign (`+'), xrn will decrement the first displayed article by
the specified number (e.g., if you specify "+20", then xrn will
display twenty additional old articles.
artResort * (`o', Ctrl-o)
Resort the article list. This command won't do anything when
you first enter article mode, because the article list is pre-
sorted. However, if you do something which causes new articles
to be added to the beginning of the list (e.g., executing the
"artPrev" command while viewing the first article in the list),
you can use this command to resort the list.
Executing this command as Ctrl-o causes the article list to be
unsorted, i.e., regardless of your default sort order, the
subject list will be reordered into numerical order. There is
no mouse button binding for unsorting the article list; you must
type Ctrl-o to do so.
artKillSubject * (`k', Shift-K, Ctrl-k)
artKillAuthor * (Meta-k, Meta-Shift-K, Meta-Ctrl-k)
Locate either the first selected article if any articles are
selected, or the article under the cursor otherwise, and mark
all articles with its subject (or author) as read. Then, if the
command was executed with the Shift key held down, add a command
to kill the subject (or author) to the current group's kill
file, so that it will be marked read automatically in the
future. Alternatively, if the Ctrl key was held down, then the
command is added to the global kill file, so that it will affect
all newsgroups rather than just the current group.
Note that the Shift and Ctrl bindings apply to the subject-kill
and author-kill buttons as well as key commands. E.g., if you
hold down the Shift key while clicking on the "Subject kill"
button, the kill command will be added to the group's kill file
as well as being executed on the currently listed articles.
Also, for users who don't want to have to use the keyboard to
kill articles, clicking button 3 (usually the right button) on a
kill button is equivalent to holding down the Shift key, and
clicking button 2 (usually the middle button, if there is one)
is equivalent to holding down Ctrl.
artKillThread * (`t', Shift-T, Ctrl-t)
artKillSubthread * (Meta-t, Meta-Shift-T, Meta-Ctrl-t)
As above, but kill the article's thread or subthread instead of
its subject or author. An article's thread is killed by finding
its oldest ancestor and killing all articles which claim to be
descendants of that ancestor. An article's subthread is killed
by killing all of its descendants (as opposed to the descendants
of its oldest ancestor). When an article is the first one in a
thread (i.e., it has no ancestors), killing its thread and its
subthread do the same thing.
Thread-killing functionality is not available unless "thread" is
one of the sort types specified in the "sortedSubjects" option
described below.
artSubSearch * (`/')
Starting the first selected article if any articles are
selected, or at the article under the cursor otherwise, search
for an article whose subject matches specified regular
expression. This command pops up a dialog for you to enter the
regular expression and select a direction in which to search.
If you select s search direction without first entering a
regular expression, the regular expression from the last search
is used. This can be used to switch the direction of the search
without retyping the expression.
artContinue * (Meta-/)
Continue the last regular expression search, searching for the
same regular expression in the same direction.
artScroll ("Next", "Page Down" or Ctrl-v)
Scroll the article text forward a page.
artScrollBack ("Prior", "Page Up", `b' or Meta-v)
Scroll the article text backward a page.
artScrollLine (Meta-down arrow)
Scroll the article text forward one line.
artScrollBackLine (Meta-up arrow)
Scroll the article text backward one line.
artScrollEnd (`>')
Scroll to the end of the article text.
artScrollBeginning (`<')
Scroll to the beginning of the article text.
artScrollIndex (Shift-"Next", Shift-"Page Down" or Shift-Ctrl-V)
Scroll the article index forward a page.
artScrollIndexBack (Shift-"Prior", Shift-"Page Up" or Shift-
Meta-V) Scroll the article index backward a page.
artPost * (`a')
Post an article to the current group. See "COMPOSING MESSAGES"
below for more information.
artPostAndMail * (Shift-A)
Post an article to the current group and mail it as well.
artMail (Shift-M)
Send a mail message.
artExit * (`x')
Restore the current group's articles to the read/unread state
they were in before the newsgroup was entered and exit from
Article mode. Note that articles marked read or unread by kill-
file processing remain so marked.
artCheckPoint * (Ctrl-s)
Same as "ngCheckPoint".
artGripe (Shift-G)
Same as "ngGripe".
Buttons in the bottom button box
(Note that buttons can only be placed in the button box in which they
were originally assigned by xrn. Therefore, if you want to include any
of the buttons in this section in a "*ButtonList" option (see below),
you must use "artSpecButtonList", not "artButtonList".)
artSave * (`s', `w' or `|')
Save the current article in a file or mail folder or pipe it it
into a command. This command pops up a dialog for you to enter
the file name in which to save, and buttons to execute the save
or abort it.
If the specified filename begins with a `|', the article is
piped into the command specified after the `|'. If the filename
begins with a `+', it is treated as an MH folder, and the
article is refiled into the specified folder. If the name
begins with a `@', it is assumed to be a BABYL file (i.e., the
type of file used by Emacs RMAIL mode), and the article is saved
in the named file in BABYL format.
If the filename does not start with any of those special
characters, then it is assumed to be a normal filename, and the
article is appended to it. If the filename is relative (does
not begin with `/' or `~'), "~/News/" (or the value of the
"saveDir" option) will be prepended to it.
If no filename is specified, the article is saved in
"~/News/Groupname", where "Groupname" is the name of the current
group with the first letter capitalized If "saveMode" (see
below) is set to "subdirs", then "~/News/groupname/" will be
used instead of "~/News/".
If multiple articles are selected when this command is executed,
then all will be saved as specified.
If a specified filename has a "%d" in it, the "%d" will be
replaced with the article number being saved. To save in a file
with `%' in its name, you must use two `%' characters, i.e.,
"%%".
artReply * (`r')
Reply (by mail) to the author of the current article. See
"COMPOSING MESSAGES" below for more information.
artForward * (Meta-f)
Forward the current article to a person or multiple people via
mail.
artFollowup * (`f')
Post a followup to the current article.
artFollowupAndReply * (Ctrl-F)
Post and mail a single response to the current article.
artCancel * (Shift-C)
Cancel the current article. You can only cancel an article that
you wrote.
artRot13 * (Shift-X or Ctrl-x)
Decrypt an article "encrypted" with the "rot-13" algorithm. In
some newsgroups (e.g., "rec.humor", "rec.humor.funny"), articles
that may offend certain people are sometimes posted. To
minimize the offense, these articles are sometimes encoded with
"rot-13", a simple letter-substitution cipher, so that users
must take explicit action in order to view them. Executing this
command will decode such an encoded message; executing the
command a second time on the same article will return the
article to its original contents.
artXlate *
Translate the article from ISO 646 to ISO 8859-1.
artHeader * (`v')
Toggle between showing all header lines in the article and
showing a limited set of header lines. This command is
ineffective (and therefore its button is insensitive) if you
have not set the "stripHeaders", "leaveHeaders", or
"displayLocalTime" option (see below).
artPrint *
Print the article (see the "printCommand" option below).
COMPOSING MESSAGES
Kinds of messages
With xrn, you can compose and send both newsgroup articles and mail
messages. A newsgroup article can be either a followup to an existing
article or an article without any relation to previous articles;
similarly, a mail message can be a reply to an existing article or a
stand-alone message. Furthermore, a single message can be both a
newsgroup posting and a mail message (e.g., if you want to post a
followup to a previous posting and also send a copy of your followup to
the author of the previous posting).
The message editor
By default, when you tell xrn that you want to compose a message, it
pops up a composition window with the message template in the standard
X toolkit editor, whose command syntax is similar to that of emacs(1).
However, you can also use an editor of your own choosing to edit
messages. For more information, see the "editorCommand" option below.
Signature files
xrn will attempt to read a signature file and include its contents in
the message template. (Note, however, that a signature may not be
included in postings if the inews(1) program at your site also includes
a signature and xrn has been configured to use inews to post articles.)
The signature file name is set with the "signatureFile" option (see
below); it defaults to "~/.signature". However, rather than just
checking for that file xrn will first check for a signature file that
is specific to the current newsgroup or newsgroup hierarchy or to the
type of message being composed.
For example, if you are posting an article in "comp.sources.x" and
"signatureFile" is set to "~/.signature", xrn will check for the
existence of any of the following signature files (in this order):
~/.signature-comp.sources.x
~/.signature-comp.sources
~/.signature-comp
Then, it will check for "~/.signature.post". In general, the message
types used for this check are and "followup", "forward", "gripe",
"reply", "post", and "mail". In this check, a message that is both a
followup and a reply has type "followup", and a message that is both a
posting and a mail message has type "post". If none of these files is
found, it will finally check for "~/.signature".
If the "executableSignatures" option is enabled and the signature file
that xrn finds is executable, xrn will run the signature file as a
program and use its output as the signature.
If the "signatureNotify" option is enabled, xrn will display an
informational message telling you which signature file it is reading or
executing.
If the signature text is more than 330 characters long, it will be
ignored. Long signatures are considered rude and should be avoided.
Composition window buttons
There are up to five buttons (some of them are not relevant when
composing some types of messages and are therefore omitted) at the
bottom of the editor window which do the following: abort the message
without sending it; save the message in the file specified by the
"savePostings" option (see below); send the message; include in the
message the text of article to which this is a followup and/or reply;
or include in the message a specified file (for which you are prompted
with a dialog box).
You may only compose one message at a time.
Posting restrictions
If the value of the "warnings.posting.crossPost" resource (see "X
RESOURCES", below) is non-zero and you attempt to post to that many or
more newsgroups, or if "warnings.posting.followupTo" is non-zero and
attempt to post to that many or more groups when your "Followup-To"
line does not contain fewer groups than that, xrn will ask you to
consider reducing the number of newsgroups to which you are posting.
Since it is unlikely that your message is appropriate in all of the
groups in which you are posting it, or that followups to your message
should also appear in all of those groups, please take this suggestion
seriously.
Note that the number of groups which cause xrn to warn you are
configurable with X resources; for more information, see the "X
RESOURCES" section, below.
CUSTOMIZING XRN
Colors, fonts, and other xrn options can be specified on the command
line or using X resources. With the exception of the display name, all
xrn options can be specified using X resources. Options specified on
the command line take precedence over those specified using X
resources.
COMMAND LINE ARGUMENTS
Here are the current command line arguments (the X resources have the
same names and values as the command line arguments).
-addButtonList list
Use the given list of buttons for Add mode in the order given
rather than the default button list (described above).
The "list" is a comma separated list of button names, as
given in the lists of buttons above. For example, your list
might be: "addQuit, addIgnoreRest, addLast, addUnsub".
Buttons whose functionality is not available will not be
displayed even if they appear in your button list or in the
default button list. For example, if you are not allowed to
post articles to the news server, then none of the buttons
which cause articles to be posted will be displayed.
Similarly, if you have not specified any value for the
"leaveHeaders", "stripHeaders", or "displayLocalTime" option,
then header stripping is not active, so the "artHeader"
button will not be displayed in Article mode.
-allButtonList list
Use the given list of buttons for All mode. The format of
"list" is as described above for the -addButtonList option.
-artButtonList list
Use the given list of buttons for Article mode.
-artSpecButtonList list
Use the given list of buttons for the bottom button box in
Article mode.
-authenticator command
If "command" begins with the (case-insensitive) string
"user/pass", then NNTP "AUTHINFO USER/PASS" authentication is
activated. After "user/pass", you may include optional
whitespace, and then the username to use for authentication,
if it is different from your UNIX username. Note that the
username may not begin or end with whitespace, i.e.,
whitespace preceding or following the username is ignored,
and it may not contain a slash.
Following the username (or following "user/pass", if no
username is specified), you may specify your NNTP password,
preceded by a slash. If you do not specify a password here,
you will be prompted for it when it is needed. Like the
username, the password may not begin or end with whitespace.
For example, "user/pass username/password" specifies both the
username and password, "user/pass username" specifies the
username but omits the password, and "user/pass /password"
specifies only the password.
You are strongly discouraged from hard-coding your password
in an application-defaults file that might be read by other
people. Furthermore, note that if you specify your password
in a value for this option on the xrn command line, others
might be able to see your password in the output of "ps".
Therefore, you should specify your password in this option
only when using secure, single-user machine to which you can
be sure that you are the only one with access.
If the value of this option starts with anything other than
"user/pass", then NNTP AUTHINFO GENERIC authentication is
used, and "command" specifies the type of authentication to
request from the server (that is, it is put in the NNTP
command "AUTHINFO GENERIC <command>") in response to an
authentication challenge (NNTP response code 480) from the
news server. In this case, the "authenticatorCommand" option
(see below) must be set; if it is not, the value of this
option is ignored, and the default ("user/pass", as noted
below) is used instead.
If the "NNTPAUTH" environment variable is present, it
overrides the resource file entry for this option. The
default value of this option is "user/pass".
-authenticatorCommand command
This is the command line that is used to prompt the user for
authentication. xrn invokes this command line, with "%s"
replaced by the authenticator command (see above). The
default (in the application defaults file) is an invocation
of xterm, from which the authenticator command will prompt
the user for authentication.
+/-authorFullName
Display the full name of the author or the user/hostname of
the author.
-breakLength len
Break lines longer than "len" characters into multiple lines.
Default is 0 characters. If set to 0, line breaking is
disabled (see also "lineLength").
-busyIconName name
-busyIconPixmap pixmap
When xrn is busy (e.g., doing an automatic rescan) and
iconified, set the icon name and/or pixmap as specified
instead of using the default.
-cacheFile file
Use the specified file to cache information other than what's
in the newsrc file that needs to be preserved between
invocations of xrn. Defaults to "~/.xrncache-hostname",
where "hostname" is the NNTP server host, unless ~/.xrncache
already exists and ~/.xrncache-hostname doesn't, in which
case ~/.xrncache will be used.
-cancelCount number
The number of articles to search before popping up the cancel
button.
+/-cc Put "Cc: user" in replies. (X resources class is "CC".)
+/-ccForward
Put "Cc: user" in forwarded messages. (X resources class is
"CC".)
-confirm list
Turn on confirmation boxes for the buttons listed. These
boxes pop up to ask the user to verify the invocation of
"dangerous" actions (such as catch up and unsubscribe). The
list of buttons is a comma separated list of button names.
The buttons that can be confirmed: ngQuit, ngExit, ngCatchUp,
artCatchUp, artFedUp, ngUnsub, and artUnsub.
-deadLetters file
The name of the file to save failed postings and messages.
Defaults to "~/dead.letter".
+defaultLines count
Number of lines to scroll the subject list in article mode
when scrolling automatically at the bottom of the list.
+/-discardOld
If enabled and "onlyShow" is set, then articles earlier than
the requested number of articles at the end of the newsgroup
are marked read automatically. Disabled by default.
+/-displayLineCount
When set, display the number of lines in each article (if
available) in the article index in Article mode. Set by
default.
+/-displayLocalTime
Display the "Date:" field of the article using the local time
zone (instead of the time zone in the article itself). When
this option is enabled, you may view the article's actual
"Date:" field instead of the date converted into the local
time zone by executing the "artHeader" command (see above).
-distribution dist
Set the default distribution to "dist".
+/-dumpCore
Dump core when a signal is detected. The X resources class
for the "dumpCore" X resource is "Debug".
-editorCommand command
Use an alternate editor for creating postings, followups,
forwards, gripes, and replies. "command" must be a string in
sprintf(3) format containing a "%s", which will be replaced
by the file name to be edited. The command will be executed
using the bourne shell (sh(1)). Examples are:
xterm -e vi %s
xterm -e microEmacs %s
emacsclient %s
The resulting command should handle all editing and
windowing. The article being followed up on, replied to or
forwarded is automatically included. You can also specify
"%D" and it will be replaced with the display name. For
example:
xterm -display %D -e vi %s
If you specify an empty "editorCommand" string, the external
editor is disabled and the editor built into xrn will be
used. You can use this to disable on the command line an
"editorCommand" specification in your X resources, or to
disable in your X resources an "editorCommand" specification
in the xrn app-defaults file installed at your site.
+/-executableSignatures
If a signature file is executable, attempt to execute it and
use its output as the signature text. Three arguments are
provided: the current newsgroup (or "NIL" if none), the
current posting mode ("post", "followup", "reply", "forward"
or "gripe"), and the name of the file containing the text of
the article being replied to (or "NIL" if none). Non-
executable signature files are already read (rather than
executed), regardless of the setting of this option. Also,
if the execution of a signature file fails, it is read rather
than executed.
+/-fullNewsrc
If set, then the newsrc file will always contain all
newsgroups known to the server. Any time xrn discovers a
newsgroup on the server that's not in the newsrc file, it
will consider the newsgroup new and enter Add mode to ask you
what you want to do with it.
If not set, then any newsgroups not found in the newsrc file
will be considered "ignored" (as opposed to "subscribed" or
"unsubscribed") and will be left out of the newsrc when xrn
updates it. In this case, only responses from the server to
the "NEWGROUPS" command will be used to determine when new
groups are created.
When you run xrn with "fullNewsrc" disabled for the first
time, any newsgroups created since the last time you ran xrn
will be "missed" by xrn. To verify that you haven't missed
any interesting newsgroups because of this, enter All mode,
execute the "allToggle" command, and page to the end of the
newsgroup listing to see if there are any "ignored" groups
there; if there are and you wish to subscribe to them, you
can then do so.
-geometry WxH+X+Y
Specification of the xrn window size and location. The
window manager may choose to ignore this specification.
-iconGeometry +X+Y
Specification of the initial xrn icon location. The window
manager may choose to ignore this specification.
-iconName name
-iconPixmap pixmap
Use the specified xrn icon name or pixmap instead of the
default.
-ignoreNewsgroups list
A comma- or whitespace-separated list of regular expressions
to be matched against the server's list of newsgroups. Any
newsgroup which matches one of the specified regular
expressions is treated as an invalid group. For example,
specifying a list containing "^talk\. ^rec\." would cause all
newsgroups in the "talk" and "rec" hierarchies to be ignored.
Note that if you specify -ignoreNewsgroups on the command
line, you should enclose your list in single quotes to
prevent any backslashes and other special characters in it
from being interpreted by the shell. If, on the other hand,
you specify it in your X resources, you should put two
backslashes whenever you want a single backslash to appear in
a regular expression, because the backslash is interpreted as
a quoting character when X resources are parsed.
-includeCommand command
Use an alternate program for inserting current article text
when following up on, replying to or forwarding a message.
"command" must be a string in sprintf format that contains
two "%s"s, which will be replaced by the include prefix and
the article file name (in that order). Examples are:
sed -e 's/^/%s /' %s
xmh-insrt-repl -separator '%s' %s
The command provided should output to its standard output the
text to be included in the message, derived as desired from
the prefix and the contents of the article file. The command
will be executed using the bourne shell.
+/-includeHeader
Include or do not include the original header in included
articles. The default is to not include the header.
-includePrefix prefix text
Change the standard prefix for each line of included text
from the default, ">", to the given text string.
+/-includeSep
Include or do not include the prefix text (">") in front of
included articles. The default is to include the prefix text
(">").
+/-info Display all informative messages in the message pane.
Defaults to display all information in the message pane.
+/-killFiles
Turn the use of kill files on/off. The default is on. See
"KILL FILE FORMAT" below for a description of the format of
entries in kill files.
-leaveHeaders list
The header fields to leave in the article; a comma separated
case-insensitive list of field names (i.e.,
subject,from,organization). This option takes precedence
over "stripHeaders". If the word "all" is specified instead
of a list of fields, then all headers will be retained (This
can be used in user X resources to override a resource
specified in the global xrn application defaults, or on the
command line to override a resource specified in either the
application defaults or the user X resources.).
-lineLength len
Length of lines that are broken. Default is 0 characters.
If set to 0, line breaking is disabled (see also
"breakLength").
+/-localSignatures
If enabled, signature files are searched for in the same
manner as local kill files, except that the file searched for
is called SIGNATURE instead of KILL. For example, to find a
signature file for a posting in news.software.readers, xrn
will look for "~/News/news/software/readers/SIGNATURE",
"~/News/news/software/SIGNATURE", "~/News/news/SIGNATURE",
and "~/News/SIGNATURE", in that order, and use the first one
it finds.
-lockFile file
Set the XRN lock file name to "file". Defaults to
"~/.xrnlock". If the .newsrc file has the server name
appended to it, then the server name is also appended to the
lock file name (e.g., "~/.xrnlock-hostname").
-mailer mailer
The command to use for mailing replies. This command must
take all of it's input from stardard input (xrn will not
build a command line). The default is "/usr/sbin/sendmail
-oi -t".
-maxLines number
The maximum number of lines above the cursor in the subject
line display, or, if negative, the minimum number of lines
below the cursor. The default is -2 (i.e., display at least
two lines below the cursor whenever possible).
-minLines number
The minimum number of lines above the cursor in the subject
line display. If negative, the subject line display scrolls
only at the bottom and only one line at a time. The default
is 3.
-newsrcFile file
The newsrc file to use. Defaults to "~/.newsrc". If a file
with a name of the form "<newsrcFile>-<nntpServer>"' is
found, it will be used.
-ngButtonList list
Use the given list of buttons for Newsgroup mode. The format
of "list" is as described above for the -addButtonList
option.
-nntpServer hostname
The NNTP server to use (name or internet number).
-onlyShow number
Only grab the header information for the last "number" of
articles in each group. This is useful if you have been away
for a while and only want to see that last 100 or so articles
in each group (and thus don't have to waste time having XRN
fetch the subjects, authors, and line counts for all the
articles).
Note that although only the specified number of articles are
displayed when entering a newsgroup, the other articles are
not marked read. This means that if you enter a newsgroup
with onlyShow set, read the displayed articles, then exit the
newsgroup and enter it again, the last block of articles
before that will be displayed to you. If you want earlier
articles to be marked read automatically, use the
"discardOld" option.
-organization organization
Set the organization name in postings and followups. You can
also set the environment variable ORGANIZATION (NEWSORG on
Apollo) to set the default organization name.
+/-pageArticles
If enabled, then space bar in article mode will scroll the
current article, or go to the next article if at the end of
the current article. If disabled, then space bar in article
mode will always go to the next article. Default is enabled.
-pointerBackground color
Set the background color of the mouse cursor. The default
color is whatever the default background color is for xrn.
-pointerForeground color
Set the foreground color of the mouse cursor. The default
color is whatever the default foreground color is for xrn.
-prefetchMax number
Only prefetch newsgroups with at most the specified number of
unread articles. If number is 0, then there is no limit,
i.e., newsgroups are prefetched regardless of the number of
unread articles in them. The default is 0.
-prefetchMinSpeed kbytes
Only prefetch the next article if the speed of the network
link to the NNTP server is greater than kbytes kilobytes per
second. The default is 3 kilobytes per second. If set to 0,
the next article will always be prefetched, regardless of the
network link speed.
-printCommand command
Set the command used for printing articles. The article is
sent to the command via standard input. Defaults to "lpr".
-replyTo name
Set the Reply-To field for articles and mail messages.
+/-rescanOnEnter
Check with the news server for new articles in a newsgroup
when entering it, rather than only checking for new articles
when rescanning all newsgroups. By default, this feature is
disabled.
Enabling this feature has two potential disadvantages: (1) It
can cause a slight additional delay when entering a newsgroup
(although this delay is mostly unnoticeable except when the
newsgroup has an extremely large number of unread articles in
it), and a more noticeable delay when using "Next group" or
"Fed up" in article mode after selecting "List old" in
newsgroup mode; (2) It can cause some confusion, e.g., when
you enter a newsgroup believing that there are no unread
articles and therefore you will be shown the last read
article, and instead you are shown new unread articles, or
when you enter a newsgroup expecting to see five unread
articles and instead see ten. Furthermore, it can cause xrn
to check with the news server for new articles in newsgroups
you have not entered, if articles in newsgroups you enter are
cross-posted to them, which means that xrn may reveal new
articles in a newsgroup in Newsgroup mode even when you have
not done a rescan.
On the other hand, this feature allows you to see new
articles in a specific newsgroup immediately, without
rescanning for new articles in all newsgroups. Some people
prefer this behavior, despite the disadvantages mentioned
above.
-rescanTime time
Amount of idle time (in seconds) before checking for new
articles automatically. A rescan time of 0 means never to
check automatically. The default (unless configured
differently when compiling xrn) is 0 (i.e., never check
automatically).
New newsgroups created on the server will not show up after
an automatic rescan. To check for new newsgroups, you must
use the "ngRescan" command, documented above.
+/-resetSave
Reset the string in the "save" dialog box upon entering each
newsgroup.
-saveDir dir
The article saving directory. Defaults to "~/News" when
-saveMode specifies "onedir", or "~/News/newsgroup" when
-saveMode specifies "subdirs".
-saveMode mode
The mode for saving articles; a comma separated list of
options. The options can be "mailbox" (UNIX mailbox format),
"formfeed" (formfeeds separating articles), or "normal";
"headers" or "noheaders"; and "onedir" or "subdirs". The
default is "normal,headers,onedir".
-saveNewsrcFile file
The saved .newsrc filename. Before the .newsrc file is
modified on startup, it is saved in a backup file. Defaults
to "~/.oldnewsrc". If the real .newsrc file has the server
name appended to it, then the server name is also appended to
the save file name (e.g., "~/.oldnewsrc-hostname").
-savePostings file
The name of the file in which to save postings and messages
(via the "save" button in the composition window). Defaults
to "~/Articles".
-saveString string
Use "string" as the default in the "save" dialog box.
-signatureFile file
The signature file to use. Defaults to "~/.signature".
+/-signatureNotify
When sending mail or posting, display a message saying which
signature file is being used.
+/-sortedSubjects
Display the subject lines in the subject window sorted by
subject. Note that the "sortedSubjects" X resource behaves
differently from the command-line option, and provides
additional functionality. See the "X RESOURCES" section
below for more information.
+/-stayInArticleMode
If enabled, then a number of operations in article mode
(including unsubscribe, next article, previous article,
subject next, subject prev, session kill, author kill,
subject search, and continue search) will attempt to go to
the next newsgroup when they would normally exit article
mode. Disabled by default.
-stripHeaders list
The header fields to strip from the article; a comma
separated case-insensitive list of field names (i.e.,
keywords,message-id). If the word "none" is specified
instead of a list of fields, then no headers will be stripped
(This can be used in user X resources to override a resource
specified in the global xrn application defaults, or on the
command line to override a resource specified in either the
application defaults or the user X resources.).
+/-subjectRead
When using the space bar to scroll, when an article is
finished, the space-bar scrolling invokes subject next
instead of next unread.
+/-subjectScrollBack
If enabled (which is the default), then the subject index in
article mode will always scroll to display the current
article after operations on other articles in the index. For
example, if you use the scroll bar to scroll to several
articles that you want to save, highlight the articles and
click on the "Save" button, xrn will scroll back to the
current article when done saving. If disabled, then xrn will
attempt to maintain the position you scrolled to even after
performing an operation on other articles. Note, however,
that this may result in some flickering of the subject index,
due to unavoidable "disagreements" between how xrn and the
Athena Text widget think things should work.
-tmpDir directory
The directory to use for the temporary storage of articles
fetched from the server. The default is "/tmp". Note that
the environment variable "TMPDIR", if it is set, will
override this option (or the default value).
-topLines number
The number of lines to be used for the subject list in
Article mode. The default is 10.
+/-typeAhead
Allow/disallow typeahead. Defaults to allow typeahead.
-unreadIconName name
-unreadIconPixmap pixmap
When there is unread news and xrn is iconified, set the icon
name and/or pixmap as specified instead of using the default.
+/-updateNewsrc
Update the newsrc file when leaving Article mode (or when
going from one group directly to the next one with unread
news).
Note that whenever xrn updates the newsrc file, it also saves
all kill files. In between newsrc updates, xrn accumulates
kill-file data in memory and therefore its memory usage will
grow until that data is flushed by a newsrc update.
Therefore, if you find that xrn is using too much memory for
your tastes, you might find it useful to set "updateNewsrc"
so that kill-file information will be flushed after every
newsgroup is read.
-verboseKill actions
By default, when processing kill files, the subject of each
article that is marked read, marked unread, saved, or thread-
killed is displayed, and a summary of all such articles is
displayed when done processing the kill file. This option
allows you to select which subjects and summaries to display.
The actions specified should contain one or more of `l', `j',
`m' and `s'. `l' means to display each kill-file pattern as
it is processed. `j' means to display articles that are
marked read, `m' means to display articles that are marked
unread, `s' means to display articles that are saved, and `t'
means to display articles whose subthreads or threads are
added to the kill file. If actions is empty, then no
information is displayed when processing kill files.
-watchUnread list
Only check for unread news in groups matching one of the
listed regular expressions when determining whether to
display the unread icon name and/or pixmap. The listed
regular expressions can be separated by spaces, tabs, commas
and/or newlines.
KILL FILE FORMAT
xrn supports a super-subset of the kill-file commands supported by
rn(1) (i.e., some of its features are a subset of rn's and are
compatible with it, and some are incompatible with rn and you should
use them only if you have no interest in your xrn kill files being
compatible with rn). For compatibility with rn, lines in kill files
beginning with `&' are ignored. Blank lines (or lines containing only
whitespace) and lines beginning with `#' are also ignored.
A line beginning with "THRU " is assumed to contain the last article
number previously killed in the newsgroup, and this line is updated by
xrn after processing the kill file for the newsgroup.
A line of the form "include name" directs xrn to read another kill file
and process the commands in it as if they appear at that point in the
including file. If "name" is the name of a newsgroup, the local kill
file for that newsgroup is used. Otherwise, if "name" starts with `/'
or `~', it is treated as an absolute file name to use. Otherwise,
"name" is treated as a file name relative to the setting of the
"saveDir" option (see above), which defaults to "~/News".
Kill-file inclusion is subject to the following constraints:
o "THRU" lines in nested include files are ignored (but will be
written intact back to the included kill file if it is later saved
by xrn, e.g., if kill-file entry timeouts in it have been updated).
o Loops and multiple inclusions of the same kill file are silently
ignored.
o Kill files won't necessarily be updated properly if the user does
any of the following:
o Includes a newsgroup's kill file by specifying its file name
instead of by specifying its newsgroup name.
o Includes the global kill file in another kill file.
o Includes the same kill file using two different file names in two
different files (e.g., with an absolute path in one and a
relative path in another).
Any line in the format "/pattern/options:command" is interpreted as a
kill-file command; its components are:
pattern
A regular expression which is matched against article header fields
to determine to which articles "command" should be applied. Slashes
in the expression should be quoted with a backslash to prevent them
from being interpreted as the end of the expression.
options
The option `h' affects which header fields the regular expression is
matched against, as described below. If `h' is not specified, the
regular expression is matched against the "From" and "Subject"
fields of the article.
The option `t', followed by a positive integer, specifies the number
of idle days after which the entry should automatically be expired.
That is, any kill-file command which contains a `t' option and does
not match any articles for the number of days specified in that
option is automatically removed from the kill file by xrn when the
kill file is updated.
The option `u', followed by a positive integer, is used by xrn to
keep track of when a kill-file command was last used, for purposes
of deciding when to expire it.
Any other values will cause xrn to display an error and ignore the
command.
Note that the `t' and `u' options are incompatible with rn.
Therefore, if you choose to use the `t' option, either manually or
automatically by setting the "killTimeout" X resource (see below),
you will not be able to use your xrn kill files with rn. In this
case, if you use both xrn and rn, you may wish to consider setting
the "killFileName" X resource (see below) so that your xrn kill
files are stored separately from your ir kill files.
command
One of `j' (mark the article read), `m' (mark the article unread),
or `s' (save the article in the default save file for the
newsgroup), `t' (insert a kill-file entry for this subthread in the
local kill file), or `T' (insert a kill-file entry for this thread
in the local kill file).
If the first character in the options field is `h', then xrn will check
to see if the regular expression starts with "^From:", "^Subject:",
"^Newsgroups:", "^Date:", "^Message-ID:", "^References:", "^Xref:", or
"Approved:". If it does, then the pattern will be matched against the
corresponding header field in the article. The comparison will be
"anchored", that is, the pattern must match from the beginning of the
field value in order to be considered a match.
For example "/jik/:j" will mark read any article containing the string
"jik" in its "Subject" or "From" line; "/^From: .*jik/h:j" will mark
read articles containing "jik" in their "From" lines (but not articles
containing "jik" only in their "Subject" lines); and
"/^Newsgroups:.*,.*,/h:j" will mark read any articles cross-posted to
three or more newsgroups.
If the `h' option is specified and the regular expression doesn't start
with one of the field names mentioned above, then it will be compared
against all of the fields mentioned above.
Note that normally, xrn doesn't fetch the "Newsgroups", "Date",
"Message-ID", "References", "Xref", or "Approved" fields of articles;
it fetches them only when it notices while processing a kill file entry
that they are needed. Therefore, specifying kill file entries which
must be matched against one of those fields may cause xrn to take
longer to fetch newsgroups, since it will have to fetch extra data.
However, if you're using a sorting algorithm which uses some or all of
these fields, as described in the documentation below for the
"sortedSubjects" resource, then the fields being used for sorting are
already being fetched and no additional data need be fetched in order
to match kill file entries against them.
Note, furthermore, that some NNTP servers do not allow queries for some
header fields, usually "Newsgroups" and "Approved" and possibly others
as well. When xrn is talking to such a server and it encounters such a
header field while processing the kill file entries for a newsgroup, it
must ask the NNTP server for the entire header of every unread message
in the newsgroup. This can cause a significant delay when you try to
enter the newsgroup. You should keep this in mind when creating kill
file entries which examine these header fields.
Any line not in one of the already mentioned formats will cause xrn to
display an error.
X RESOURCES
xrn supports some X resources that do not have corresponding command
line arguments (however, see the documentation of the -xrm command line
argument in X(1) for information about setting any X resource from the
command line):
authenticateOnConnect
Some News servers expect you to send your authentication
information when you connect, even though they don't
explicitly ask for it like they're supposed to. If you are
trying to use authentication as described above (see the
"authenticatorCommand" option), and xrn never prompts for
your authentication information (e.g., your username and
password) or you can't see all of the newsgroups that you're
supposed to see, try setting this resource to true, and xrn
will always do authentication immediately after connecting to
the News server.
buttonsOnTop
By default, xrn arranges its window in such a way that button
boxes are below the display areas they affect. However, some
users do not like this behavior because it causes the
frequently used buttons to be located in different areas of
the xrn window in different modes.
If "buttonsOnTop" is set to True, then button boxes will be
placed above, rather than below, the display areas they
affect. They most significant result is that the most
frequently used buttons will always be at the top of the xrn
window, rather than changing positions depending on the mode.
cacheActive
By default, xrn fetches a full newsgroup list from the NNTP
server when it starts up and every time you execute the
"ngRescan" command. However, this can take a long time if
you are using a slow NNTP server, or if you are using a
server with a very large number of newsgroups, or if you are
talking to the NNTP server over a slow network (e.g., a SLIP
or PPP Internet connection).
In such a situation, you can set the "cacheActive" resource
to True, which will cause xrn to cache the newsgroup list.
It will only retrieve a complete list from the server if
either (a) it encounters a newsgroup that it can't find in
its cache (in some of these situations, it will ask you for
confirmation before fetching the list, but in some it will
not), or (b) you execute the "ngGetList" command.
When "cacheActive" is True, then the "ngRescan" command does
a group-by-group rescan instead of retrieving a full
newsgroup list; furthermore, it does the rescan in the
background instead of pausing xrn for more information.
See also the "fullNewsrc" command-line option and resource,
which you may wish to use in conjunction with "cacheActive"
to prevent xrn's cache file from becoming too large.
cacheFilesMaxFiles
xrn keeps a rotating cache of recently retrieved articles in
the temporary directory (see the "tmpDir" option, above). By
default, up to 50 files will be kept in the cache.
Specifying this resource will raise or lower that limit. xrn
silently enforces a minimum of 10 for this resource.
cacheFilesMaxSize
Although xrn will limit the number of files in its article
cache as described above, it will not by default limit the
total size of the cache. If you specify this resource, xrn
will attempt to keep the total size of the cache lower than
the specified number of bytes.
complainAboutBadDates (class Debug )
See "sortedSubjects", below.
courtesyCopyMessage
When you both post and mail an article, the mailed copy of
the article will have a message at the top indicating that it
is a courtesy copy of an article which was also posted. The
default message depends on the language for which XRN was
compiled. You may change the message by setting this
resource, or you may set this resource to an empty string to
disable the message entirely.
domainName
Your internet domain (e.g., ".Berkeley.EDU", ".orst.edu").
Equivalent to setting the DOMAIN environment variable. You
probably don't have to specify this; if you do, xrn will tell
you so when you try to post or send mail.
hiddenHost
The host name which you wish to appear in the "From" lines of
messages you compose. Note that your real host name (or, at
least, xrn's idea of your real host name) may appear in a
"Sender" line in your messages, regardless of what you
specify for this resource.
This resource is overridden by the "HIDDENHOST" environment
variable (see below).
If the host name you specify here or with "HIDDENHOST" does
not have a period in it, the domain name (either configured
into the program or specified as described above) is appended
to it.
killFileName
Tells xrn to name each of its kill files as specified instead
of using the default name "KILL". This is useful, e.g., if
you use another News reader besides xrn whose kill-file
format is incompatible with xrn's, but which uses "KILL" as
the name of its kill files.
killTimeout
Specifies the number of days after which to automatically
expire (i.e., remove from the kill file) unused kill-file
entries.
Note that this is only the default timeout which is placed in
new kill-file entries created by xrn as the value of the `t'
option. This resource will not affect kill-file entries
which already exist and do not contain a `t' option.
See the "KILL FILE FORMAT" section above for more
information.
nntpPort Specifies the TCP/IP port number to use to connect to the
NNTP server. Defaults to the port number for the TCP "nntp"
service.
saveSentMail
saveSentPostings
Save mail messages (articles) which are successfully sent
(posted) in the indicated file. By default, these resources
are unset (i.e., outgoing messages are not saved
automatically). If these resources are both set to the same
file, messages which are both posted and mailed will be saved
in the indicated file only once. Both of these resources
have the class "SaveSent".
sortedSubjects
Tells xrn how to sort articles before displaying them in the
subject list in Article mode. Should contain a list of one
or more of "date" "subject" and "thread", separated by commas
or whitespace. More preferred sorting should be listed
first, e.g., if you want articles sorted by subject, and
within each subject by date, you should specify "subject
date". It doesn't make mush sense to specify any sorting
types after "date", since most articles in a newsgroup will
have different dates, which means that a "date" sort will
mostly undo any other sort. It also doesn't make much sense
to specify "thread" after "subject", since subject sorting
will to some extent undo thread sorting Therefore, values for
this option which make sense are "date", "subject", "subject
date", "thread", "thread date", and "thread subject date"
(which is what the author of xrn uses).
For backward-compatibility reasons, "true", "on" and "1"
(case insensitive) are all equivalent to "subject", and
"false, "off" and "0" are eqivaulent to specifying no sorting
at all.
If no sorting is specified, articles are sorted by article
number.
Note that xrn needs to retrieve articles' "Date" fields from
the server in order to sort by date, and it doesn't normally
do this, so sorting by date may cause some degradation in
performance, especially when talking to a server over a slow
network connection. Similarly, "Message-ID" and "References"
fields must be retrieved from the server in order to do
thread sorting.
If you want xrn to tell you when it encounters a date that it
can't parse (usually because it contains an invalid timezone
or a new timezone that xrn's date-parsing routines don't know
about), then set the "complainAboutBadDates" resource to
true. If you do this and xrn tells you that it can't parse a
date, please forward the entire message about which it
complains (including all of its headers) to the xrn bug
address given below.
warnings.followup.followupTo (class warnings.Followup)
By default, when you start composing a followup to a previous
message, xrn will warn you if the default "Newsgroups" line
of your followup is different from the "Newsgroups" line of
the previous message because of a "Followup-To" line in that
message. To disable this warning, set this resource to
"False" or the class to "0".
warnings.followup.crossPost (class warnings.Followup)
By default, when you start composing a followup to a previous
message, xrn will warn you if your followup is being cross-
posted to multiple newsgroups. If you set this resource to
`0', this warning will be disabled completely; if you set it
to a non-zero value, this warning will occur only if your
article is being cross-posted to that many groups or more.
warnings.posting.crossPost (class warnings.Posting)
This resource controls the number of newsgroups in the
Newsgroups line of your posting at which xrn will suggest
that you remove some groups. The default is 10. See
"COMPOSING MESSAGES", above, for more information.
warnings.posting.followupTo (class warnings.Posting)
This resource controls the number of newsgroups in the
Newsgroups and Followup-To line of your posting at which xrn
will suggest that you remove some. The default is 5. See
"COMPOSING MESSAGES", above, for more information.
validNewsgroups
A comma- or whitespace-separated list of regular expressions
to be matched against the server's list of newsgroups. Any
newsgroup which does not match one of the specified regular
expressions is treated as an invalid group. For example,
specifying a list containing "^talk\. ^rec\." would cause
only the newsgroups in the "talk" and "rec" hierarchies to be
considered valid, while all others would be ignored.
"validNewsgroups" and "ignoreNewsgroups" (described above)
can be used together, in which case the latter takes
precedence over the former. For example, specifying
"validNewsgroups" as above and "ignoreNewsgroups" as
"^rec\.games\." would cause all "talk" and "rec" groups
except for the "rec.games" groups to be considered valid.
"validNewsgroups" is empty by default, which causes all
groups (except for those that match "ignoreNewsgroups" to be
considered valid.
When specifying "validNewsgroups" in your X resources, you
should put two backslashes whenever you want a single
backslash to appear in a regular expression, because the
backslash is interpreted as a quoting character when X
resources are parsed.
verifyFrom
By default, xrn will verify that the address in the "From"
line of each outgoing posting is valid (according to
sendmail). You can set this resource to false to disable the
check. Note, however, that the use of invalid addresses in
"From" lines is strongly discouraged. Furthermore, note that
even if you change your "From" line, xrn will still insert a
"Sender" line with your real address in it.
Furthermore, xrn takes a number of specifications for colors, fonts,
border widths, and other program options. The format for an xrn X
resource is
xrn.x.y....z.a: value
where x.y....z specifies the path from the top level of xrn to a
particular item (think of xrn as a hierarchical collection of windows,
panes, and buttons, and x.y....z is a path from the top of the
hierarchy to a node in the hierarchy), a is the type of default (i.e.,
font, border, foreground, background, borderWidth), and value is the
value of the default (i.e,. a color name or hex representation, a font
name, a numeric value). Specifying a default for a item at some point
in the hierarchy will set that default for all items from that point
down in the hierarchy. A higher level default can be overridden by
specifying a default at a lower level directly.
The xrn widget hierarchy is as follows:
xrn (Shell)
ngFrame for Newsgroup mode (Paned)
newsgroups (Text)
info (Label)
buttons (Box)
button names listed above, e.g., ngQuit (Command)
grip (Grip, not usually visible)
artFrame for Article mode (Paned)
subjects (Text)
info (Label)
buttons (Box)
button names listed above, e.g., artQuit (Command)
text (Text)
artInfo (Label)
artButtons (Box)
button names listed above, e.g., artSave (Command)
grip (Grip, two of them, with the one on bottom not usually visible)
allFrame for All mode (Paned)
list (Text)
info (Label)
buttons (Box)
button names listed above, e.g., allQuit (Command)
grip (Grip, not usually visible)
addFrame for Add mode (Paned)
list (Text)
info (Label)
buttons (Box)
button names listed above, e.g., addQuit (Command)
grip (Grip, not usually visible)
Composition (TopLevelShell, separate window)
pane (Paned)
label (Label)
text (Text)
box (Box)
compAbort (Command)
compSend (Command)
compSave (Command)
compIncludeFile (Command)
compIncludeArticle (Command)
grip (Grip, two of them, not usually visible)
Various dialogs
For example xrn resources, see the application-defaults file included
in the xrn distribution and installed with xrn (probably in
/usr/local/share/X11/app-defaults).
FILES
~/.newsrc[-hostname]
description of the groups and the articles read in each
group
~/.xrncache-hostname
internal cache containing xrn variable settings and/or
cached newsgroup data
~/.oldnewsrc[-hostname]
backup of ~/.newsrc (created at startup)
~/.signature* signatures for use when sending messages
~/News directory where articles are saved
~/Articles where saved postings and messages are stored
~/dead.letter where failed postings and messages are stored
~/.xrnlock[-hostname]
lock file
/usr/sbin/sendmail -oi -t command for sending mail
ENVIRONMENT VARIABLES
NNTPSERVER hostname of the news server
TMPDIR temporary directory
DOMAIN name of your internet domain (".Berkeley.EDU", ".orst.edu")
HIDDENHOST name of the host that you want your return path to be from
(e.g., "decvax.dec.com", "Berkeley.EDU")
HIDDENPATH name of the host that you want put in the Path field of
messages
USER login name of the user
HOME home directory of the user
FULLNAME full name of the user, used for the From field of messages
SEE ALSO
emacs(1), readnews(1), rn(1), sh(1) sprintf(3), vnews(1), X(1),
nntpd(8)
COMMENTS
The name (xrn) is a bit of a misnomer. xrn is not an X interface to
"rn" (the terminal-based news reading program by Larry Wall), but is an
X-based news reader that has had part of the functionality of "rn"
added since a number of our users are (were?) "rn" users (all of the
code is new). Much of the "rn" funcionality that xrn currently has was
not in the original plan (kill files, for example).
The user interface look and feel is modeled after that of "XMH" (by
Terry Weissman).
The .newsrc file is updated on executing the "quit" command in
Newsgroup mode, during every "rescan", and by "checkpoint". If the
"updateNewsrc" option is set, the .newsrc file will be updated every
time Article mode is exited.
xrn catches signals and X errors and will clean up on error exit
(remove temporary files, update the .newsrc file). The cleanup will be
done and then a death notifier box will be posted (if the signal is
SIGHUP or SIGINT, the death notifier will be skipped and the program
will exit). The "click to exit" button must be pressed in the death
notifier box for the program to exit.
XREFS are handled by xrn, however only articles that are actually read
(not marked as read by "catchup" or "mark as read") have their XREFS
chased and only groups that are currently subscribed to have XREFed
articles marked as read.
The default specifications for color and fonts can be confusing
(thousands of different X resources can be specified for xrn, no two
users' xrn displays need to be the same).
xrn uses the XHDR command of the Berkeley NNTP news server (XHDR is not
part of the protocol defined by RFC 977). xrn will detect the presence
of this command and complain if it does not exist.
Since the NNTP protocol does not define a unique response code for
server timeout, timeout recovery may not work if the format of the
timeout error message changes.
xrn assumes a mailer that understands domain-based mail addresses.
xrn notices that the .newsrc file has been updated by another program
while xrn is running and informs the user (and gives the user the
option to quit without updating the .newsrc or to continue on).
Article temporary files can be removed and xrn will recover.
xrn strips "<character>^H" from articles.
The v{f,s}printf implementation included with xrn is from Robert A.
Larson <blarson@skat.usc.edu>.
The strtok implementation included with xrn is from Henry Spencer
<henry@zoo.toronto.edu>.
PointerForeground is the resource name for the color of the cursor
(pointer). Some other programs use PointerColor/CursorColor.
BUGS
See TODO for a larger list of bugs and things that need to be done.
Incomplete kill file support.
See config.h for a list of defines you may want to use based on
problems that may exist in your version of the X11 toolkit and widgets.
See COMMON-PROBLMS for a list of common problems and solutions to the
problems.
Report bugs and requests for features to
"bug-xrn@kamens.brookline.ma.us".
Requests to be placed on the xrn users mailing list should be sent to
"xrn-users-request@kamens.brookline.ma.us". The only thing that comes
across this mailing list is announcements of new releases and patches
for serious problems so don't expect very much traffic.
AUTHORS
Jonathan Kamens (American Internet Corp., jik@kamens.brookline.ma.us)
Ellen M Sentovich (UC Berkeley, ellen@ic.berkeley.edu)
Rick L Spickelmier (formerly UC Berkeley, now Objectivity, Inc.,
ricks@berkeley.edu, ricks@objy.com)
See the ChangeLog file for other people who have contributed to xrn.
X $Date: 2010-02-03 12:54:24 -0500 (Wed, 03 Feb 2010) $ XRN(1)