XRN(1)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 news-
groups 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 ver-
sion 8.02.
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] [-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
X 1998/01/08 20:46:19 1
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 2
XRN(1)XRN(1)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
X 1998/01/08 20:46:19 3
XRN(1)XRN(1)
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,
X 1998/01/08 20:46:19 4
XRN(1)XRN(1)
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".
X 1998/01/08 20:46:19 5
XRN(1)XRN(1)
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
X 1998/01/08 20:46:19 6
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 7
XRN(1)XRN(1)
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
X 1998/01/08 20:46:19 8
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 9
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 10
XRN(1)XRN(1)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
X 1998/01/08 20:46:19 11
XRN(1)XRN(1)
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).
X 1998/01/08 20:46:19 12
XRN(1)XRN(1)
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', and `artSubSearch' will all display
articles that are marked unread as they encounter
them, but `artNextUnread' will not.
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).
artListOld * (Shift-L)
List all articles available in the group, even
X 1998/01/08 20:46:19 13
XRN(1)XRN(1)
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.
artKillSession * (`k')
artKillLocal * (Shift-K)
artKillGlobal * (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 as read. For `artKillLocal', put the
subject in the current group's KILL file as well,
so that it will be marked read automatically in the
future. For `artKillGlobal', put the subject in
the global KILL file, so that it will be marked
read automatically in the future in all newsgroups.
artKillAuthor * (Meta-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
author as read in this newsgroup. (There is
currently no way to automatically add an author to
a group's KILL file or to the global KILL file, but
that functionality is on the TODO list of future
enhancements to xrn.)
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.
X 1998/01/08 20:46:19 14
XRN(1)XRN(1)
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".)
X 1998/01/08 20:46:19 15
XRN(1)XRN(1)
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/' 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
X 1998/01/08 20:46:19 16
XRN(1)XRN(1)
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' or `leaveHeaders' 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
X 1998/01/08 20:46:19 17
XRN(1)XRN(1)
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).
X 1998/01/08 20:46:19 18
XRN(1)XRN(1)
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''.
-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.
X 1998/01/08 20:46:19 19
XRN(1)XRN(1)-authenticator command
This command line is used as ``AUTHINFO GENERIC
<command>'' in response to an authentication
challenge (NNTP response code 480) from the news
server. If the ``NNTPAUTH'' environment
variable is present, it overrides the resource
file entry. The default (built into xrn) is
``any <userid>''.
-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".)
X 1998/01/08 20:46:19 20
XRN(1)XRN(1)
+/-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.
-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
X 1998/01/08 20:46:19 21
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 22
XRN(1)XRN(1)-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 -ignoreNewsgropus 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.
X 1998/01/08 20:46:19 23
XRN(1)XRN(1)
+/-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.
X 1998/01/08 20:46:19 24
XRN(1)XRN(1)-lockFile file
Set the XRN lock file name to `file'. Defaults
to `~/.xrnlock'.
-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/lib/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
X 1998/01/08 20:46:19 25
XRN(1)XRN(1)
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.
X 1998/01/08 20:46:19 26
XRN(1)XRN(1)
+/-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.
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).
+/-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'
or `normal', `headers' or `noheaders', and
`onedir' or `subdirs'. The default is
X 1998/01/08 20:46:19 27
XRN(1)XRN(1)
`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'.
-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.
+/-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.
X 1998/01/08 20:46:19 28
XRN(1)XRN(1)
+/-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.
-verboseKill actions
By default, when processing KILL files, the
subject of each article that is marked read,
marked unread, or saved 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
X 1998/01/08 20:46:19 29
XRN(1)XRN(1)
pattern as it is processed. "j" means to
display articles that are marked read, "m" means
to display articles that are marked unread, and
"s" means to display articles that are saved.
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 subset of the kill-file commands supported
by rn(1). For compatibility with rn, lines in kill files
beginning with ``THRU'' or ``&'' are ignored. 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 the
authors and subjects of articles 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
Interpreted by rn, but ignored by xrn.
command
A single letter, either `j' (mark the article
read), `m' (mark the article unread), or `s' (save
the article in the default save file for the
newsgroup).
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):
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
X 1998/01/08 20:46:19 30
XRN(1)XRN(1)
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.
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
X 1998/01/08 20:46:19 31
XRN(1)XRN(1)
"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).
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.
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
X 1998/01/08 20:46:19 32
XRN(1)XRN(1)
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.
XRN widget hierarchy:
vpane (Paned)
titlebar (Label) (optional)
index (Text)
indexinfo (Label)
indexbuttons (Box)
buttonName (Command)
articleText (Text)
textinfo (Label)
textbuttons (Box)
buttonName (Command)
Composition (Shell)
vpane (Paned)
label (Label)
text (Text)
box (Box)
abort (Command)
send (Command)
save (Command)
includeArticle (Command)
includeFile (Command)
dialogs...
Examples of defaults are:
#
xrn.newsrcFile: ~/.newsrc
xrn.nntpServer: pasteur
xrn.organization: UC Berkeley XRN Design Team
xrn.replyTo: user@machine.domain
xrn.iconGeometry: +64+521
xrn.leaveHeaders: subject,from
xrn.includeHeader: off
xrn.signatureFile: ~/.signature
xrn.geometry: =750x770+10+10
xrn.deadLetters: ~/dead.letter
xrn.savePostings: ~/Articles
xrn.topLines: 9
xrn.saveMode: mailbox,headers,onedir
xrn.minLines: 3
xrn.maxLines: 6
xrn.tmpDir: /tmp
xrn.mailer: /usr/lib/sendmail -oi -t
#
xrn.Gripe.geometry: +50+50
#
X 1998/01/08 20:46:19 33
XRN(1)XRN(1)
xrn.ngButtonList: ngQuit,ngRead,ngCatchUp,ngRescan,ngSubscribe,ngPost
xrn.artButtonList: artQuit,artNextUnread,artCatchUp,artPost,artNextGroup
#
xrn*background: plum
xrn*foreground: red
xrn*font: 9x15
xrn*border: LightGray
#
xrn*Text*Background: DarkSlateGray
xrn*Text*Foreground: yellow
xrn*ScrollBarMgr.thickness: 22
xrn*ScrollBar.background: DarkSlateGray
xrn*ScrollBar.foreground: yellow
xrn*ScrollBar.border: White
xrn*Label.background: cyan
xrn*Label.foreground: blue
xrn*Command.foreground: White
xrn*Command.background: coral
#
xrn*Box.ngQuit.foreground: Black
xrn*Box.ngQuit.background: red
#
xrn*dialog*font: 9x15
xrn*dialog*background: LimeGreen
xrn*dialog*foreground: CornflowerBlue
xrn*dialog*Label.foreground: NavyBlue
xrn*dialog*Command.foreground: Black
xrn*dialog*Command.background: yellow
xrn*dialog*Text.background: Wheat
xrn*dialog*Text.foreground: SteelBlue
xrn*dialog*borderWidth: 2
#
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 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
X 1998/01/08 20:46:19 34
XRN(1)XRN(1)
~/.xrnlock lock file
/usr/lib/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 full domain-style 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 ALSOemacs(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
X 1998/01/08 20:46:19 35
XRN(1)XRN(1)
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: the THRU line is not
updated, the only actions supported are 'm', 'j', and 's',
X 1998/01/08 20:46:19 36
XRN(1)XRN(1)
and matching is always done against both the ``From:'' and
``Subject:'' lines of postings.
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@cam.ov.com'.
Requests to be placed on the xrn users mailing list should
be sent to `xrn-users-request@cam.ov.com'. 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 (OpenVision Technologies, jik@cam.ov.com)
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 1998/01/08 20:46:19 37